vpc

package
v1.0.0-beta.32 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2025 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 (
	ListRoutesWithNexthopRequestOrderByCreatedAtAsc    = ListRoutesWithNexthopRequestOrderBy("created_at_asc")
	ListRoutesWithNexthopRequestOrderByCreatedAtDesc   = ListRoutesWithNexthopRequestOrderBy("created_at_desc")
	ListRoutesWithNexthopRequestOrderByDestinationAsc  = ListRoutesWithNexthopRequestOrderBy("destination_asc")
	ListRoutesWithNexthopRequestOrderByDestinationDesc = ListRoutesWithNexthopRequestOrderBy("destination_desc")
	ListRoutesWithNexthopRequestOrderByPrefixLenAsc    = ListRoutesWithNexthopRequestOrderBy("prefix_len_asc")
	ListRoutesWithNexthopRequestOrderByPrefixLenDesc   = ListRoutesWithNexthopRequestOrderBy("prefix_len_desc")
)
View Source
const (
	ListSubnetsRequestOrderByCreatedAtAsc  = ListSubnetsRequestOrderBy("created_at_asc")
	ListSubnetsRequestOrderByCreatedAtDesc = ListSubnetsRequestOrderBy("created_at_desc")
)
View Source
const (
	ListVPCsRequestOrderByCreatedAtAsc  = ListVPCsRequestOrderBy("created_at_asc")
	ListVPCsRequestOrderByCreatedAtDesc = ListVPCsRequestOrderBy("created_at_desc")
	ListVPCsRequestOrderByNameAsc       = ListVPCsRequestOrderBy("name_asc")
	ListVPCsRequestOrderByNameDesc      = ListVPCsRequestOrderBy("name_desc")
)
View Source
const (
	RouteWithNexthopResourceTypeUnknownType         = RouteWithNexthopResourceType("unknown_type")
	RouteWithNexthopResourceTypeVpcGatewayNetwork   = RouteWithNexthopResourceType("vpc_gateway_network")
	RouteWithNexthopResourceTypeInstancePrivateNic  = RouteWithNexthopResourceType("instance_private_nic")
	RouteWithNexthopResourceTypeBaremetalPrivateNic = RouteWithNexthopResourceType("baremetal_private_nic")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

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

This API allows you to manage your Virtual Private Clouds (VPCs) and Private Networks.

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 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) CreateRoute

func (s *API) CreateRoute(req *CreateRouteRequest, opts ...scw.RequestOption) (*Route, error)

CreateRoute: Create a new custom Route.

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) DeleteRoute

func (s *API) DeleteRoute(req *DeleteRouteRequest, opts ...scw.RequestOption) error

DeleteRoute: Delete a Route specified by its Route ID.

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) EnableRouting

func (s *API) EnableRouting(req *EnableRoutingRequest, opts ...scw.RequestOption) (*VPC, error)

EnableRouting: Enable routing on an existing VPC. 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) GetRoute

func (s *API) GetRoute(req *GetRouteRequest, opts ...scw.RequestOption) (*Route, error)

GetRoute: Retrieve details of an existing Route, specified by its Route ID.

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) ListSubnets

func (s *API) ListSubnets(req *ListSubnetsRequest, opts ...scw.RequestOption) (*ListSubnetsResponse, error)

ListSubnets: List any Private Network's subnets. See ListPrivateNetworks to list a specific Private Network's subnets.

func (*API) ListVPCs

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

ListVPCs: List existing VPCs in the specified region.

func (*API) Regions

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

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) UpdateRoute

func (s *API) UpdateRoute(req *UpdateRouteRequest, opts ...scw.RequestOption) (*Route, error)

UpdateRoute: Update parameters of the specified Route.

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

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

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 CreateRouteRequest

type CreateRouteRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// Description: route description.
	Description string `json:"description"`

	// Tags: tags of the Route.
	Tags []string `json:"tags"`

	// VpcID: vPC the Route belongs to.
	VpcID string `json:"vpc_id"`

	// Destination: destination of the Route.
	Destination scw.IPNet `json:"destination"`

	// NexthopResourceID: ID of the nexthop resource.
	NexthopResourceID *string `json:"nexthop_resource_id,omitempty"`

	// NexthopPrivateNetworkID: ID of the nexthop private network.
	NexthopPrivateNetworkID *string `json:"nexthop_private_network_id,omitempty"`
}

