api

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(client *golangsdk.ServiceClient, gatewayID, envID string) (err error)

Types

type ApiGroupInfo

type ApiGroupInfo struct {
	ID           string       `json:"id"`
	Name         string       `json:"name"`
	Status       int          `json:"status"`
	SlDomain     string       `json:"sl_domain"`
	RegisterTime string       `json:"register_time"`
	UpdateTime   string       `json:"update_time"`
	OnSellStatus int          `json:"on_sell_status"`
	UrlDomains   []UrlDomains `json:"url_domains"`
}

type ApiResp

type ApiResp struct {
	GroupID             string            `json:"group_id"`
	Name                string            `json:"name"`
	Type                int               `json:"type"`
	Version             string            `json:"version"`
	ReqProtocol         string            `json:"req_protocol"`
	ReqMethod           string            `json:"req_method"`
	ReqUri              string            `json:"req_uri"`
	AuthType            string            `json:"auth_type"`
	AuthOpt             *AuthOpt          `json:"auth_opt"`
	Cors                bool              `json:"cors"`
	MatchMode           string            `json:"match_mode"`
	BackendType         string            `json:"backend_type"`
	Description         string            `json:"remark"`
	BodyDescription     string            `json:"body_remark"`
	ResultNormalSample  string            `json:"result_normal_sample"`
	ResultFailureSample string            `json:"result_failure_sample"`
	AuthorizerID        string            `json:"authorizer_id"`
	Tags                []string          `json:"tags"`
	ResponseID          string            `json:"response_id"`
	RomaAppId           string            `json:"roma_app_id"`
	RomaAppName         string            `json:"roma_app_name"`
	DomainName          string            `json:"domain_name"`
	ContentType         string            `json:"content_type"`
	ID                  string            `json:"id"`
	Status              int               `json:"status"`
	ArrangeNecessary    int               `json:"arrange_necessary"`
	RegisterTime        string            `json:"register_time"`
	UpdateTime          string            `json:"update_time"`
	GroupName           string            `json:"group_name"`
	GroupVersion        string            `json:"group_version"`
	RunEnvId            string            `json:"run_env_id"`
	RunEnvName          string            `json:"run_env_name"`
	PublishID           string            `json:"publish_id"`
	PublishTime         string            `json:"publish_time"`
	CustomApiId         string            `json:"ld_api_id"`
	BackendApi          *BackendApi       `json:"backend_api"`
	ApiGroupInfo        *ApiGroupInfo     `json:"api_group_info"`
	FuncInfo            *FuncInfo         `json:"func_info"`
	MockInfo            *MockInfo         `json:"mock_info"`
	ReqParams           []ReqParams       `json:"req_params"`
	BackendParams       []BackendParams   `json:"backend_params"`
	PolicyMocks         []PolicyMocks     `json:"policy_mocks"`
	PolicyFunctions     []PolicyFunctions `json:"policy_functions"`
	PolicyHttps         []PolicyHttps     `json:"policy_https"`
}

func Create

func Create(client *golangsdk.ServiceClient, opts CreateOpts) (*ApiResp, error)

func ExtractEnvs

func ExtractEnvs(r pagination.NewPage) ([]ApiResp, error)

func Get

func Get(client *golangsdk.ServiceClient, gatewayID, apiID string) (*ApiResp, error)

func List

func List(client *golangsdk.ServiceClient, opts ListOpts) ([]ApiResp, error)

func Update

func Update(client *golangsdk.ServiceClient, apiID string, opts CreateOpts) (*ApiResp, error)

type AuthOpt

type AuthOpt struct {
	AppCodeAuthType string `json:"app_code_auth_type" required:"true"`
}

type BackendApi

type BackendApi struct {
	AuthorizerID     string          `json:"authorizer_id,omitempty"`
	UrlDomain        string          `json:"url_domain,omitempty"`
	ReqProtocol      string          `json:"req_protocol" required:"true"`
	Description      string          `json:"remark,omitempty"`
	ReqMethod        string          `json:"req_method" required:"true"`
	Version          string          `json:"version,omitempty"`
	ReqUri           string          `json:"req_uri" required:"true"`
	Timeout          int             `json:"timeout" required:"true"`
	EnableClientSSL  *bool           `json:"enable_client_ssl,omitempty"`
	RetryCount       string          `json:"retry_count,omitempty"`
	VpcChannelInfo   *VpcChannelInfo `json:"vpc_channel_info,omitempty"`
	VpcChannelStatus *int            `json:"vpc_channel_status,omitempty"`
}

type BackendParams

type BackendParams struct {
	Origin      string `json:"origin" required:"true"`
	Name        string `json:"name" required:"true"`
	Description string `json:"remark,omitempty"`
	Location    string `json:"location" required:"true"`
	Value       string `json:"value" required:"true"`
}

type Conditions

