Documentation ¶
Overview ¶
Package vpc provides methods and message types of the vpc v2 API.
Index ¶
- Constants
- type API
- func (s *API) AddSubnets(req *AddSubnetsRequest, opts ...scw.RequestOption) (*AddSubnetsResponse, error)
- func (s *API) CreatePrivateNetwork(req *CreatePrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *API) CreateVPC(req *CreateVPCRequest, opts ...scw.RequestOption) (*VPC, error)
- func (s *API) DeletePrivateNetwork(req *DeletePrivateNetworkRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteSubnets(req *DeleteSubnetsRequest, opts ...scw.RequestOption) (*DeleteSubnetsResponse, error)
- func (s *API) DeleteVPC(req *DeleteVPCRequest, opts ...scw.RequestOption) error
- func (s *API) EnableDHCP(req *EnableDHCPRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *API) GetPrivateNetwork(req *GetPrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *API) GetVPC(req *GetVPCRequest, opts ...scw.RequestOption) (*VPC, error)
- func (s *API) ListPrivateNetworks(req *ListPrivateNetworksRequest, opts ...scw.RequestOption) (*ListPrivateNetworksResponse, error)
- func (s *API) ListVPCs(req *ListVPCsRequest, opts ...scw.RequestOption) (*ListVPCsResponse, error)
- func (s *API) MigrateZonalPrivateNetworks(req *MigrateZonalPrivateNetworksRequest, opts ...scw.RequestOption) error
- func (s *API) Regions() []scw.Region
- func (s *API) SetSubnets(req *SetSubnetsRequest, opts ...scw.RequestOption) (*SetSubnetsResponse, error)
- func (s *API) UpdatePrivateNetwork(req *UpdatePrivateNetworkRequest, opts ...scw.RequestOption) (*PrivateNetwork, error)
- func (s *API) UpdateVPC(req *UpdateVPCRequest, opts ...scw.RequestOption) (*VPC, error)
- type AddSubnetsRequest
- type AddSubnetsResponse
- type CreatePrivateNetworkRequest
- type CreateVPCRequest
- type DeletePrivateNetworkRequest
- type DeleteSubnetsRequest
- type DeleteSubnetsResponse
- type DeleteVPCRequest
- type EnableDHCPRequest
- type GetPrivateNetworkRequest
- type GetVPCRequest
- type ListPrivateNetworksRequest
- type ListPrivateNetworksRequestOrderBy
- type ListPrivateNetworksResponse
- type ListVPCsRequest
- type ListVPCsRequestOrderBy
- type ListVPCsResponse
- type MigrateZonalPrivateNetworksRequest
- type PrivateNetwork
- type SetSubnetsRequest
- type SetSubnetsResponse
- type Subnet
- type UpdatePrivateNetworkRequest
- type UpdateVPCRequest
- type VPC
Constants ¶
const ( ListPrivateNetworksRequestOrderByCreatedAtAsc = ListPrivateNetworksRequestOrderBy("created_at_asc") ListPrivateNetworksRequestOrderByCreatedAtDesc = ListPrivateNetworksRequestOrderBy("created_at_desc") ListPrivateNetworksRequestOrderByNameAsc = ListPrivateNetworksRequestOrderBy("name_asc") ListPrivateNetworksRequestOrderByNameDesc = ListPrivateNetworksRequestOrderBy("name_desc") )
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
}
VPC API.
func (*API) AddSubnets ¶
func (s *API) AddSubnets(req *AddSubnetsRequest, opts ...scw.RequestOption) (*AddSubnetsResponse, error)
AddSubnets: 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 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 new VPC in the specified region.
func (*API) DeletePrivateNetwork ¶
func (s *API) DeletePrivateNetwork(req *DeletePrivateNetworkRequest, opts ...scw.RequestOption) error
DeletePrivateNetwork: 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 the specified subnets from a Private Network.
func (*API) DeleteVPC ¶
func (s *API) DeleteVPC(req *DeleteVPCRequest, opts ...scw.RequestOption) error
DeleteVPC: 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 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: 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: 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 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 existing VPCs in the specified region.
func (*API) MigrateZonalPrivateNetworks ¶
func (s *API) MigrateZonalPrivateNetworks(req *MigrateZonalPrivateNetworksRequest, opts ...scw.RequestOption) error
MigrateZonalPrivateNetworks: 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) SetSubnets ¶
func (s *API) SetSubnets(req *SetSubnetsRequest, opts ...scw.RequestOption) (*SetSubnetsResponse, error)
SetSubnets: 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 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 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"` }
AddSubnetsRequest: add subnets request.
type AddSubnetsResponse ¶
AddSubnetsResponse: add subnets response.
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,omitempty"` }
CreatePrivateNetworkRequest: create private network request.
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"` }
CreateVPCRequest: create vpc request.
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:"-"` }
DeletePrivateNetworkRequest: delete private network request.
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"` }
DeleteSubnetsRequest: delete subnets request.
type DeleteSubnetsResponse ¶
DeleteSubnetsResponse: delete subnets response.
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:"-"` }
DeleteVPCRequest: delete vpc request.
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:"-"` }
EnableDHCPRequest: enable dhcp request.
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:"-"` }
GetPrivateNetworkRequest: get private network request.
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:"-"` }
GetVPCRequest: get vpc request.
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:"-"` }
ListPrivateNetworksRequest: list private networks request.
type ListPrivateNetworksRequestOrderBy ¶
type ListPrivateNetworksRequestOrderBy string
func (ListPrivateNetworksRequestOrderBy) MarshalJSON ¶
func (enum ListPrivateNetworksRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListPrivateNetworksRequestOrderBy) String ¶
func (enum ListPrivateNetworksRequestOrderBy) String() 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"` }
ListPrivateNetworksResponse: list private networks response.
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:"-"` }
ListVPCsRequest: list vp cs request.
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 ¶
ListVPCsResponse: list vp cs response.
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"` }
MigrateZonalPrivateNetworksRequest: migrate zonal private networks request.
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"` }
SetSubnetsRequest: set subnets request.
type SetSubnetsResponse ¶
SetSubnetsResponse: set subnets response.
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,omitempty"` // Tags: tags for the Private Network. Tags *[]string `json:"tags,omitempty"` }
UpdatePrivateNetworkRequest: update private network request.
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,omitempty"` // Tags: tags for the VPC. Tags *[]string `json:"tags,omitempty"` }
UpdateVPCRequest: update vpc request.
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.