Help us shape the future of Go! Take the 2026 Go Developer Survey

vpcs

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddExtendCidrOption

type AddExtendCidrOption struct {
	// Secondary CIDR blocks that can be added to VPCs
	// The value cannot contain the following:
	// 100.64.0.0/10
	// 214.0.0.0/7
	// 198.18.0.0/15
	// 169.254.0.0/16
	// 0.0.0.0/8
	// 127.0.0.0/8
	// 240.0.0.0/4
	// 172.31.0.0/16
	// 192.168.0.0/16
	// Currently, only one secondary CIDR block can be added to each VPC.
	ExtendCidrs []string `json:"extend_cidrs"`
}

type CidrOpts

type CidrOpts struct {
	// Whether to only check the request.
	// Value range:
	// true: Only the check request will be sent and no secondary CIDR block will be added.
	// Check items include mandatory parameters, request format, and constraints.
	// If the check fails, an error will be returned. If the check succeeds, response code 202 will be returned.
	// false (default value): A request will be sent and a secondary CIDR block will be added.
	DryRun *bool `json:"dry_run,omitempty"`
	// Request body for adding a secondary CIDR block.
	Vpc *AddExtendCidrOption `json:"vpc"`
}

type CloudResource

type CloudResource struct {
	// Resource type
	ResourceType string `json:"resource_type"`
	// Number of resources
	ResourceCount int `json:"resource_count"`
}

type ListOpts

type ListOpts struct {
	// Number of records displayed on each page.
	// Value range: 0 to 2000
	Limit int `q:"limit,omitempty"`
	// Start resource ID of pagination query.
	// If the parameter is left blank, only resources on the first page are queried.
	Marker string `q:"marker,omitempty"`
	// VPC ID, which can be used to filter VPCs.
	Id []string `q:"id,omitempty"`
	// VPC name, which can be used to filter VPCs.
	Name []string `q:"name,omitempty"`
	// Supplementary information about the VPC, which can be used to filter VPCs.
	Description []string `q:"description,omitempty"`
	// VPC CIDR block, which can be used to filter VPCs.
	Cidr []string `q:"cidr,omitempty"`
}

type Vpc

type Vpc struct {
	// VPC ID, which uniquely identifies the VPC
	// The value is in UUID format with hyphens (-).
	Id string `json:"id"`
	// VPC name
	// The value can contain no more than 64 characters, including letters,
	// digits, underscores (_), hyphens (-), and periods (.).
	Name string `json:"name"`
	// Provides supplementary information about the VPC.
	// The value can contain no more than 255 characters and cannot contain angle brackets (< or >).
	Description string `json:"description"`
	// Available VPC CIDR blocks
	// Value range:
	// 10.0.0.0/8-10.255.255.240/28
	// 172.16.0.0/12-172.31.255.240/28
	// 192.168.0.0/16-192.168.255.240/28
	// If cidr is not specified, the default value is "".
	// The value must be in IPv4 CIDR format, for example, 192.168.0.0/16.
	Cidr string `json:"cidr"`
	// Secondary CIDR blocks of VPCs
	// Currently, only IPv4 CIDR blocks are supported.
	SecondaryCidrs []string `json:"extend_cidrs"`
	// VPC status
	// Value range:
	// PENDING: The VPC is being created.
	// ACTIVE: The VPC is created successfully.
	Status string `json:"status"`
	// ID of the project to which the VPC belongs
	ProjectId string `json:"project_id"`
	// Time when the VPC is created
	// UTC time in the format of yyyy-MM-ddTHH:mmss
	CreatedAt string `json:"created_at"`
	// Time when the VPC is updated
	// UTC time in the format of yyyy-MM-ddTHH:mmss
	UpdatedAt string `json:"updated_at"`
	// Type and number of resources associated with the VPC
	// Currently, only route tables and subnets of the VPC are returned.
	// The number of virsubnets is the total number of IPv4 and IPv6 subnets.
	CloudResources []CloudResource `json:"cloud_resources"`
	// VPC tags. For details, see the tag objects.
	// Value range: 0 to 10 tag key-value pairs
	Tags []tags.ResourceTag `json:"tags"`
}

func AddSecondaryCidr

func AddSecondaryCidr(client *golangsdk.ServiceClient, id string, opts CidrOpts) (*Vpc, error)

AddSecondaryCidr is used to add a secondary CIDR block to a VPC.

func ExtractVpcs

func ExtractVpcs(r pagination.NewPage) ([]Vpc, error)

ExtractVpcs accepts a Page struct, specifically a VpcPage struct, and extracts the elements into a slice of Vpc structs.

func Get

func Get(client *golangsdk.ServiceClient, id string) (*Vpc, error)

Get retrieves a particular VPC based on its unique ID.

func List

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

List is used to query VPCs.

func RemoveSecondaryCidr

func RemoveSecondaryCidr(client *golangsdk.ServiceClient, id string, opts CidrOpts) (*Vpc, error)

RemoveSecondaryCidr is used to add a secondary CIDR block to a VPC.

type VpcPage

type VpcPage struct {
	pagination.NewSinglePageBase
}

VpcPage is the page returned by a pager when traversing over a collection of vpcs

Jump to

Keyboard shortcuts

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