type Conditions struct {
	ReqParamName    string `json:"req_param_name,omitempty"`
	ConditionType   string `json:"condition_type,omitempty"`
	ConditionOrigin string `json:"condition_origin" required:"true"`
	ConditionValue  string `json:"condition_value" required:"true"`
}

type CreateOpts

type CreateOpts struct {
	GatewayID           string            `json:"-"`
	GroupID             string            `json:"group_id" required:"true"`
	Name                string            `json:"name" required:"true"`
	Type                int               `json:"type" required:"true"`
	Version             string            `json:"version,omitempty"`
	ReqProtocol         string            `json:"req_protocol" required:"true"`
	ReqMethod           string            `json:"req_method" required:"true"`
	ReqUri              string            `json:"req_uri" required:"true"`
	AuthType            string            `json:"auth_type" required:"true"`
	AuthOpt             *AuthOpt          `json:"auth_opt,omitempty"`
	Cors                bool              `json:"cors,omitempty"`
	MatchMode           string            `json:"match_mode,omitempty"`
	BackendType         string            `json:"backend_type" required:"true"`
	Description         string            `json:"remark,omitempty"`
	BodyDescription     string            `json:"body_remark,omitempty"`
	ResultNormalSample  string            `json:"result_normal_sample,omitempty"`
	ResultFailureSample string            `json:"result_failure_sample,omitempty"`
	AuthorizerID        string            `json:"authorizer_id,omitempty"`
	Tags                []string          `json:"tags,omitempty"`
	RomaAppId           string            `json:"roma_app_id,omitempty"`
	DomainName          string            `json:"domain_name,omitempty"`
	ResponseID          string            `json:"response_id,omitempty"`
	ContentType         string            `json:"content_type,omitempty"`
	MockInfo            *MockInfo         `json:"mock_info,omitempty"`
	FuncInfo            *FuncInfo         `json:"func_info,omitempty"`
	ReqParams           []ReqParams       `json:"req_params,omitempty"`
	BackendParams       []BackendParams   `json:"backend_params,omitempty"`
	PolicyMocks         []PolicyMocks     `json:"policy_mocks,omitempty"`
	PolicyFunctions     []PolicyFunctions `json:"policy_functions,omitempty"`
	BackendApi          *BackendApi       `json:"backend_api,omitempty"`
	PolicyHttps         []PolicyHttps     `json:"policy_https,omitempty"`
}

type EnvPage

type EnvPage struct {
	pagination.NewSinglePageBase
}

type FuncInfo

type FuncInfo struct {
	FunctionUrn    string `json:"function_urn" required:"true"`
	Description    string `json:"remark,omitempty"`
	InvocationType string `json:"invocation_type" required:"true"`
	NetworkType    string `json:"network_type" required:"true"`
	Version        string `json:"version,omitempty"`
	AliasUrn       string `json:"alias_urn,omitempty"`
	Timeout        int    `json:"timeout" required:"true"`
	AuthorizerID   string `json:"authorizer_id,omitempty"`
}

type ListHistoryOpts added in v0.9.3

type ListHistoryOpts struct {
	Offset  int64  `q:"offset"`
	Limit   int    `q:"limit"`
	EnvID   string `q:"env_id"`
	EnvName string `q:"env_name"`
}

type ListOpts

type ListOpts struct {
	GatewayID     string `json:"-"`
	ID            string `json:"id"`
	GroupID       string `q:"group_id"`
	ReqProtocol   string `q:"req_protocol"`
	ReqMethod     string `q:"req_method"`
	ReqUri        string `q:"req_uri"`
	AuthType      string `q:"auth_type"`
	PreciseSearch string `q:"precise_search"`
	EnvID         string `q:"env_id"`
	Type          int    `q:"type"`
	Name          string `q:"name"`
}

type ManageApiResp

type ManageApiResp struct {
	PublishID   string `json:"publish_id"`
	ApiID       string `json:"api_id"`
	ApiName     string `json:"api_name"`
	EnvID       string `json:"env_id"`
	Description string `json:"remark"`
	VersionID   string `json:"version_id"`
	PublishTime string `json:"publish_time"`
}

func ManageApi

func ManageApi(client *golangsdk.ServiceClient, opts ManageOpts) (*ManageApiResp, error)

func SwitchVersion added in v0.9.3

func SwitchVersion(client *golangsdk.ServiceClient, opts VersionApiOpts) (*ManageApiResp, error)

type ManageOpts

type ManageOpts struct {
	GatewayID   string `json:"-"`
	Action      string `json:"action" required:"true"`
	EnvID       string `json:"env_id" required:"true"`
	ApiID       string `json:"api_id" required:"true"`
	Description string `json:"remark,omitempty"`
}

type MockInfo

type MockInfo struct {
	Description  string `json:"remark,omitempty"`
	Response     string `json:"result_content,omitempty"`
	Version      string `json:"version,omitempty"`
	AuthorizerID string `json:"authorizer_id,omitempty"`
}

