Documentation ¶
Index ¶
- func DisableElbIngressAccess(client *golangsdk.ServiceClient, instanceId string) error
- func GetTags(c *golangsdk.ServiceClient, instanceId string) ([]tags.ResourceTag, error)
- func List(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func UpdateTags(c *golangsdk.ServiceClient, opts *TagsUpdateOpts) error
- type BaseInstance
- type CbcOperationLock
- type CreateOpts
- type CreateOptsBuilder
- type CreateResp
- type CreateResult
- type DeleteResult
- type DisableEgressResult
- type DisableIngressResult
- type Egress
- type EgressAccessOpts
- type EgressAccessOptsBuilder
- type EgressResult
- type ElbIngressAccessOpts
- type EnableEgressResult
- type EnableElbIngressResp
- type EnableIngressResult
- type EndpointService
- type Feature
- type FeatureOpts
- type FeaturePage
- type GetResult
- type Ingress
- type IngressAccessOpts
- type IngressAccessOptsBuilder
- type Instance
- type InstancePage
- type IpDetail
- type ListFeaturesOpts
- type ListOpts
- type ListOptsBuilder
- type NodeIp
- type TagsUpdateOpts
- type UdpateEgressResult
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DisableElbIngressAccess ¶
func DisableElbIngressAccess(client *golangsdk.ServiceClient, instanceId string) error
DisableElbIngressAccess is a method to unbind the ingress eip associated with an existing APIG dedicated instance. Supported only when loadbalancer_provider is set to elb.
func GetTags ¶
func GetTags(c *golangsdk.ServiceClient, instanceId string) ([]tags.ResourceTag, error)
GetTags is a method used to obtain the list of instance tags.
func List ¶
func List(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
List is a method to obtain an array of one or more APIG dedicated instance according to the query parameters.
func UpdateTags ¶
func UpdateTags(c *golangsdk.ServiceClient, opts *TagsUpdateOpts) error
UpdateTags
Types ¶
type BaseInstance ¶
type BaseInstance struct { // Instance ID. Id string `json:"id"` // Project ID ProjectId string `json:"project_id"` // Instance name. Name string `json:"instance_name"` // Instance status. The value are as following: // Creating, CreateSuccess, CreateFail, Initing, Registering, Running, InitingFailed, RegisterFailed, Installing // InstallFailed, Updating, UpdateFailed, Rollbacking, RollbackSuccess, RollbackFailed, Deleting, DeleteFailed // Unregistering, UnRegisterFailed, CreateTimeout, InitTimeout, RegisterTimeout, InstallTimeout, UpdateTimeout // RollbackTimeout, DeleteTimeout, UnregisterTimeout, Starting, Freezing, Frozen, Restarting, RestartFail // Unhealthy, RestartTimeout // Ditto: Issue of status 'Deleting'. --2021/06/15 Status string `json:"status"` // Instance status ID. // 1:Creating, 2:CreateSuccess, 3:CreateFail, 4:Initing, 5:Registering, 6:Running, 7:InitingFailed // 8:RegisterFailed, 10:Installing, 11:InstallFailed, 12:Updating, 13:UpdateFailed, 20:Rollbacking // 21:RollbackSuccess, 22:RollbackFailed, 23:Deleting, 24:DeleteFailed, 25:Unregistering, 26:UnRegisterFailed // 27:CreateTimeout, 28:InitTimeout, 29:RegisterTimeout, 30:InstallTimeout, 31:UpdateTimeout // 32:RollbackTimeout, 33:DeleteTimeout, 34:UnregisterTimeout, 35:Starting, 36:Freezing, 37:Frozen, 38:Restarting // 39:RestartFail, 40:Unhealthy, 41:RestartTimeout // Ditto: Issue of status id 23 (Deleting). --2021/06/15 StatusId int `json:"instance_status"` // Instance type. Type string `json:"type"` // Instance edition. Edition string `json:"spec"` // Time when the APIG dedicated instance is created, in Unix timestamp format. CreateTimestamp int64 `json:"create_time"` // Enterprise project ID. EnterpriseProjectId string `json:"enterprise_project_id"` // EIP bound to the APIG dedicated instance. Ipv4Address string `json:"eip_address"` // Billing mode of the APIG dedicated instance. // 0:Pay per use // 1:Pay per use ChargeMode int `json:"charging_mode"` // Yearly/Monthly subscription order ID. CbcMetadata string `json:"cbc_metadata"` }
func ExtractInstances ¶
func ExtractInstances(r pagination.Page) ([]BaseInstance, error)
Call its Extract method to interpret it as a BaseInstance array.
type CbcOperationLock ¶
type CbcOperationLock struct { // Restricted operation scenarios: // + TO_PERIOD_LOCK: On-demand subcontracting period scene lock, which does not allow deletion, specification // changes, on-demand subcontracting periods, etc. // + SPEC_CHG_LOCK: Package cycle specification change scene lock, which does not allow deletion, specification // change, etc. LockScene string `json:"lock_scene"` // The ID of the object that initiated the restriction operation. LockSourceId string `json:"lock_source_id"` }
CbcOperationLock is the structure that represents the restricted operation lock for CBC service.
type CreateOpts ¶
type CreateOpts struct { // Name of the APIG dedicated instance. The name can contains of 3 to 64 characters. Name string `json:"instance_name" required:"true"` // Edition of the APIG dedicated instance. Currently, the editions are support: // (IPv4): BASIC, PROFESSIONAL, ENTERPRISE, PLATINUM // (IPv6): BASIC_IPV6, PROFESSIONAL_IPV6, ENTERPRISE_IPV6, PLATINUM_IPV6 Edition string `json:"spec_id" required:"true"` // VPC ID. VpcId string `json:"vpc_id" required:"true"` // Subnet network ID. SubnetId string `json:"subnet_id" required:"true"` // ID of the security group to which the APIG dedicated instance belongs to. SecurityGroupId string `json:"security_group_id" required:"true"` // ID of the APIG dedicated instance, which will be automatically generated if you do not specify this parameter. Id string `json:"instance_id,omitempty"` // Description about the APIG dedicated instance. Description string `json:"description,omitempty"` // Start time of the maintenance time window in the format "xx:00:00". // The value of xx can be 02, 06, 10, 14, 18, or 22. MaintainBegin string `json:"maintain_begin,omitempty"` // End time of the maintenance time window in the format "xx:00:00". // There is a 4-hour difference between the start time and end time. MaintainEnd string `json:"maintain_end,omitempty"` // EIP ID. EipId string `json:"eip_id,omitempty"` // Outbound access bandwidth. This parameter is required if public outbound access is enabled for the APIG // dedicated instance. // Zero means turn off the egress access. BandwidthSize int `json:"bandwidth_size"` // Billing type of the public outbound access bandwidth. This parameter is required if public outbound access is enabled for the gateway. // + bandwidth: billed by bandwidth // + traffic: billed by traffic // Defaults to bandwidth. BandwidthChargingMode string `json:"bandwidth_charging_mode,omitempty"` // Enterprise project ID. This parameter is required if you are using an enterprise account. EnterpriseProjectId string `json:"enterprise_project_id,omitempty"` // AZs. AvailableZoneIds []string `json:"available_zone_ids,omitempty"` // Whether public access with an IPv6 address is supported. Ipv6Enable bool `json:"ipv6_enable,omitempty"` // The type of load balancer used by the instance. // The valid values are as follows: // + lvs: Linux virtual server // + elb: Elastic load balance LoadbalancerProvider string `json:"loadbalancer_provider,omitempty"` // Tags // A maximum of 20 tags can be created for a gateway. Tags []tags.ResourceTag `json:"tags,omitempty"` // Name of the VPC endpoint service. // It can contain a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-). // If this parameter is not specified, the system automatically generates a name in the // "{region}.apig.{service_id}" format. If this parameter is specified, the system automatically generates a name // in the "{region}.{vpcep_service_name}.{service_id}" format. // After the gateway is created, you can modify this name on the Gateways > VPC Endpoints page. VpcepServiceName string `json:"vpcep_service_name,omitempty"` // Public inbound access bandwidth. // This parameter is required if public inbound access is enabled for the gateway and loadbalancer_provider is set // to elb. After you bind an EIP to the gateway, users can access APIs in the gateway from public networks using // the EIP. // Defaults to 5. IngressBandwithSize int `json:"ingress_bandwidth_size,omitempty"` // Billing type of the public inbound access bandwidth. // This parameter is required if public inbound access is enabled for the gateway and loadbalancer_provider is set // to elb. // + bandwidth: billed by bandwidth // + traffic: billed by traffic IngressBandwithChargingMode string `json:"ingress_bandwidth_charging_mode,omitempty"` }
CreateOpts allows to create an APIG dedicated instance using given parameters.
func (CreateOpts) ToInstanceCreateMap ¶
func (opts CreateOpts) ToInstanceCreateMap() (map[string]interface{}, error)
type CreateOptsBuilder ¶
type CreateResp ¶
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a create operation.
func Create ¶
func Create(client *golangsdk.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create is a method by which to create function that create a APIG dedicated instance.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*CreateResp, error)
Call its Extract method to interpret it as a Instance Id.
type DeleteResult ¶
DeleteResult represents the result of a Delete operation.
func Delete ¶
func Delete(client *golangsdk.ServiceClient, id string) (r DeleteResult)
Delete is a method to delete an existing APIG dedicated instance
type DisableEgressResult ¶
DisableEgressResult represents the result of a DisableEgressAccess operation.
func DisableEgressAccess ¶
func DisableEgressAccess(client *golangsdk.ServiceClient, id string) (r DisableEgressResult)
DisableEgressAccess is a method by which to disable the egress access of an existing APIG dedicated instance.
type DisableIngressResult ¶
DisableIngressResult represents the result of a DisableIngressAccess operation.
func DisableIngressAccess ¶
func DisableIngressAccess(client *golangsdk.ServiceClient, id string) (r DisableIngressResult)
DisableIngressAccess is a method to unbind the eip associated with an existing APIG dedicated instance.
type Egress ¶
type Egress struct { Id string `json:"id"` CloudEipId string `json:"cloudEipId"` CloudEipAddress string `json:"cloudEipAddress"` InstanceId string `json:"instanceId"` CloudBandwidthId string `json:"cloudBandwidthId"` BandwidthName string `json:"bandwidthName"` BandwidthSize int `json:"bandwidthSize"` }
type EgressAccessOpts ¶
type EgressAccessOpts struct { // Outbound access bandwidth, in Mbit/s. BandwidthSize string `json:"bandwidth_size,omitempty"` }
EgressAccessOpts allows the bandwidth size of an existing APIG dedicated instance to be updated with the given parameters.
func (EgressAccessOpts) ToEgressAccessMap ¶
func (opts EgressAccessOpts) ToEgressAccessMap() (map[string]interface{}, error)
type EgressAccessOptsBuilder ¶
type EgressResult ¶
type ElbIngressAccessOpts ¶
type ElbIngressAccessOpts struct { // The APIG dedicated instance ID. InstanceId string `json:"-"` // Public inbound access bandwidth. IngressBandwithSize int `json:"bandwidth_size" required:"true"` // Billing type of the public inbound access bandwidth. // + bandwidth: billed by bandwidth. // + traffic: billed by traffic. IngressBandwithChargingMode string `json:"bandwidth_charging_mode" required:"true"` }
ElbIngressAccessOpts is the structure that used to bind ingress EIP to instance when loadbalancer_provider is set to elb.
type EnableEgressResult ¶
EnableEgressResult represents the result of a EnableEgressAccess operation.
func EnableEgressAccess ¶
func EnableEgressAccess(client *golangsdk.ServiceClient, id string, opts EgressAccessOptsBuilder) (r EnableEgressResult)
EnableEgressAccess is a method by which to enable the egress access of an existing APIG dedicated instance.
func (EnableEgressResult) Extract ¶
func (r EnableEgressResult) Extract() (*Egress, error)
Extract is a method to interpret the response body as an Egress.
type EnableElbIngressResp ¶
type EnableElbIngressResp struct { // ID of the APIG dedicated instance. Instance_id string `json:"instance_id"` // Task information of binding the ingress EIP. Message string `json:"message"` // Job ID of binding the ingress EIP. JobId string `json:"job_id"` }
func EnableElbIngressAccess ¶
func EnableElbIngressAccess(client *golangsdk.ServiceClient, opts ElbIngressAccessOpts) (*EnableElbIngressResp, error)
EnableElbIngressAccess is a method to bind the ingress eip associated with an existing APIG dedicated instance. Supported only when loadbalancer_provider is set to elb.
type EnableIngressResult ¶
type EnableIngressResult struct {
// contains filtered or unexported fields
}
EnableIngressResult represents the result of a EnableIngressAccess operation.
func EnableIngressAccess ¶
func EnableIngressAccess(client *golangsdk.ServiceClient, id string, opts IngressAccessOptsBuilder) (r EnableIngressResult)
UpdateIngressAccess is a method to bind and update the eip associated with an existing APIG dedicated instance.
func (EnableIngressResult) Extract ¶
func (r EnableIngressResult) Extract() (*Ingress, error)
Call its Extract method to interpret it as a Ingress.
type EndpointService ¶
type Feature ¶
type Feature struct { // Feature ID. ID string `json:"id"` // Feature name. Name string `json:"name"` // Whether to enable the feature. Enable bool `json:"enable"` // Parameter configuration. Config string `json:"config"` // Dedicated APIG instance ID. InstanceId string `json:"instance_id"` // Feature update time. UpdatedAt string `json:"update_time"` }
Feature represents the result of a feature configuration.
func ExtractFeatures ¶
func ExtractFeatures(r pagination.Page) ([]Feature, error)
ExtractFeatures is a method to extract the list of feature configuration details for APIG instance.
func ListFeatures ¶
func ListFeatures(c *golangsdk.ServiceClient, instanceId string, opts ListFeaturesOpts) ([]Feature, error)
ListFeatures is a method used to obtain the list of feature configuration details.
func UpdateFeature ¶
func UpdateFeature(c *golangsdk.ServiceClient, instanceId string, opts FeatureOpts) (*Feature, error)
UpdateFeature is a method used to update the feature configuration.
type FeatureOpts ¶
type FeatureOpts struct { // Feature name. Name string `json:"name" required:"true"` // Whether to enable the feature. Enable *bool `json:"enable" required:"true"` // Parameter configuration. Config string `json:"config,omitempty"` }
FeatureOpts allows to update the dedicated APIG instance features.
type FeaturePage ¶
type FeaturePage struct {
pagination.OffsetPageBase
}
FeaturePage is a single page maximum result representing a query by offset page.
func (FeaturePage) IsEmpty ¶
func (b FeaturePage) IsEmpty() (bool, error)
IsEmpty checks whether a FeaturePage struct is empty.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a Get operation.
type IngressAccessOpts ¶
type IngressAccessOpts struct { // EIP ID EipId string `json:"eip_id,omitempty"` }
IngressAccessOpts allows binding and updating the eip associated with an existing APIG dedicated instance with the given parameters.
func (IngressAccessOpts) ToEnableIngressAccessMap ¶
func (opts IngressAccessOpts) ToEnableIngressAccessMap() (map[string]interface{}, error)
type Instance ¶
type Instance struct { // Instance ID. Id string `json:"id"` // Project ID. ProjectId string `json:"project_id"` // Instance name. Name string `json:"instance_name"` // Instance status. The value are as following: // Creating, CreateSuccess, CreateFail, Initing, Registering, Running, InitingFailed, RegisterFailed, Installing // InstallFailed, Updating, UpdateFailed, Rollbacking, RollbackSuccess, RollbackFailed, Deleting, DeleteFailed // Unregistering, UnRegisterFailed, CreateTimeout, InitTimeout, RegisterTimeout, InstallTimeout, UpdateTimeout // RollbackTimeout, DeleteTimeout, UnregisterTimeout, Starting, Freezing, Frozen, Restarting, RestartFail // Unhealthy, RestartTimeout // The status 'Deleting' is not supported, it's a BUG. --2021/06/15 Status string `json:"status"` // Instance status ID. // 1:Creating, 2:CreateSuccess, 3:CreateFail, 4:Initing, 5:Registering, 6:Running, 7:InitingFailed // 8:RegisterFailed, 10:Installing, 11:InstallFailed, 12:Updating, 13:UpdateFailed, 20:Rollbacking // 21:RollbackSuccess, 22:RollbackFailed, 23:Deleting, 24:DeleteFailed, 25:Unregistering, 26:UnRegisterFailed // 27:CreateTimeout, 28:InitTimeout, 29:RegisterTimeout, 30:InstallTimeout, 31:UpdateTimeout // 32:RollbackTimeout, 33:DeleteTimeout, 34:UnregisterTimeout, 35:Starting, 36:Freezing, 37:Frozen, 38:Restarting // 39:RestartFail, 40:Unhealthy, 41:RestartTimeout // Ditto: Issue of status id 23 (Deleting). --2021/06/15 StatusId int `json:"instance_status"` // Instance type. Type string `json:"type"` // Instance edition. Edition string `json:"spec"` // Time when the APIG dedicated instance is created, in Unix timestamp format. CreateTimestamp int64 `json:"create_time"` // Enterprise project ID. EnterpriseProjectId string `json:"enterprise_project_id"` // Billing mode of the APIG dedicated instance. // 0:Pay per use // 1:Pay per use ChargeMode int `json:"charging_mode"` // Yearly/Monthly subscription order ID. CbcMetadata string `json:"cbc_metadata"` // The type of load balancer used by the instance. // The valid values are as follows: // + lvs: Linux virtual server // + elb: Elastic load balance LoadbalancerProvider string `json:"loadbalancer_provider"` // The operation locks of the CBC serivce. CbcOperationLocks []CbcOperationLock `json:"cbc_operation_locks"` // Description about the APIG dedicated instance. Description string `json:"description"` // VPC ID. VpcId string `json:"vpc_id"` // Subnet network ID. SubnetId string `json:"subnet_id"` // ID of the security group to which the APIG dedicated instance belongs to. SecurityGroupId string `json:"security_group_id"` // Start time of the maintenance time window in the format "xx:00:00". MaintainBegin string `json:"maintain_begin"` // End time of the maintenance time window in the format "xx:00:00". MaintainEnd string `json:"maintain_end"` // VPC ingress private address. Ipv4VpcIngressAddress string `json:"ingress_ip"` // VPC ingress private address (IPv6). Ipv6VpcIngressAddress string `json:"ingress_ip_v6"` // ID of the account to which the APIG dedicated instance belongs. UserId string `json:"user_id"` // EIP bound to the APIG dedicated instance. Ipv4IngressEipAddress string `json:"eip_address"` // EIP (IPv6). Ipv6IngressEipAddress string `json:"eip_ipv6_address"` // Public egress address (IPv6). Ipv6EgressCidr string `json:"nat_eip_ipv6_cidr"` // IP address for public outbound access. Ipv4EgressAddress string `json:"nat_eip_address"` // Outbound access bandwidth. BandwidthSize int `json:"bandwidth_size"` // Billing type of the public inbound access bandwidth. BandwidthChargingMode string `json:"bandwidth_charging_mode"` // AZs. AvailableZoneIds string `json:"available_zone_ids"` // Instance version. Version string `json:"instance_version"` // Supported features. SupportedFeatures []string `json:"supported_features"` // THe list of endpoint service. EndpointServices []EndpointService `json:"endpoint_services"` // The IP of the serivce node. NodeIp NodeIp `json:"node_ips"` // The ingress address list of public network. PublicIps []IpDetail `json:"publicips"` // The ingress address list of private network. PrivateIps []IpDetail `json:"privateips"` // Whether the gateway can be released. // + true: The gateway can be released. // + false: The gateway cannot be released. IsReleasable bool `json:"is_releasable"` // Billing mode of the public inbound access bandwidth. IngressBandwidthChargingMode string `json:"ingress_bandwidth_charging_mode"` }
type InstancePage ¶
type InstancePage struct {
pagination.SinglePageBase
}
InstancePage represents the result of a List operation.
type ListFeaturesOpts ¶
type ListOpts ¶
type ListOpts struct { // ID of the APIG dedicated instance. Id string `q:"instance_id"` // Name of the APIG dedicated instance. Name string `q:"instance_name"` // Instance status. Status string `q:"status"` // Offset from which the query starts. // If the offset is less than 0, the value is automatically converted to 0. Default to 0. Offset int `q:"offset"` // Number of items displayed on each page. Limit int `q:"limit"` }
ListOpts allows to filter list data using given parameters.
func (ListOpts) ToInstanceListQuery ¶
type ListOptsBuilder ¶
type TagsUpdateOpts ¶
type TagsUpdateOpts struct { // Dedicated instance ID. InstanceId string `json:"-" required:"true"` // Operation identification. // + create // + delete Action string `json:"action" required:"true"` // Tag list. // An instance supports the creation of up to 20 tags by default. Tags []tags.ResourceTag `json:"tags" required:"true"` }
TagsUpdateOpts is the structure used to modify instance tags.
type UdpateEgressResult ¶
UdpateEgressResult represents the result of a UpdateEgressBandwidth operation.
func UpdateEgressBandwidth ¶
func UpdateEgressBandwidth(client *golangsdk.ServiceClient, id string, opts EgressAccessOptsBuilder) (r UdpateEgressResult)
UpdateEgressBandwidth is a method by which to update the egress bandwidth size of an existing APIG dedicated instance.
func (UdpateEgressResult) Extract ¶
func (r UdpateEgressResult) Extract() (*Egress, error)
Extract is a method to interpret the response body or json string as an Egress.
type UpdateOpts ¶
type UpdateOpts struct { // Description about the APIG dedicated instance. Description *string `json:"description,omitempty"` // Start time of the maintenance time window in the format "xx:00:00". // The value of xx can be 02, 06, 10, 14, 18, or 22. MaintainBegin string `json:"maintain_begin,omitempty"` // End time of the maintenance time window in the format "xx:00:00". // There is a 4-hour difference between the start time and end time. MaintainEnd string `json:"maintain_end,omitempty"` // Description about the APIG dedicated instance. Name string `json:"instance_name,omitempty"` // ID of the security group to which the APIG dedicated instance belongs to. SecurityGroupId string `json:"security_group_id,omitempty"` // Name of the VPC endpoint service. // It can contain a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-). // If this parameter is not specified, the system automatically generates a name in the // "{region}.apig.{service_id}" format. If this parameter is specified, the system automatically generates a name // in the "{region}.{vpcep_service_name}.{service_id}" format. VpcepServiceName string `json:"vpcep_service_name,omitempty"` }
UpdateOpts allows to update an existing APIG dedicated instance using given parameters.
func (UpdateOpts) ToInstanceUpdateMap ¶
func (opts UpdateOpts) ToInstanceUpdateMap() (map[string]interface{}, error)
type UpdateOptsBuilder ¶
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult represents the result of a Update operation.
func Update ¶
func Update(client *golangsdk.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update is a method by which to update an existing APIG dedicated instance.