CreateRouteRequest: create route 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"`

	// EnableRouting: enable routing between Private Networks in the VPC.
	EnableRouting bool `json:"enable_routing"`
}

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 DeleteRouteRequest

type DeleteRouteRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// RouteID: route ID.
	RouteID string `json:"-"`
}

DeleteRouteRequest: delete route 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

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

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 EnableRoutingRequest

type EnableRoutingRequest 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:"-"`
}

EnableRoutingRequest: enable routing 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 GetRouteRequest

type GetRouteRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// RouteID: route ID.
	RouteID string `json:"-"`
}

GetRouteRequest: get route 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 (*ListPrivateNetworksRequestOrderBy) UnmarshalJSON

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

func (ListPrivateNetworksRequestOrderBy) Values

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 ListRoutesWithNexthopRequestOrderBy

type ListRoutesWithNexthopRequestOrderBy string

func (ListRoutesWithNexthopRequestOrderBy) MarshalJSON

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

func (ListRoutesWithNexthopRequestOrderBy) String

func (*ListRoutesWithNexthopRequestOrderBy) UnmarshalJSON

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

func (ListRoutesWithNexthopRequestOrderBy) Values

type ListRoutesWithNexthopResponse

type ListRoutesWithNexthopResponse struct {
	// Routes: list of routes.
	Routes []*RouteWithNexthop `json:"routes"`

	// TotalCount: total number of routes.
	TotalCount uint64 `json:"total_count"`
}

ListRoutesWithNexthopResponse: list routes with nexthop response.

func (*ListRoutesWithNexthopResponse) UnsafeAppend

func (r *ListRoutesWithNexthopResponse) UnsafeAppend(res interface{}) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListRoutesWithNexthopResponse) UnsafeGetTotalCount

func (r *ListRoutesWithNexthopResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListSubnetsRequest

type ListSubnetsRequest 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 subnets.
	// Default value: created_at_asc
	OrderBy ListSubnetsRequestOrderBy `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:"-"`

	// OrganizationID: organization ID to filter for. Only subnets belonging to this Organization will be returned.
	OrganizationID *string `json:"-"`

	// ProjectID: project ID to filter for. Only subnets belonging to this Project will be returned.
	ProjectID *string `json:"-"`

	// SubnetIDs: subnet IDs to filter for. Only subnets matching the specified IDs will be returned.
	SubnetIDs []string `json:"-"`

	// VpcID: vPC ID to filter for. Only subnets belonging to this VPC will be returned.
	VpcID *string `json:"-"`
}

ListSubnetsRequest: list subnets request.

type ListSubnetsRequestOrderBy

type ListSubnetsRequestOrderBy string

func (ListSubnetsRequestOrderBy) MarshalJSON

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

func (ListSubnetsRequestOrderBy) String

func (enum ListSubnetsRequestOrderBy) String() string

func (*ListSubnetsRequestOrderBy) UnmarshalJSON

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

func (ListSubnetsRequestOrderBy) Values

type ListSubnetsResponse

type ListSubnetsResponse struct {
	Subnets []*Subnet `json:"subnets"`

	TotalCount uint32 `json:"total_count"`
}

ListSubnetsResponse: list subnets response.

func (*ListSubnetsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListSubnetsResponse) UnsafeGetTotalCount

func (r *ListSubnetsResponse) 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:"-"`

	// RoutingEnabled: defines whether to filter only for VPCs which route traffic between their Private Networks.
	RoutingEnabled *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

func (ListVPCsRequestOrderBy) Values

type ListVPCsResponse

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

	TotalCount uint32 `json:"total_count"`
}

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 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 Route

type Route struct {
	// ID: route ID.
	ID string `json:"id"`

	// Description: route description.
	Description string `json:"description"`

	// Tags: tags of the Route.
	Tags []string `json:"tags"`

	// VpcID: vPC the Route belongs to.
	VpcID string `json:"vpc_id"`

	// Destination: destination of the Route.
	Destination scw.IPNet `json:"destination"`

	// NexthopResourceID: ID of the nexthop resource.
	NexthopResourceID *string `json:"nexthop_resource_id"`

	// NexthopPrivateNetworkID: ID of the nexthop private network.
	NexthopPrivateNetworkID *string `json:"nexthop_private_network_id"`

	// CreatedAt: date the Route was created.
	CreatedAt *time.Time `json:"created_at"`

	// UpdatedAt: date the Route was last modified.
	UpdatedAt *time.Time `json:"updated_at"`

	// IsReadOnly: defines whether the route can be modified or deleted by the user.
	IsReadOnly bool `json:"is_read_only"`

	// Region: region of the Route.
	Region scw.Region `json:"region"`
}

