instance

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2025 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

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

Types

type CreateOpts

type CreateOpts struct {
	// Enterprise router name. The value can contain 1 to 64 characters, including letters, digits,
	// underscores (_), hyphens (-), and periods (.).
	Name string `json:"name" required:"true"`
	// Supplementary information about an enterprise router
	Description string `json:"description,omitempty"`
	// Enterprise router BGP ASN. Specify a dedicated ASN in the range of 64512-65534 or 4200000000-4294967294.
	// ASN can only be set during enterprise router creation.
	Asn float64 `json:"asn" required:"true"`
	// Default: postPaid
	ChargeMode string `json:"charge_mode,omitempty"`
	// Tag information
	Tags []tag.ResourceTag `json:"tags,omitempty"`
	//
	// Whether to enable the Default Route Table Propagation function.
	// The default value is false, indicating that the function is disabled.
	EnableDefaultPropagation *bool `json:"enable_default_propagation,omitempty"`
	// Whether to enable the Default Route Table Association function.
	EnableDefaultAssociation *bool `json:"enable_default_association,omitempty"`
	// AZs where the enterprise router is located
	AvailabilityZoneIDs []string `json:"availability_zone_ids" required:"true"`
	// Whether to enable Auto Accept Shared Attachments.
	AutoAcceptSharedAttachments *bool `json:"auto_accept_shared_attachments,omitempty"`
	// Enterprise router CIDR block. This parameter is not supported for now.
	CidrBlocks []string `json:"cidr_blocks,omitempty"`
}

type ListOpts

type ListOpts struct {
	// ID of the last enterprise router on the previous page. If this parameter is left blank, the first page is queried.
	// This parameter must be used together with limit.
	Marker string `q:"marker"`
	// Number of records on each page. Value range: 0 to 2000
	Limit int `q:"limit"`
	// Enterprise router status. Value options: pending, available, modifying, deleting, deleted, failed and freezed
	State []string `q:"state"`
	// Query by resource ID. Multiple resources can be queried at a time.
	ID []string `q:"id"`
	// Attachment resource IDs
	ResourceID []string `q:"resource_id"`
	// Keyword for sorting. The keyword can be id, name, or state. By default, id is used.
	SortKey []string `q:"sort_key"`
	//
	// Sorting order. There are two value options: asc (ascending order) and desc (descending order).
	SortDir []string `q:"sort_dir"`
}

type ListRouterInstanceResp

type ListRouterInstanceResp struct {
	// Enterprise routers
	Instances []RouterInstance `json:"instances"`
	// Request ID
	RequestID string `json:"request_id"`
	// Pagination query information
	PageInfo PageInfo `json:"page_info"`
}

func List

type PageInfo

type PageInfo struct {
	// Marker of the next page. The value is the resource UUID. If the value is empty, the resource is on the last page.
	NextMarker string `json:"next_marker"`
	// Number of resources in the list
	CurrentCount int `json:"current_count"`
}

type RouterInstance

type RouterInstance struct {
	// Enterprise router ID
	ID string `json:"id"`
	// Enterprise router name
	Name string `json:"name"`
	// Supplementary information about an enterprise router
	Description string `json:"description"`
	// Enterprise router status.
	State string `json:"state"`
	// Tag information
	Tags []tag.ResourceTag `json:"tags"`
	// Default: postPaid
	ChargeMode string `json:"charge_mode"`
	// Creation time in the format YYYY-MM-DDTHH:mm:ss.sssZ
	CreatedAt string `json:"created_at"`
	// Update time in the format YYYY-MM-DDTHH:mm:ss.sssZ
	UpdatedAt string `json:"updated_at"`
	// Project ID
	ProjectID string `json:"project_id"`
	// Enterprise router BGP ASN
	Asn float64 `json:"asn"`
	// Whether to enable the Default Route Table Propagation function.
	EnableDefaultPropagation bool `json:"enable_default_propagation"`
	// Whether to enable the Default Route Table Association function.
	EnableDefaultAssociation bool `json:"enable_default_association"`
	// Default propagation route table ID
	DefaultPropagationRouteTableID string `json:"default_propagation_route_table_id"`
	// Default association route table ID
	DefaultAssociationRouteTableID string `json:"default_association_route_table_id"`
	// AZs where the enterprise router is located
	AvailabilityZoneIDs []string `json:"availability_zone_ids"`
	// Whether to automatically accept shared attachments.
	AutoAcceptSharedAttachments bool `json:"auto_accept_shared_attachments"`
	// Enterprise router CIDR block. This parameter is not supported for now.
	CidrBlocks []string `json:"cidr_blocks"`
}

type RouterInstanceResp

type RouterInstanceResp struct {
	// Enterprise router
	Instance *RouterInstance `json:"instance"`
	// Request ID
	RequestID string `json:"request_id"`
}

func Create

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

func Get

func Get(client *golangsdk.ServiceClient, instanceID string) (*RouterInstanceResp, error)

func Update

func Update(client *golangsdk.ServiceClient, opts UpdateOpts) (*RouterInstanceResp, error)

type UpdateOpts

type UpdateOpts struct {
	// Enterprise router ID
	InstanceID string `json:"-"`
	// Enterprise router name. The value can contain 1 to 64 characters, including letters,
	// digits, underscores (_), hyphens (-), and periods (.).
	Name string `json:"name,omitempty"`
	// Supplementary information about an enterprise router
	Description string `json:"description,omitempty"`
	// Whether to enable Default Route Table Propagation.
	EnableDefaultPropagation *bool `json:"enable_default_propagation,omitempty"`
	// Whether to enable Default Route Table Association.
	EnableDefaultAssociation *bool `json:"enable_default_association,omitempty"`
	// Default propagation route table ID
	DefaultPropagationRouteTableID string `json:"default_propagation_route_table_id,omitempty"`
	// Default association route table ID
	DefaultAssociationRouteTableID string `json:"default_association_route_table_id,omitempty"`
	// Whether to automatically accept shared attachments.
	AutoAcceptSharedAttachments *bool `json:"auto_accept_shared_attachments,omitempty"`
}

Jump to

Keyboard shortcuts

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