Documentation
¶
Index ¶
- Constants
- func List(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func ListPublic(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func WaitForServiceStatus(client *golangsdk.ServiceClient, id string, status Status, timeout int) error
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type ErrorParameters
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type PortMapping
- type PublicService
- type ServerType
- type Service
- type ServicePage
- type ServiceType
- type Status
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
View Source
const ( StatusCreating Status = "creating" StatusAvailable Status = "available" StatusFailed Status = "failed" StatusDeleting Status = "deleting" StatusDeleted Status = "" // this is a special status for missing LB ServerTypeVM ServerType = "VM" ServerTypeVIP ServerType = "VIP" ServerTypeLB ServerType = "LB" ServiceTypeInterface ServiceType = "interface" ServiceTypeGateway ServiceType = "gateway" )
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
func ListPublic ¶
func ListPublic(client *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
func WaitForServiceStatus ¶
Types ¶
type CreateOpts ¶
type CreateOpts struct {
// Specifies the ID for identifying the backend resource of the VPC endpoint service.
// The ID is in the form of the UUID.
PortID string `json:"port_id" required:"true"`
// Specifies the ID of the cluster associated with the target VPCEP resource.
PoolID string `json:"pool_id,omitempty"`
// Specifies the ID of the virtual NIC to which the virtual IP address is bound.
VIPPortID string `json:"vip_port_id,omitempty"`
// Specifies the name of the VPC endpoint service.
// The value contains a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-).
//
// If you do not specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceId`.
// If you specify this parameter, the VPC endpoint service name is in the format: `regionName.serviceName.serviceId`.
ServiceName string `json:"service_name,omitempty"`
// Specifies the ID of the VPC (router) to which the backend resource of the VPC endpoint service belongs.
RouterID string `json:"vpc_id" required:"true"`
// Specifies whether connection approval is required.
// The default value is `true`.
ApprovalEnabled *bool `json:"approval_enabled,omitempty"`
// Specifies the type of the VPC endpoint service.
// Only your private services can be configured into interface VPC endpoint services.
ServiceType ServiceType `json:"service_type,omitempty"`
// Specifies the backend resource type.
// - `VM`: Resource is an ECS. Backend resources of this type serve as servers.
// - `VIP`: Resource is a virtual IP address that functions as a physical server hosting virtual resources.
// - `LB`: Resource is an enhanced load balancer.
ServerType ServerType `json:"server_type" required:"true"`
// Lists the port mappings opened to the VPC endpoint service.
Ports []PortMapping `json:"ports" required:"true"`
// Specifies whether the client IP address and port number or `marker_id` information is transmitted to the server.
//
// The values are as follows:
// close: indicates that the TOA and Proxy Protocol methods are neither used.
// toa_open: indicates that the TOA method is used.
// proxy_open: indicates that the Proxy Protocol method is used.
// open: indicates that the TOA and Proxy Protocol methods are both used.
// The default value is close.
TCPProxy string `json:"tcp_proxy,omitempty"`
// Lists the resource tags.
Tags []tags.ResourceTag `json:"tags,omitempty"`
}
func (CreateOpts) ToServiceCreateMap ¶
func (opts CreateOpts) ToServiceCreateMap() (map[string]interface{}, error)
type CreateOptsBuilder ¶
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
func Create ¶
func Create(client *golangsdk.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
type DeleteResult ¶
func Delete ¶
func Delete(client *golangsdk.ServiceClient, id string) (r DeleteResult)
type ErrorParameters ¶
type ListOpts ¶
type ListOpts struct {
// Specifies the name of the VPC endpoint service. The value is not case-sensitive and supports fuzzy match.
Name string `q:"endpoint_service_name"`
// Specifies the unique ID of the VPC endpoint service.
ID string `q:"id"`
// Specifies the status of the VPC endpoint service.
//
// creating: indicates the VPC endpoint service is being created.
// available: indicates the VPC endpoint service is connectable.
// failed: indicates the creation of the VPC endpoint service failed.
// deleting: indicates the VPC endpoint service is being deleted.
Status Status `q:"status"`
SortKey string `q:"sort_key"`
SortDir string `q:"sort_dir"`
}
func (ListOpts) ToServiceListQuery ¶
type ListOptsBuilder ¶
type PortMapping ¶
type PortMapping struct {
// Specifies the port for accessing the VPC endpoint.
ClientPort int `json:"client_port"`
// Specifies the port for accessing the VPC endpoint service.
ServerPort int `json:"server_port"`
// Specifies the protocol used in port mappings. The value can be TCP or UDP. The default value is TCP.
Protocol string `json:"protocol"`
}
type PublicService ¶ added in v0.5.3
type PublicService struct {
ID string `json:"id"`
Owner string `json:"owner"`
ServiceName string `json:"service_name"`
ServiceType ServiceType `json:"service_type"`
CreatedAt string `json:"created_at"`
IsCharge bool `json:"is_charge"`
}
func ExtractPublicServices ¶ added in v0.5.3
func ExtractPublicServices(p pagination.Page) ([]PublicService, error)
type ServerType ¶
type ServerType string
type Service ¶
type Service struct {
ID string `json:"id"`
PortID string `json:"port_id"`
VIPPortID string `json:"vip_port_id"`
ServiceName string `json:"service_name"`
ServiceType string `json:"service_type"`
ServerType ServerType `json:"server_type"`
RouterID string `json:"vpc_id"`
PoolID string `json:"pool_id"`
ApprovalEnabled bool `json:"approval_enabled"`
Status Status `json:"status"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
ProjectID string `json:"project_id"`
CIDRType string `json:"cidr_type"` // CIDRType returned only in Create
Ports []PortMapping `json:"ports"`
TCPProxy string `json:"tcp_proxy"`
Tags []tags.ResourceTag `json:"tags"`
// ConnectionCount is set in `Get` and `List` only
ConnectionCount int `json:"connection_count"`
// Error is set in `Get` and `List` only
Error []ErrorParameters `json:"error"`
}
func ExtractServices ¶
func ExtractServices(p pagination.Page) ([]Service, error)
type ServicePage ¶
type ServicePage struct {
pagination.OffsetPageBase
}
func (ServicePage) IsEmpty ¶
func (p ServicePage) IsEmpty() (bool, error)
type ServiceType ¶
type ServiceType string
type UpdateOpts ¶
type UpdateOpts struct {
ApprovalEnabled *bool `json:"approval_enabled,omitempty"`
ServiceName string `json:"service_name,omitempty"`
Ports []PortMapping `json:"ports,omitempty"`
PortID string `json:"port_id,omitempty"`
VIPPortID string `json:"vip_port_id,omitempty"`
}
func (UpdateOpts) ToServiceUpdateMap ¶
func (opts UpdateOpts) ToServiceUpdateMap() (map[string]interface{}, error)
type UpdateOptsBuilder ¶
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
func Update ¶
func Update(client *golangsdk.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Click to show internal directories.
Click to hide internal directories.