type PolicyFunctions

type PolicyFunctions struct {
	FunctionUrn    string          `json:"function_urn" required:"true"`
	InvocationType string          `json:"invocation_type" required:"true"`
	NetworkType    string          `json:"network_type" required:"true"`
	Version        string          `json:"version,omitempty"`
	AliasUrn       string          `json:"alias_urn,omitempty"`
	Timeout        int             `json:"timeout,omitempty"`
	EffectMode     string          `json:"effect_mode" required:"true"`
	Name           string          `json:"name" required:"true"`
	BackendParams  []BackendParams `json:"backend_params,omitempty"`
	Conditions     []Conditions    `json:"conditions" required:"true"`
	AuthorizerID   string          `json:"authorizer_id,omitempty"`
}

type PolicyHttps

type PolicyHttps struct {
	UrlDomain        string          `json:"url_domain,omitempty"`
	ReqProtocol      string          `json:"req_protocol" required:"true"`
	ReqMethod        string          `json:"req_method" required:"true"`
	ReqUri           string          `json:"req_uri" required:"true"`
	Timeout          *int            `json:"timeout,omitempty"`
	RetryCount       string          `json:"retry_count,omitempty"`
	EffectMode       string          `json:"effect_mode" required:"true"`
	Name             string          `json:"name" required:"true"`
	BackendParams    []BackendParams `json:"backend_params,omitempty"`
	Conditions       []Conditions    `json:"conditions" required:"true"`
	AuthorizerID     string          `json:"authorizer_id,omitempty"`
	VpcChannelInfo   *VpcChannelInfo `json:"vpc_channel_info,omitempty"`
	VpcChannelStatus *int            `json:"vpc_channel_status,omitempty"`
}

type PolicyMocks

type PolicyMocks struct {
	Response      string          `json:"result_content,omitempty"`
	EffectMode    string          `json:"effect_mode" required:"true"`
	Name          string          `json:"name" required:"true"`
	BackendParams []BackendParams `json:"backend_params,omitempty"`
	Conditions    []Conditions    `json:"conditions" required:"true"`
	AuthorizerID  string          `json:"authorizer_id,omitempty"`
}

type ReqParams

type ReqParams struct {
	Name         string `json:"name" required:"true"`
	Type         string `json:"type" required:"true"`
	Location     string `json:"location" required:"true"`
	DefaultValue string `json:"default_value,omitempty"`
	SampleValue  string `json:"sample_value,omitempty"`
	Required     *int   `json:"required,omitempty"`
	ValidEnable  *int   `json:"valid_enable,omitempty"`
	Description  string `json:"remark,omitempty"`
	Enumerations string `json:"enumerations,omitempty"`
	MinNum       *int   `json:"min_num,omitempty"`
	MaxNum       *int   `json:"max_num,omitempty"`
	MinSize      *int   `json:"min_size,omitempty"`
	MaxSize      *int   `json:"max_size,omitempty"`
	PassThrough  *int   `json:"pass_through,omitempty"`
	Regular      string `json:"regular,omitempty"`
	JsonSchema   string `json:"json_schema,omitempty"`
}

type UrlDomains

type UrlDomains struct {
	ID                  string `json:"id"`
	Domain              string `json:"domain"`
	CnameStatus         int    `json:"cname_status"`
	SslID               string `json:"ssl_id"`
	SslName             string `json:"ssl_name"`
	MinSslVersion       string `json:"min_ssl_version"`
	VfClientCertEnabled bool   `json:"verified_client_certificate_enabled"`
	HasTrustedCa        bool   `json:"is_has_trusted_root_ca"`
}

type VersionApiOpts added in v0.9.3

type VersionApiOpts struct {
	GatewayID string `json:"-"`
	ApiID     string `json:"-"`
	VersionID string `json:"version_id" required:"true"`
}

type VersionPage added in v0.9.3

type VersionPage struct {
	pagination.NewSinglePageBase
}

type VersionResp added in v0.9.3

type VersionResp struct {
	VersionID   string `json:"version_id"`
	Version     string `json:"version_no"`
	ApiID       string `json:"api_id"`
	EnvID       string `json:"env_id"`
	EnvName     string `json:"env_name"`
	Description string `json:"remark"`
	PublishTime string `json:"publish_time"`
	Status      int    `json:"status"`
}

func ExtractVersions added in v0.9.3

func ExtractVersions(r pagination.NewPage) ([]VersionResp, error)

func GetHistory added in v0.9.3

func GetHistory(client *golangsdk.ServiceClient, gatewayID, apiID string, opts ListHistoryOpts) ([]VersionResp, error)

type VpcChannelInfo

type VpcChannelInfo struct {
	VpcChannelProxyHost string `json:"vpc_channel_proxy_host,omitempty"`
	VpcChannelID        string `json:"vpc_channel_id" required:"true"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL