vpc

package
v1.0.0-beta.20 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Overview

Package vpc provides methods and message types of the vpc v2 API.

Index

Constants

View Source
const (
	ListPrivateNetworksRequestOrderByCreatedAtAsc  = ListPrivateNetworksRequestOrderBy("created_at_asc")
	ListPrivateNetworksRequestOrderByCreatedAtDesc = ListPrivateNetworksRequestOrderBy("created_at_desc")
	ListPrivateNetworksRequestOrderByNameAsc       = ListPrivateNetworksRequestOrderBy("name_asc")
	ListPrivateNetworksRequestOrderByNameDesc      = ListPrivateNetworksRequestOrderBy("name_desc")
)
View Source
const (
	ListVPCsRequestOrderByCreatedAtAsc  = ListVPCsRequestOrderBy("created_at_asc")
	ListVPCsRequestOrderByCreatedAtDesc = ListVPCsRequestOrderBy("created_at_desc")
	ListVPCsRequestOrderByNameAsc       = ListVPCsRequestOrderBy("name_asc")
	ListVPCsRequestOrderByNameDesc      = ListVPCsRequestOrderBy("name_desc")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	// contains filtered or unexported fields
}

API: vPC API.

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) AddSubnets

func (s *API) AddSubnets(req *AddSubnetsRequest, opts ...scw.RequestOption) (*AddSubnetsResponse, error)

AddSubnets: add subnets to a Private Network. Add new subnets to an existing Private Network.

func (*API) CreatePrivateNetwork

func (s *API) CreatePrivateNetwork(req *CreatePrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)

CreatePrivateNetwork: create a Private Network. Create a new Private Network. Once created, you can attach Scaleway resources which are in the same region.

func (*API) CreateVPC

func (s *API) CreateVPC(req *CreateVPCRequest, opts ...scw.RequestOption) (*VPC, error)

CreateVPC: create a VPC. Create a new VPC in the specified region.

func (*API) DeletePrivateNetwork

func (s *API) DeletePrivateNetwork(req *DeletePrivateNetworkRequest, opts ...scw.RequestOption) error

DeletePrivateNetwork: delete a Private Network. Delete an existing Private Network. Note that you must first detach all resources from the network, in order to delete it.

func (*API) DeleteSubnets

func (s *API) DeleteSubnets(req *DeleteSubnetsRequest, opts ...scw.RequestOption) (*DeleteSubnetsResponse, error)

DeleteSubnets: delete subnets from a Private Network. Delete the specified subnets from a Private Network.

func (*API) DeleteVPC

func (s *API) DeleteVPC(req *DeleteVPCRequest, opts ...scw.RequestOption) error

DeleteVPC: delete a VPC. Delete a VPC specified by its VPC ID.

func (*API) EnableDHCP

func (s *API) EnableDHCP(req *EnableDHCPRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)

EnableDHCP: enable DHCP on a Private Network. Enable DHCP managed on an existing Private Network. Note that you will not be able to deactivate it afterwards.

func (*API) GetPrivateNetwork

func (s *API) GetPrivateNetwork(req *GetPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)

GetPrivateNetwork: get a Private Network. Retrieve information about an existing Private Network, specified by its Private Network ID. Its full details are returned in the response object.

func (*API) GetVPC

func (s *API) GetVPC(req *GetVPCRequest, opts ...scw.RequestOption) (*VPC, error)

GetVPC: get a VPC. Retrieve details of an existing VPC, specified by its VPC ID.

func (*API) ListPrivateNetworks

func (s *API) ListPrivateNetworks(req *ListPrivateNetworksRequest, opts ...scw.RequestOption) (*ListPrivateNetworksResponse, error)

ListPrivateNetworks: list Private Networks. List existing Private Networks in the specified region. By default, the Private Networks returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field.

func (*API) ListVPCs

func (s *API) ListVPCs(req *ListVPCsRequest, opts ...scw.RequestOption) (*ListVPCsResponse, error)

ListVPCs: list VPCs. List existing VPCs in the specified region.

func (*API) MigrateZonalPrivateNetworks

func (s *API) MigrateZonalPrivateNetworks(req *MigrateZonalPrivateNetworksRequest, opts ...scw.RequestOption) error

MigrateZonalPrivateNetworks: migrate Private Networks from zoned to regional. Transform multiple existing zoned Private Networks (scoped to a single Availability Zone) into regional Private Networks, scoped to an entire region. You can transform one or many Private Networks (specified by their Private Network IDs) within a single Scaleway Organization or Project, with the same call.

func (*API) Regions

func (s *API) Regions() []scw.Region

Regions list localities the api is available in

func (*API) SetSubnets

func (s *API) SetSubnets(req *SetSubnetsRequest, opts ...scw.RequestOption) (*SetSubnetsResponse, error)

SetSubnets: set the subnets of a Private Network. Set subnets for an existing Private Network. Note that the method is PUT and not PATCH. Any existing subnets will be removed in favor of the new specified set of subnets.

func (*API) UpdatePrivateNetwork

func (s *API) UpdatePrivateNetwork(req *UpdatePrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)

UpdatePrivateNetwork: update Private Network. Update parameters (such as name or tags) of an existing Private Network, specified by its Private Network ID.

func (*API) UpdateVPC

func (s *API) UpdateVPC(req *UpdateVPCRequest, opts ...scw.RequestOption) (*VPC, error)

UpdateVPC: update VPC. Update parameters including name and tags of the specified VPC.

type AddSubnetsRequest

type AddSubnetsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
	// Subnets: private Network subnets CIDR.
	Subnets []scw.IPNet `json:"subnets"`
}

type AddSubnetsResponse

type AddSubnetsResponse struct {
	Subnets []scw.IPNet `json:"subnets"`
}

type CreatePrivateNetworkRequest

type CreatePrivateNetworkRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Name: name for the Private Network.
	Name string `json:"name"`
	// ProjectID: scaleway Project in which to create the Private Network.
	ProjectID string `json:"project_id"`
	// Tags: tags for the Private Network.
	Tags []string `json:"tags"`
	// Subnets: private Network subnets CIDR.
	Subnets []scw.IPNet `json:"subnets"`
	// VpcID: vPC in which to create the Private Network.
	VpcID *string `json:"vpc_id"`
}

type CreateVPCRequest

type CreateVPCRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Name: name for the VPC.
	Name string `json:"name"`
	// ProjectID: scaleway Project in which to create the VPC.
	ProjectID string `json:"project_id"`
	// Tags: tags for the VPC.
	Tags []string `json:"tags"`
}

type DeletePrivateNetworkRequest

type DeletePrivateNetworkRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
}

type DeleteSubnetsRequest

type DeleteSubnetsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
	// Subnets: private Network subnets CIDR.
	Subnets []scw.IPNet `json:"subnets"`
}

type DeleteSubnetsResponse

type DeleteSubnetsResponse struct {
	Subnets []scw.IPNet `json:"subnets"`
}

type DeleteVPCRequest

type DeleteVPCRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// VpcID: vPC ID.
	VpcID string `json:"-"`
}

type EnableDHCPRequest

type EnableDHCPRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
}

type GetPrivateNetworkRequest

type GetPrivateNetworkRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
}

type GetVPCRequest

type GetVPCRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// VpcID: vPC ID.
	VpcID string `json:"-"`
}

type ListPrivateNetworksRequest

type ListPrivateNetworksRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// OrderBy: sort order of the returned Private Networks.
	// Default value: created_at_asc
	OrderBy ListPrivateNetworksRequestOrderBy `json:"-"`
	// Page: page number to return, from the paginated results.
	Page *int32 `json:"-"`
	// PageSize: maximum number of Private Networks to return per page.
	PageSize *uint32 `json:"-"`
	// Name: name to filter for. Only Private Networks with names containing this string will be returned.
	Name *string `json:"-"`
	// Tags: tags to filter for. Only Private Networks with one or more matching tags will be returned.
	Tags []string `json:"-"`
	// OrganizationID: organization ID to filter for. Only Private Networks belonging to this Organization will be returned.
	OrganizationID *string `json:"-"`
	// ProjectID: project ID to filter for. Only Private Networks belonging to this Project will be returned.
	ProjectID *string `json:"-"`
	// PrivateNetworkIDs: private Network IDs to filter for. Only Private Networks with one of these IDs will be returned.
	PrivateNetworkIDs []string `json:"-"`
	// VpcID: vPC ID to filter for. Only Private Networks belonging to this VPC will be returned.
	VpcID *string `json:"-"`
	// DHCPEnabled: DHCP status to filter for. When true, only Private Networks with managed DHCP enabled will be returned.
	DHCPEnabled *bool `json:"-"`
}

type ListPrivateNetworksRequestOrderBy

type ListPrivateNetworksRequestOrderBy string

func (ListPrivateNetworksRequestOrderBy) MarshalJSON

func (enum ListPrivateNetworksRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListPrivateNetworksRequestOrderBy) String

func (*ListPrivateNetworksRequestOrderBy) UnmarshalJSON

func (enum *ListPrivateNetworksRequestOrderBy) UnmarshalJSON(data []byte) error

type ListPrivateNetworksResponse

type ListPrivateNetworksResponse struct {
	PrivateNetworks []*PrivateNetwork `json:"private_networks"`

	TotalCount uint32 `json:"total_count"`
}

func (*ListPrivateNetworksResponse) UnsafeAppend

func (r *ListPrivateNetworksResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListPrivateNetworksResponse) UnsafeGetTotalCount

func (r *ListPrivateNetworksResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListVPCsRequest

type ListVPCsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// OrderBy: sort order of the returned VPCs.
	// Default value: created_at_asc
	OrderBy ListVPCsRequestOrderBy `json:"-"`
	// Page: page number to return, from the paginated results.
	Page *int32 `json:"-"`
	// PageSize: maximum number of VPCs to return per page.
	PageSize *uint32 `json:"-"`
	// Name: name to filter for. Only VPCs with names containing this string will be returned.
	Name *string `json:"-"`
	// Tags: tags to filter for. Only VPCs with one more more matching tags will be returned.
	Tags []string `json:"-"`
	// OrganizationID: organization ID to filter for. Only VPCs belonging to this Organization will be returned.
	OrganizationID *string `json:"-"`
	// ProjectID: project ID to filter for. Only VPCs belonging to this Project will be returned.
	ProjectID *string `json:"-"`
	// IsDefault: defines whether to filter only for VPCs which are the default one for their Project.
	IsDefault *bool `json:"-"`
}

type ListVPCsRequestOrderBy

type ListVPCsRequestOrderBy string

func (ListVPCsRequestOrderBy) MarshalJSON

func (enum ListVPCsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListVPCsRequestOrderBy) String

func (enum ListVPCsRequestOrderBy) String() string

func (*ListVPCsRequestOrderBy) UnmarshalJSON

func (enum *ListVPCsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListVPCsResponse

type ListVPCsResponse struct {
	Vpcs []*VPC `json:"vpcs"`

	TotalCount uint32 `json:"total_count"`
}

func (*ListVPCsResponse) UnsafeAppend

func (r *ListVPCsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListVPCsResponse) UnsafeGetTotalCount

func (r *ListVPCsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type MigrateZonalPrivateNetworksRequest

type MigrateZonalPrivateNetworksRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// OrganizationID: organization ID to target. The specified zoned Private Networks within this Organization will be migrated to regional.
	// Precisely one of OrganizationID, ProjectID must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
	// ProjectID: project to target. The specified zoned Private Networks within this Project will be migrated to regional.
	// Precisely one of OrganizationID, ProjectID must be set.
	ProjectID *string `json:"project_id,omitempty"`
	// PrivateNetworkIDs: iDs of the Private Networks to migrate.
	PrivateNetworkIDs []string `json:"private_network_ids"`
}

type PrivateNetwork

type PrivateNetwork struct {
	// ID: private Network ID.
	ID string `json:"id"`
	// Name: private Network name.
	Name string `json:"name"`
	// OrganizationID: scaleway Organization the Private Network belongs to.
	OrganizationID string `json:"organization_id"`
	// ProjectID: scaleway Project the Private Network belongs to.
	ProjectID string `json:"project_id"`
	// Region: region in which the Private Network is available.
	Region scw.Region `json:"region"`
	// Tags: tags of the Private Network.
	Tags []string `json:"tags"`
	// CreatedAt: date the Private Network was created.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date the Private Network was last modified.
	UpdatedAt *time.Time `json:"updated_at"`
	// Subnets: private Network subnets.
	Subnets []*Subnet `json:"subnets"`
	// VpcID: vPC the Private Network belongs to.
	VpcID string `json:"vpc_id"`
	// DHCPEnabled: defines whether managed DHCP is enabled for this Private Network.
	DHCPEnabled bool `json:"dhcp_enabled"`
}

PrivateNetwork: private network.

type SetSubnetsRequest

type SetSubnetsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
	// Subnets: private Network subnets CIDR.
	Subnets []scw.IPNet `json:"subnets"`
}

type SetSubnetsResponse

type SetSubnetsResponse struct {
	Subnets []scw.IPNet `json:"subnets"`
}

type Subnet

type Subnet struct {
	// ID: ID of the subnet.
	ID string `json:"id"`
	// CreatedAt: subnet creation date.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: subnet last modification date.
	UpdatedAt *time.Time `json:"updated_at"`
	// Subnet: subnet CIDR.
	Subnet scw.IPNet `json:"subnet"`
}

Subnet: subnet.

type UpdatePrivateNetworkRequest

type UpdatePrivateNetworkRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// PrivateNetworkID: private Network ID.
	PrivateNetworkID string `json:"-"`
	// Name: name for the Private Network.
	Name *string `json:"name"`
	// Tags: tags for the Private Network.
	Tags *[]string `json:"tags"`
}

type UpdateVPCRequest

type UpdateVPCRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// VpcID: vPC ID.
	VpcID string `json:"-"`
	// Name: name for the VPC.
	Name *string `json:"name"`
	// Tags: tags for the VPC.
	Tags *[]string `json:"tags"`
}

type VPC

type VPC struct {
	// ID: vPC ID.
	ID string `json:"id"`
	// Name: vPC name.
	Name string `json:"name"`
	// OrganizationID: scaleway Organization the VPC belongs to.
	OrganizationID string `json:"organization_id"`
	// ProjectID: scaleway Project the VPC belongs to.
	ProjectID string `json:"project_id"`
	// Region: region of the VPC.
	Region scw.Region `json:"region"`
	// Tags: tags for the VPC.
	Tags []string `json:"tags"`
	// IsDefault: defines whether the VPC is the default one for its Project.
	IsDefault bool `json:"is_default"`
	// CreatedAt: date the VPC was created.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date the VPC was last modified.
	UpdatedAt *time.Time `json:"updated_at"`
	// PrivateNetworkCount: number of Private Networks within this VPC.
	PrivateNetworkCount uint32 `json:"private_network_count"`
}

VPC: vpc.

Jump to

Keyboard shortcuts

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