Route: route.

type RouteWithNexthop

type RouteWithNexthop struct {
	// Route: route.
	Route *Route `json:"route"`

	// NexthopIP: IP of the route's next hop.
	NexthopIP *net.IP `json:"nexthop_ip"`

	// NexthopName: name of the route's next hop.
	NexthopName *string `json:"nexthop_name"`

	// NexthopResourceType: resource type of the route's next hop.
	// Default value: unknown_type
	NexthopResourceType RouteWithNexthopResourceType `json:"nexthop_resource_type"`
}

RouteWithNexthop: route with nexthop.

type RouteWithNexthopResourceType

type RouteWithNexthopResourceType string

func (RouteWithNexthopResourceType) MarshalJSON

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

func (RouteWithNexthopResourceType) String

func (enum RouteWithNexthopResourceType) String() string

func (*RouteWithNexthopResourceType) UnmarshalJSON

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

func (RouteWithNexthopResourceType) Values

type RoutesWithNexthopAPI

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

func NewRoutesWithNexthopAPI

func NewRoutesWithNexthopAPI(client *scw.Client) *RoutesWithNexthopAPI

NewRoutesWithNexthopAPI returns a RoutesWithNexthopAPI object from a Scaleway client.

func (*RoutesWithNexthopAPI) ListRoutesWithNexthop

ListRoutesWithNexthop: Return routes with associated next hop data.

type RoutesWithNexthopAPIListRoutesWithNexthopRequest

type RoutesWithNexthopAPIListRoutesWithNexthopRequest 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 routes.
	// Default value: created_at_asc
	OrderBy ListRoutesWithNexthopRequestOrderBy `json:"-"`

	// Page: page number to return, from the paginated results.
	Page *int32 `json:"-"`

	// PageSize: maximum number of routes to return per page.
	PageSize *uint32 `json:"-"`

	// VpcID: vPC to filter for. Only routes within this VPC will be returned.
	VpcID *string `json:"-"`

	// NexthopResourceID: next hop resource ID to filter for. Only routes with a matching next hop resource ID will be returned.
	NexthopResourceID *string `json:"-"`

	// NexthopPrivateNetworkID: next hop private network ID to filter for. Only routes with a matching next hop private network ID will be returned.
	NexthopPrivateNetworkID *string `json:"-"`

	// NexthopResourceType: next hop resource type to filter for. Only Routes with a matching next hop resource type will be returned.
	// Default value: unknown_type
	NexthopResourceType RouteWithNexthopResourceType `json:"-"`

	// Contains: only routes whose destination is contained in this subnet will be returned.
	Contains *scw.IPNet `json:"-"`

	// Tags: tags to filter for, only routes with one or more matching tags will be returned.
	Tags []string `json:"-"`

	// IsIPv6: only routes with an IPv6 destination will be returned.
	IsIPv6 *bool `json:"-"`
}

RoutesWithNexthopAPIListRoutesWithNexthopRequest: routes with nexthop api list routes with nexthop request.

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

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

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"`

	// ProjectID: scaleway Project the subnet belongs to.
	ProjectID string `json:"project_id"`

	// PrivateNetworkID: private Network the subnet belongs to.
	PrivateNetworkID string `json:"private_network_id"`

	// VpcID: vPC the subnet belongs to.
	VpcID string `json:"vpc_id"`
}

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 UpdateRouteRequest

type UpdateRouteRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`

	// RouteID: route ID.
	RouteID string `json:"-"`

	// Description: route description.
	Description *string `json:"description,omitempty"`

	// Tags: tags of the Route.
	Tags *[]string `json:"tags,omitempty"`

	// Destination: destination of the Route.
	Destination *scw.IPNet `json:"destination,omitempty"`

	// NexthopResourceID: ID of the nexthop resource.
	NexthopResourceID *string `json:"nexthop_resource_id,omitempty"`

	// NexthopPrivateNetworkID: ID of the nexthop private network.
	NexthopPrivateNetworkID *string `json:"nexthop_private_network_id,omitempty"`
}

UpdateRouteRequest: update route 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"`

	// RoutingEnabled: defines whether the VPC routes traffic between its Private Networks.
	RoutingEnabled bool `json:"routing_enabled"`
}

VPC: vpc.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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