Documentation
¶
Overview ¶
Package s2s_vpn provides methods and message types of the s2s_vpn v1alpha1 API.
Index ¶
- Constants
- type API
- func (s *API) CreateConnection(req *CreateConnectionRequest, opts ...scw.RequestOption) (*CreateConnectionResponse, error)
- func (s *API) CreateCustomerGateway(req *CreateCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
- func (s *API) CreateRoutingPolicy(req *CreateRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
- func (s *API) CreateVpnGateway(req *CreateVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
- func (s *API) DeleteConnection(req *DeleteConnectionRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteCustomerGateway(req *DeleteCustomerGatewayRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteRoutingPolicy(req *DeleteRoutingPolicyRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteVpnGateway(req *DeleteVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
- func (s *API) DetachRoutingPolicy(req *DetachRoutingPolicyRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) DisableRoutePropagation(req *DisableRoutePropagationRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) EnableRoutePropagation(req *EnableRoutePropagationRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) GetConnection(req *GetConnectionRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) GetCustomerGateway(req *GetCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
- func (s *API) GetRoutingPolicy(req *GetRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
- func (s *API) GetVpnGateway(req *GetVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
- func (s *API) ListConnections(req *ListConnectionsRequest, opts ...scw.RequestOption) (*ListConnectionsResponse, error)
- func (s *API) ListCustomerGateways(req *ListCustomerGatewaysRequest, opts ...scw.RequestOption) (*ListCustomerGatewaysResponse, error)
- func (s *API) ListRoutingPolicies(req *ListRoutingPoliciesRequest, opts ...scw.RequestOption) (*ListRoutingPoliciesResponse, error)
- func (s *API) ListVpnGatewayTypes(req *ListVpnGatewayTypesRequest, opts ...scw.RequestOption) (*ListVpnGatewayTypesResponse, error)
- func (s *API) ListVpnGateways(req *ListVpnGatewaysRequest, opts ...scw.RequestOption) (*ListVpnGatewaysResponse, error)
- func (s *API) Regions() []scw.Region
- func (s *API) RenewConnectionPsk(req *RenewConnectionPskRequest, opts ...scw.RequestOption) (*RenewConnectionPskResponse, error)
- func (s *API) SetRoutingPolicy(req *SetRoutingPolicyRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) UpdateConnection(req *UpdateConnectionRequest, opts ...scw.RequestOption) (*Connection, error)
- func (s *API) UpdateCustomerGateway(req *UpdateCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
- func (s *API) UpdateRoutingPolicy(req *UpdateRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
- func (s *API) UpdateVpnGateway(req *UpdateVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
- type BgpSession
- type BgpSessionStatus
- type Connection
- type ConnectionCipher
- type ConnectionDhGroup
- type ConnectionEncryption
- type ConnectionInitiationPolicy
- type ConnectionIntegrity
- type ConnectionStatus
- type CreateConnectionRequest
- type CreateConnectionRequestBgpConfig
- type CreateConnectionRequestInitiationPolicy
- func (enum CreateConnectionRequestInitiationPolicy) MarshalJSON() ([]byte, error)
- func (enum CreateConnectionRequestInitiationPolicy) String() string
- func (enum *CreateConnectionRequestInitiationPolicy) UnmarshalJSON(data []byte) error
- func (enum CreateConnectionRequestInitiationPolicy) Values() []CreateConnectionRequestInitiationPolicy
- type CreateConnectionResponse
- type CreateCustomerGatewayRequest
- type CreateRoutingPolicyRequest
- type CreateVpnGatewayRequest
- type CreateVpnGatewayRequestPublicConfig
- type CustomerGateway
- type DeleteConnectionRequest
- type DeleteCustomerGatewayRequest
- type DeleteRoutingPolicyRequest
- type DeleteVpnGatewayRequest
- type DetachRoutingPolicyRequest
- type DisableRoutePropagationRequest
- type EnableRoutePropagationRequest
- type GatewayType
- type GetConnectionRequest
- type GetCustomerGatewayRequest
- type GetRoutingPolicyRequest
- type GetVpnGatewayRequest
- type ListConnectionsRequest
- type ListConnectionsRequestOrderBy
- type ListConnectionsResponse
- type ListCustomerGatewaysRequest
- type ListCustomerGatewaysRequestOrderBy
- func (enum ListCustomerGatewaysRequestOrderBy) MarshalJSON() ([]byte, error)
- func (enum ListCustomerGatewaysRequestOrderBy) String() string
- func (enum *ListCustomerGatewaysRequestOrderBy) UnmarshalJSON(data []byte) error
- func (enum ListCustomerGatewaysRequestOrderBy) Values() []ListCustomerGatewaysRequestOrderBy
- type ListCustomerGatewaysResponse
- type ListRoutingPoliciesRequest
- type ListRoutingPoliciesRequestOrderBy
- func (enum ListRoutingPoliciesRequestOrderBy) MarshalJSON() ([]byte, error)
- func (enum ListRoutingPoliciesRequestOrderBy) String() string
- func (enum *ListRoutingPoliciesRequestOrderBy) UnmarshalJSON(data []byte) error
- func (enum ListRoutingPoliciesRequestOrderBy) Values() []ListRoutingPoliciesRequestOrderBy
- type ListRoutingPoliciesResponse
- type ListVpnGatewayTypesRequest
- type ListVpnGatewayTypesResponse
- type ListVpnGatewaysRequest
- type ListVpnGatewaysRequestOrderBy
- type ListVpnGatewaysResponse
- type RenewConnectionPskRequest
- type RenewConnectionPskResponse
- type RoutingPolicy
- type SetRoutingPolicyRequest
- type TunnelStatus
- type UpdateConnectionRequest
- type UpdateCustomerGatewayRequest
- type UpdateRoutingPolicyRequest
- type UpdateVpnGatewayRequest
- type VpnGateway
- type VpnGatewayPrivateConfig
- type VpnGatewayPublicConfig
- type VpnGatewayStatus
Constants ¶
const ( BgpSessionStatusUnknownStatus = BgpSessionStatus("unknown_status") BgpSessionStatusUp = BgpSessionStatus("up") BgpSessionStatusDown = BgpSessionStatus("down") BgpSessionStatusDisabled = BgpSessionStatus("disabled") )
const ( ConnectionDhGroupUnknownDhgroup = ConnectionDhGroup("unknown_dhgroup") ConnectionDhGroupModp2048 = ConnectionDhGroup("modp2048") ConnectionDhGroupModp3072 = ConnectionDhGroup("modp3072") ConnectionDhGroupModp4096 = ConnectionDhGroup("modp4096") ConnectionDhGroupEcp256 = ConnectionDhGroup("ecp256") ConnectionDhGroupEcp384 = ConnectionDhGroup("ecp384") ConnectionDhGroupEcp521 = ConnectionDhGroup("ecp521") ConnectionDhGroupCurve25519 = ConnectionDhGroup("curve25519") )
const ( ConnectionEncryptionUnknownEncryption = ConnectionEncryption("unknown_encryption") ConnectionEncryptionAes128 = ConnectionEncryption("aes128") ConnectionEncryptionAes192 = ConnectionEncryption("aes192") ConnectionEncryptionAes256 = ConnectionEncryption("aes256") ConnectionEncryptionAes128gcm = ConnectionEncryption("aes128gcm") ConnectionEncryptionAes192gcm = ConnectionEncryption("aes192gcm") ConnectionEncryptionAes256gcm = ConnectionEncryption("aes256gcm") ConnectionEncryptionAes128ccm = ConnectionEncryption("aes128ccm") ConnectionEncryptionAes256ccm = ConnectionEncryption("aes256ccm") ConnectionEncryptionChacha20poly1305 = ConnectionEncryption("chacha20poly1305") )
const ( ConnectionInitiationPolicyUnknownInitiationPolicy = ConnectionInitiationPolicy("unknown_initiation_policy") ConnectionInitiationPolicyVpnGateway = ConnectionInitiationPolicy("vpn_gateway") ConnectionInitiationPolicyCustomerGateway = ConnectionInitiationPolicy("customer_gateway") )
const ( ConnectionIntegrityUnknownIntegrity = ConnectionIntegrity("unknown_integrity") ConnectionIntegritySha256 = ConnectionIntegrity("sha256") ConnectionIntegritySha384 = ConnectionIntegrity("sha384") ConnectionIntegritySha512 = ConnectionIntegrity("sha512") )
const ( ConnectionStatusUnknownStatus = ConnectionStatus("unknown_status") ConnectionStatusActive = ConnectionStatus("active") ConnectionStatusLimitedConnectivity = ConnectionStatus("limited_connectivity") ConnectionStatusDown = ConnectionStatus("down") ConnectionStatusLocked = ConnectionStatus("locked") )
const ( CreateConnectionRequestInitiationPolicyUnknownInitiationPolicy = CreateConnectionRequestInitiationPolicy("unknown_initiation_policy") CreateConnectionRequestInitiationPolicyVpnGateway = CreateConnectionRequestInitiationPolicy("vpn_gateway") CreateConnectionRequestInitiationPolicyCustomerGateway = CreateConnectionRequestInitiationPolicy("customer_gateway") )
const ( ListConnectionsRequestOrderByCreatedAtAsc = ListConnectionsRequestOrderBy("created_at_asc") ListConnectionsRequestOrderByCreatedAtDesc = ListConnectionsRequestOrderBy("created_at_desc") ListConnectionsRequestOrderByNameAsc = ListConnectionsRequestOrderBy("name_asc") ListConnectionsRequestOrderByNameDesc = ListConnectionsRequestOrderBy("name_desc") ListConnectionsRequestOrderByStatusAsc = ListConnectionsRequestOrderBy("status_asc") ListConnectionsRequestOrderByStatusDesc = ListConnectionsRequestOrderBy("status_desc") )
const ( ListCustomerGatewaysRequestOrderByCreatedAtAsc = ListCustomerGatewaysRequestOrderBy("created_at_asc") ListCustomerGatewaysRequestOrderByCreatedAtDesc = ListCustomerGatewaysRequestOrderBy("created_at_desc") ListCustomerGatewaysRequestOrderByNameAsc = ListCustomerGatewaysRequestOrderBy("name_asc") ListCustomerGatewaysRequestOrderByNameDesc = ListCustomerGatewaysRequestOrderBy("name_desc") )
const ( ListRoutingPoliciesRequestOrderByCreatedAtAsc = ListRoutingPoliciesRequestOrderBy("created_at_asc") ListRoutingPoliciesRequestOrderByCreatedAtDesc = ListRoutingPoliciesRequestOrderBy("created_at_desc") ListRoutingPoliciesRequestOrderByNameAsc = ListRoutingPoliciesRequestOrderBy("name_asc") ListRoutingPoliciesRequestOrderByNameDesc = ListRoutingPoliciesRequestOrderBy("name_desc") )
const ( ListVpnGatewaysRequestOrderByCreatedAtAsc = ListVpnGatewaysRequestOrderBy("created_at_asc") ListVpnGatewaysRequestOrderByCreatedAtDesc = ListVpnGatewaysRequestOrderBy("created_at_desc") ListVpnGatewaysRequestOrderByNameAsc = ListVpnGatewaysRequestOrderBy("name_asc") ListVpnGatewaysRequestOrderByNameDesc = ListVpnGatewaysRequestOrderBy("name_desc") ListVpnGatewaysRequestOrderByTypeAsc = ListVpnGatewaysRequestOrderBy("type_asc") ListVpnGatewaysRequestOrderByTypeDesc = ListVpnGatewaysRequestOrderBy("type_desc") ListVpnGatewaysRequestOrderByStatusAsc = ListVpnGatewaysRequestOrderBy("status_asc") ListVpnGatewaysRequestOrderByStatusDesc = ListVpnGatewaysRequestOrderBy("status_desc") )
const ( TunnelStatusUnknownTunnelStatus = TunnelStatus("unknown_tunnel_status") TunnelStatusUp = TunnelStatus("up") TunnelStatusDown = TunnelStatus("down") )
const ( VpnGatewayStatusUnknownStatus = VpnGatewayStatus("unknown_status") VpnGatewayStatusConfiguring = VpnGatewayStatus("configuring") VpnGatewayStatusFailed = VpnGatewayStatus("failed") VpnGatewayStatusProvisioning = VpnGatewayStatus("provisioning") VpnGatewayStatusActive = VpnGatewayStatus("active") VpnGatewayStatusDeprovisioning = VpnGatewayStatus("deprovisioning") VpnGatewayStatusLocked = VpnGatewayStatus("locked") )
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 Site-to-Site VPN.
func (*API) CreateConnection ¶
func (s *API) CreateConnection(req *CreateConnectionRequest, opts ...scw.RequestOption) (*CreateConnectionResponse, error)
CreateConnection: Create a connection.
func (*API) CreateCustomerGateway ¶
func (s *API) CreateCustomerGateway(req *CreateCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
CreateCustomerGateway: Create a customer gateway.
func (*API) CreateRoutingPolicy ¶
func (s *API) CreateRoutingPolicy(req *CreateRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
CreateRoutingPolicy: Create a routing policy. Routing policies allow you to set IP prefix filters to define the incoming route announcements to accept from the customer gateway, and the outgoing routes to announce to the customer gateway.
func (*API) CreateVpnGateway ¶
func (s *API) CreateVpnGateway(req *CreateVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
CreateVpnGateway: Create VPN gateway.
func (*API) DeleteConnection ¶
func (s *API) DeleteConnection(req *DeleteConnectionRequest, opts ...scw.RequestOption) error
DeleteConnection: Delete an existing connection, specified by its connection ID.
func (*API) DeleteCustomerGateway ¶
func (s *API) DeleteCustomerGateway(req *DeleteCustomerGatewayRequest, opts ...scw.RequestOption) error
DeleteCustomerGateway: Delete an existing customer gateway, specified by its customer gateway ID.
func (*API) DeleteRoutingPolicy ¶
func (s *API) DeleteRoutingPolicy(req *DeleteRoutingPolicyRequest, opts ...scw.RequestOption) error
DeleteRoutingPolicy: Delete an existing routing policy, specified by its routing policy ID.
func (*API) DeleteVpnGateway ¶
func (s *API) DeleteVpnGateway(req *DeleteVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
DeleteVpnGateway: Delete an existing VPN gateway, specified by its VPN gateway ID.
func (*API) DetachRoutingPolicy ¶
func (s *API) DetachRoutingPolicy(req *DetachRoutingPolicyRequest, opts ...scw.RequestOption) (*Connection, error)
DetachRoutingPolicy: Detach an existing routing policy from a connection, specified by its connection ID.
func (*API) DisableRoutePropagation ¶
func (s *API) DisableRoutePropagation(req *DisableRoutePropagationRequest, opts ...scw.RequestOption) (*Connection, error)
DisableRoutePropagation: Prevent any prefixes from being announced in the BGP session. Traffic will not be able to flow over the VPN Gateway until route propagation is re-enabled.
func (*API) EnableRoutePropagation ¶
func (s *API) EnableRoutePropagation(req *EnableRoutePropagationRequest, opts ...scw.RequestOption) (*Connection, error)
EnableRoutePropagation: Enable all allowed prefixes (defined in a routing policy) to be announced in the BGP session. This allows traffic to flow between the attached VPC and the on-premises infrastructure along the announced routes. Note that by default, even when route propagation is enabled, all routes are blocked. It is essential to attach a routing policy to define the ranges of routes to announce.
func (*API) GetConnection ¶
func (s *API) GetConnection(req *GetConnectionRequest, opts ...scw.RequestOption) (*Connection, error)
GetConnection: Get a connection for the given connection ID. The response object includes information about the connection's various configuration details.
func (*API) GetCustomerGateway ¶
func (s *API) GetCustomerGateway(req *GetCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
GetCustomerGateway: Get a customer gateway for the given customer gateway ID.
func (*API) GetRoutingPolicy ¶
func (s *API) GetRoutingPolicy(req *GetRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
GetRoutingPolicy: Get a routing policy for the given routing policy ID. The response object gives information including the policy's name, tags and prefix filters.
func (*API) GetVpnGateway ¶
func (s *API) GetVpnGateway(req *GetVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
GetVpnGateway: Get a VPN gateway for the given VPN gateway ID.
func (*API) ListConnections ¶
func (s *API) ListConnections(req *ListConnectionsRequest, opts ...scw.RequestOption) (*ListConnectionsResponse, error)
ListConnections: List all your connections. A number of filters are available, including Project ID, name, tags and status.
func (*API) ListCustomerGateways ¶
func (s *API) ListCustomerGateways(req *ListCustomerGatewaysRequest, opts ...scw.RequestOption) (*ListCustomerGatewaysResponse, error)
ListCustomerGateways: List all your customer gateways. A number of filters are available, including Project ID, name, and tags.
func (*API) ListRoutingPolicies ¶
func (s *API) ListRoutingPolicies(req *ListRoutingPoliciesRequest, opts ...scw.RequestOption) (*ListRoutingPoliciesResponse, error)
ListRoutingPolicies: List all routing policies in a given region. A routing policy can be attached to one or multiple connections (S2S VPN connections).
func (*API) ListVpnGatewayTypes ¶
func (s *API) ListVpnGatewayTypes(req *ListVpnGatewayTypesRequest, opts ...scw.RequestOption) (*ListVpnGatewayTypesResponse, error)
ListVpnGatewayTypes: List the different VPN gateway commercial offer types available at Scaleway. The response is an array of objects describing the name and technical details of each available VPN gateway type.
func (*API) ListVpnGateways ¶
func (s *API) ListVpnGateways(req *ListVpnGatewaysRequest, opts ...scw.RequestOption) (*ListVpnGatewaysResponse, error)
ListVpnGateways: List all your VPN gateways. A number of filters are available, including Project ID, name, tags and status.
func (*API) RenewConnectionPsk ¶
func (s *API) RenewConnectionPsk(req *RenewConnectionPskRequest, opts ...scw.RequestOption) (*RenewConnectionPskResponse, error)
RenewConnectionPsk: Renew pre-shared key for a given connection.
func (*API) SetRoutingPolicy ¶
func (s *API) SetRoutingPolicy(req *SetRoutingPolicyRequest, opts ...scw.RequestOption) (*Connection, error)
SetRoutingPolicy: Set a new routing policy on a connection, overriding the existing one if present, specified by its connection ID.
func (*API) UpdateConnection ¶
func (s *API) UpdateConnection(req *UpdateConnectionRequest, opts ...scw.RequestOption) (*Connection, error)
UpdateConnection: Update an existing connection, specified by its connection ID.
func (*API) UpdateCustomerGateway ¶
func (s *API) UpdateCustomerGateway(req *UpdateCustomerGatewayRequest, opts ...scw.RequestOption) (*CustomerGateway, error)
UpdateCustomerGateway: Update an existing customer gateway, specified by its customer gateway ID. You can update its name, tags, public IPv4 & IPv6 address and AS Number.
func (*API) UpdateRoutingPolicy ¶
func (s *API) UpdateRoutingPolicy(req *UpdateRoutingPolicyRequest, opts ...scw.RequestOption) (*RoutingPolicy, error)
UpdateRoutingPolicy: Update an existing routing policy, specified by its routing policy ID. Its name, tags and incoming/outgoing prefix filters can be updated.
func (*API) UpdateVpnGateway ¶
func (s *API) UpdateVpnGateway(req *UpdateVpnGatewayRequest, opts ...scw.RequestOption) (*VpnGateway, error)
UpdateVpnGateway: Update an existing VPN gateway, specified by its VPN gateway ID. Only its name and tags can be updated.
type BgpSession ¶
type BgpSession struct {
RoutingPolicyID string `json:"routing_policy_id"`
PrivateIP scw.IPNet `json:"private_ip"`
}
BgpSession: bgp session.
type BgpSessionStatus ¶
type BgpSessionStatus string
func (BgpSessionStatus) MarshalJSON ¶
func (enum BgpSessionStatus) MarshalJSON() ([]byte, error)
func (BgpSessionStatus) String ¶
func (enum BgpSessionStatus) String() string
func (*BgpSessionStatus) UnmarshalJSON ¶
func (enum *BgpSessionStatus) UnmarshalJSON(data []byte) error
func (BgpSessionStatus) Values ¶
func (enum BgpSessionStatus) Values() []BgpSessionStatus
type Connection ¶
type Connection struct {
// ID: unique identifier of the connection.
ID string `json:"id"`
// ProjectID: project ID.
ProjectID string `json:"project_id"`
// OrganizationID: organization ID.
OrganizationID string `json:"organization_id"`
// Name: name of the connection.
Name string `json:"name"`
// Tags: list of tags applied to the connection.
Tags []string `json:"tags"`
// CreatedAt: creation date of the connection.
CreatedAt *time.Time `json:"created_at"`
// UpdatedAt: last modification date of the connection.
UpdatedAt *time.Time `json:"updated_at"`
// Status: status of the connection.
// Default value: unknown_status
Status ConnectionStatus `json:"status"`
// InitiationPolicy: who initiates the IPsec tunnel.
// Default value: unknown_initiation_policy
InitiationPolicy ConnectionInitiationPolicy `json:"initiation_policy"`
// Ikev2Ciphers: list of IKE v2 ciphers proposed for the IPsec tunnel.
Ikev2Ciphers []*ConnectionCipher `json:"ikev2_ciphers"`
// EspCiphers: list of ESP ciphers proposed for the IPsec tunnel.
EspCiphers []*ConnectionCipher `json:"esp_ciphers"`
// RoutePropagationEnabled: defines whether route propagation is enabled or not.
RoutePropagationEnabled bool `json:"route_propagation_enabled"`
// VpnGatewayID: ID of the VPN gateway attached to the connection.
VpnGatewayID string `json:"vpn_gateway_id"`
// CustomerGatewayID: ID of the customer gateway attached to the connection.
CustomerGatewayID string `json:"customer_gateway_id"`
// TunnelStatusIPv4: status of the IPv4 IPsec tunnel.
// Default value: unknown_tunnel_status
TunnelStatusIPv4 TunnelStatus `json:"tunnel_status_ipv4"`
// TunnelStatusIPv6: status of the IPv6 IPsec tunnel.
// Default value: unknown_tunnel_status
TunnelStatusIPv6 TunnelStatus `json:"tunnel_status_ipv6"`
// BgpStatusIPv4: status of the BGP IPv4 session.
// Default value: unknown_status
BgpStatusIPv4 BgpSessionStatus `json:"bgp_status_ipv4"`
// BgpStatusIPv6: status of the BGP IPv6 session.
// Default value: unknown_status
BgpStatusIPv6 BgpSessionStatus `json:"bgp_status_ipv6"`
// BgpSessionIPv4: bGP IPv4 session, including status, interco private IPv4 subnet and attached routing policy.
BgpSessionIPv4 *BgpSession `json:"bgp_session_ipv4"`
// BgpSessionIPv6: bGP IPv6 session, including status, interco private IPv6 subnet and attached routing policy.
BgpSessionIPv6 *BgpSession `json:"bgp_session_ipv6"`
// Region: region of the connection.
Region scw.Region `json:"region"`
}
Connection: connection.
type ConnectionCipher ¶
type ConnectionCipher struct {
// Encryption: default value: unknown_encryption
Encryption ConnectionEncryption `json:"encryption"`
// Integrity: default value: unknown_integrity
Integrity *ConnectionIntegrity `json:"integrity"`
// DhGroup: default value: unknown_dhgroup
DhGroup *ConnectionDhGroup `json:"dh_group"`
}
ConnectionCipher: connection cipher.
type ConnectionDhGroup ¶
type ConnectionDhGroup string
func (ConnectionDhGroup) MarshalJSON ¶
func (enum ConnectionDhGroup) MarshalJSON() ([]byte, error)
func (ConnectionDhGroup) String ¶
func (enum ConnectionDhGroup) String() string
func (*ConnectionDhGroup) UnmarshalJSON ¶
func (enum *ConnectionDhGroup) UnmarshalJSON(data []byte) error
func (ConnectionDhGroup) Values ¶
func (enum ConnectionDhGroup) Values() []ConnectionDhGroup
type ConnectionEncryption ¶
type ConnectionEncryption string
func (ConnectionEncryption) MarshalJSON ¶
func (enum ConnectionEncryption) MarshalJSON() ([]byte, error)
func (ConnectionEncryption) String ¶
func (enum ConnectionEncryption) String() string
func (*ConnectionEncryption) UnmarshalJSON ¶
func (enum *ConnectionEncryption) UnmarshalJSON(data []byte) error
func (ConnectionEncryption) Values ¶
func (enum ConnectionEncryption) Values() []ConnectionEncryption
type ConnectionInitiationPolicy ¶
type ConnectionInitiationPolicy string
func (ConnectionInitiationPolicy) MarshalJSON ¶
func (enum ConnectionInitiationPolicy) MarshalJSON() ([]byte, error)
func (ConnectionInitiationPolicy) String ¶
func (enum ConnectionInitiationPolicy) String() string
func (*ConnectionInitiationPolicy) UnmarshalJSON ¶
func (enum *ConnectionInitiationPolicy) UnmarshalJSON(data []byte) error
func (ConnectionInitiationPolicy) Values ¶
func (enum ConnectionInitiationPolicy) Values() []ConnectionInitiationPolicy
type ConnectionIntegrity ¶
type ConnectionIntegrity string
func (ConnectionIntegrity) MarshalJSON ¶
func (enum ConnectionIntegrity) MarshalJSON() ([]byte, error)
func (ConnectionIntegrity) String ¶
func (enum ConnectionIntegrity) String() string
func (*ConnectionIntegrity) UnmarshalJSON ¶
func (enum *ConnectionIntegrity) UnmarshalJSON(data []byte) error
func (ConnectionIntegrity) Values ¶
func (enum ConnectionIntegrity) Values() []ConnectionIntegrity
type ConnectionStatus ¶
type ConnectionStatus string
func (ConnectionStatus) MarshalJSON ¶
func (enum ConnectionStatus) MarshalJSON() ([]byte, error)
func (ConnectionStatus) String ¶
func (enum ConnectionStatus) String() string
func (*ConnectionStatus) UnmarshalJSON ¶
func (enum *ConnectionStatus) UnmarshalJSON(data []byte) error
func (ConnectionStatus) Values ¶
func (enum ConnectionStatus) Values() []ConnectionStatus
type CreateConnectionRequest ¶
type CreateConnectionRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ProjectID: ID of the Project to create the connection in.
ProjectID string `json:"project_id"`
// Name: name of the connection.
Name string `json:"name"`
// Tags: list of tags to apply to the connection.
Tags []string `json:"tags"`
// InitiationPolicy: who initiates the IPsec tunnel.
// Default value: unknown_initiation_policy
InitiationPolicy CreateConnectionRequestInitiationPolicy `json:"initiation_policy"`
// Ikev2Ciphers: list of IKE v2 ciphers proposed for the IPsec tunnel.
Ikev2Ciphers []*ConnectionCipher `json:"ikev2_ciphers"`
// EspCiphers: list of ESP ciphers proposed for the IPsec tunnel.
EspCiphers []*ConnectionCipher `json:"esp_ciphers"`
// EnableRoutePropagation: defines whether route propagation is enabled or not.
EnableRoutePropagation bool `json:"enable_route_propagation"`
// VpnGatewayID: ID of the VPN gateway to attach to the connection.
VpnGatewayID string `json:"vpn_gateway_id"`
// CustomerGatewayID: ID of the customer gateway to attach to the connection.
CustomerGatewayID string `json:"customer_gateway_id"`
// BgpConfigIPv4: bGP config of IPv4 session, including interco private IPv4 subnet (first IP assigned to the VPN Gateway, second IP to the Customer Gateway) and attached routing policy.
BgpConfigIPv4 *CreateConnectionRequestBgpConfig `json:"bgp_config_ipv4,omitempty"`
// BgpConfigIPv6: bGP config of IPv6 session, including interco private IPv6 subnet (first IP assigned to the VPN Gateway, second IP to the Customer Gateway) and attached routing policy.
BgpConfigIPv6 *CreateConnectionRequestBgpConfig `json:"bgp_config_ipv6,omitempty"`
}
CreateConnectionRequest: create connection request.
type CreateConnectionRequestBgpConfig ¶
type CreateConnectionRequestBgpConfig struct {
RoutingPolicyID string `json:"routing_policy_id"`
}
CreateConnectionRequestBgpConfig: create connection request bgp config.
type CreateConnectionRequestInitiationPolicy ¶
type CreateConnectionRequestInitiationPolicy string
func (CreateConnectionRequestInitiationPolicy) MarshalJSON ¶
func (enum CreateConnectionRequestInitiationPolicy) MarshalJSON() ([]byte, error)
func (CreateConnectionRequestInitiationPolicy) String ¶
func (enum CreateConnectionRequestInitiationPolicy) String() string
func (*CreateConnectionRequestInitiationPolicy) UnmarshalJSON ¶
func (enum *CreateConnectionRequestInitiationPolicy) UnmarshalJSON(data []byte) error
func (CreateConnectionRequestInitiationPolicy) Values ¶
func (enum CreateConnectionRequestInitiationPolicy) Values() []CreateConnectionRequestInitiationPolicy
type CreateConnectionResponse ¶
type CreateConnectionResponse struct {
// Connection: this connection.
Connection *Connection `json:"connection"`
PreSharedKey string `json:"pre_shared_key"`
}
CreateConnectionResponse: create connection response.
type CreateCustomerGatewayRequest ¶
type CreateCustomerGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ProjectID: ID of the Project to create the customer gateway in.
ProjectID string `json:"project_id"`
// Name: name of the customer gateway.
Name string `json:"name"`
// Tags: list of tags to apply to the customer gateway.
Tags []string `json:"tags"`
// IPv4Public: public IPv4 address of the customer gateway.
IPv4Public *net.IP `json:"ipv4_public,omitempty"`
// IPv6Public: public IPv6 address of the customer gateway.
IPv6Public *net.IP `json:"ipv6_public,omitempty"`
// Asn: aS Number of the customer gateway.
Asn uint32 `json:"asn"`
}
CreateCustomerGatewayRequest: create customer gateway request.
type CreateRoutingPolicyRequest ¶
type CreateRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ProjectID: ID of the Project to create the routing policy in.
ProjectID string `json:"project_id"`
// Name: name of the routing policy.
Name string `json:"name"`
// Tags: list of tags to apply to the routing policy.
Tags []string `json:"tags"`
// IsIPv6: IP prefixes version of the routing policy.
IsIPv6 bool `json:"is_ipv6"`
// PrefixFilterIn: IP prefixes to accept from the peer (ranges of route announcements to accept).
PrefixFilterIn []scw.IPNet `json:"prefix_filter_in"`
// PrefixFilterOut: IP prefix filters to advertise to the peer (ranges of routes to advertise).
PrefixFilterOut []scw.IPNet `json:"prefix_filter_out"`
}
CreateRoutingPolicyRequest: create routing policy request.
type CreateVpnGatewayRequest ¶
type CreateVpnGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ProjectID: ID of the Project to create the VPN gateway in.
ProjectID string `json:"project_id"`
// Name: name of the VPN gateway.
Name string `json:"name"`
// Tags: list of tags to apply to the VPN gateway.
Tags []string `json:"tags"`
// GatewayType: vPN gateway type (commercial offer type).
GatewayType string `json:"gateway_type"`
// PublicConfig: public endpoint configuration of the VPN gateway.
// Precisely one of PublicConfig must be set.
PublicConfig *CreateVpnGatewayRequestPublicConfig `json:"public_config,omitempty"`
// PrivateNetworkID: ID of the Private Network to attach to the VPN gateway.
PrivateNetworkID string `json:"private_network_id"`
// IpamPrivateIPv4ID: ID of the IPAM private IPv4 address to attach to the VPN gateway.
IpamPrivateIPv4ID *string `json:"ipam_private_ipv4_id,omitempty"`
// IpamPrivateIPv6ID: ID of the IPAM private IPv6 address to attach to the VPN gateway.
IpamPrivateIPv6ID *string `json:"ipam_private_ipv6_id,omitempty"`
// Zone: availability Zone where the VPN gateway should be provisioned. If no zone is specified, the VPN gateway will be automatically placed.
Zone *scw.Zone `json:"zone,omitempty"`
}
CreateVpnGatewayRequest: create vpn gateway request.
type CreateVpnGatewayRequestPublicConfig ¶
type CreateVpnGatewayRequestPublicConfig struct {
IpamIPv4ID *string `json:"ipam_ipv4_id"`
IpamIPv6ID *string `json:"ipam_ipv6_id"`
}
CreateVpnGatewayRequestPublicConfig: create vpn gateway request public config.
type CustomerGateway ¶
type CustomerGateway struct {
// ID: unique identifier of the customer gateway.
ID string `json:"id"`
// ProjectID: project ID.
ProjectID string `json:"project_id"`
// OrganizationID: organization ID.
OrganizationID string `json:"organization_id"`
// Name: name of the customer gateway.
Name string `json:"name"`
// Tags: list of tags applied to the customer gateway.
Tags []string `json:"tags"`
// CreatedAt: creation date of the customer gateway.
CreatedAt *time.Time `json:"created_at"`
// UpdatedAt: last modification date of the customer gateway.
UpdatedAt *time.Time `json:"updated_at"`
// PublicIPv4: public IPv4 address of the customer gateway.
PublicIPv4 *net.IP `json:"public_ipv4"`
// PublicIPv6: public IPv6 address of the customer gateway.
PublicIPv6 *net.IP `json:"public_ipv6"`
// Asn: aS Number of the customer gateway.
Asn uint32 `json:"asn"`
}
CustomerGateway: customer gateway.
type DeleteConnectionRequest ¶
type DeleteConnectionRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection to delete.
ConnectionID string `json:"-"`
}
DeleteConnectionRequest: delete connection request.
type DeleteCustomerGatewayRequest ¶
type DeleteCustomerGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the customer gateway to delete.
GatewayID string `json:"-"`
}
DeleteCustomerGatewayRequest: delete customer gateway request.
type DeleteRoutingPolicyRequest ¶
type DeleteRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// RoutingPolicyID: ID of the routing policy to delete.
RoutingPolicyID string `json:"-"`
}
DeleteRoutingPolicyRequest: delete routing policy request.
type DeleteVpnGatewayRequest ¶
type DeleteVpnGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the VPN gateway to delete.
GatewayID string `json:"-"`
}
DeleteVpnGatewayRequest: delete vpn gateway request.
type DetachRoutingPolicyRequest ¶
type DetachRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection from which routing policy is being detached.
ConnectionID string `json:"-"`
// RoutingPolicyV4: ID of the routing policy to detach from the BGP IPv4 session.
// Precisely one of RoutingPolicyV4, RoutingPolicyV6 must be set.
RoutingPolicyV4 *string `json:"routing_policy_v4,omitempty"`
// RoutingPolicyV6: ID of the routing policy to detach from the BGP IPv6 session.
// Precisely one of RoutingPolicyV4, RoutingPolicyV6 must be set.
RoutingPolicyV6 *string `json:"routing_policy_v6,omitempty"`
}
DetachRoutingPolicyRequest: detach routing policy request.
type DisableRoutePropagationRequest ¶
type DisableRoutePropagationRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection on which to disable route propagation.
ConnectionID string `json:"-"`
}
DisableRoutePropagationRequest: disable route propagation request.
type EnableRoutePropagationRequest ¶
type EnableRoutePropagationRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection on which to enable route propagation.
ConnectionID string `json:"-"`
}
EnableRoutePropagationRequest: enable route propagation request.
type GatewayType ¶
type GatewayType struct {
Name string `json:"name"`
Bandwidth uint64 `json:"bandwidth"`
AllowedConnections uint64 `json:"allowed_connections"`
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"region"`
}
GatewayType: gateway type.
type GetConnectionRequest ¶
type GetConnectionRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the requested connection.
ConnectionID string `json:"-"`
}
GetConnectionRequest: get connection request.
type GetCustomerGatewayRequest ¶
type GetCustomerGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the requested customer gateway.
GatewayID string `json:"-"`
}
GetCustomerGatewayRequest: get customer gateway request.
type GetRoutingPolicyRequest ¶
type GetRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// RoutingPolicyID: ID of the routing policy to get.
RoutingPolicyID string `json:"-"`
}
GetRoutingPolicyRequest: get routing policy request.
type GetVpnGatewayRequest ¶
type GetVpnGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the requested VPN gateway.
GatewayID string `json:"-"`
}
GetVpnGatewayRequest: get vpn gateway request.
type ListConnectionsRequest ¶
type ListConnectionsRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// Page: page number to return.
Page *int32 `json:"-"`
// PageSize: maximum number of connections to return per page.
PageSize *uint32 `json:"-"`
// OrderBy: order in which to return results.
// Default value: created_at_asc
OrderBy ListConnectionsRequestOrderBy `json:"-"`
// ProjectID: project ID to filter for.
ProjectID *string `json:"-"`
// Name: connection name to filter for.
Name *string `json:"-"`
// Tags: tags to filter for.
Tags []string `json:"-"`
// Statuses: connection statuses to filter for.
Statuses []ConnectionStatus `json:"-"`
// RoutingPolicyIDs: filter for connections using these routing policies.
RoutingPolicyIDs []string `json:"-"`
// RoutePropagationEnabled: filter for connections with route propagation enabled.
RoutePropagationEnabled *bool `json:"-"`
// VpnGatewayIDs: filter for connections attached to these VPN gateways.
VpnGatewayIDs []string `json:"-"`
// CustomerGatewayIDs: filter for connections attached to these customer gateways.
CustomerGatewayIDs []string `json:"-"`
}
ListConnectionsRequest: list connections request.
type ListConnectionsRequestOrderBy ¶
type ListConnectionsRequestOrderBy string
func (ListConnectionsRequestOrderBy) MarshalJSON ¶
func (enum ListConnectionsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListConnectionsRequestOrderBy) String ¶
func (enum ListConnectionsRequestOrderBy) String() string
func (*ListConnectionsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListConnectionsRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListConnectionsRequestOrderBy) Values ¶
func (enum ListConnectionsRequestOrderBy) Values() []ListConnectionsRequestOrderBy
type ListConnectionsResponse ¶
type ListConnectionsResponse struct {
// Connections: list of connections on the current page.
Connections []*Connection `json:"connections"`
// TotalCount: total number of connections.
TotalCount uint64 `json:"total_count"`
}
ListConnectionsResponse: list connections response.
func (*ListConnectionsResponse) UnsafeAppend ¶
func (r *ListConnectionsResponse) UnsafeAppend(res any) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListConnectionsResponse) UnsafeGetTotalCount ¶
func (r *ListConnectionsResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type ListCustomerGatewaysRequest ¶
type ListCustomerGatewaysRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// Page: page number to return.
Page *int32 `json:"-"`
// PageSize: maximum number of customer gateways to return per page.
PageSize *uint32 `json:"-"`
// OrderBy: order in which to return results.
// Default value: created_at_asc
OrderBy ListCustomerGatewaysRequestOrderBy `json:"-"`
// ProjectID: project ID to filter for.
ProjectID *string `json:"-"`
// Name: customer gateway name to filter for.
Name *string `json:"-"`
// Tags: tags to filter for.
Tags []string `json:"-"`
}
ListCustomerGatewaysRequest: list customer gateways request.
type ListCustomerGatewaysRequestOrderBy ¶
type ListCustomerGatewaysRequestOrderBy string
func (ListCustomerGatewaysRequestOrderBy) MarshalJSON ¶
func (enum ListCustomerGatewaysRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListCustomerGatewaysRequestOrderBy) String ¶
func (enum ListCustomerGatewaysRequestOrderBy) String() string
func (*ListCustomerGatewaysRequestOrderBy) UnmarshalJSON ¶
func (enum *ListCustomerGatewaysRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListCustomerGatewaysRequestOrderBy) Values ¶
func (enum ListCustomerGatewaysRequestOrderBy) Values() []ListCustomerGatewaysRequestOrderBy
type ListCustomerGatewaysResponse ¶
type ListCustomerGatewaysResponse struct {
// Gateways: list of customer gateways on the current page.
Gateways []*CustomerGateway `json:"gateways"`
// TotalCount: total number of customer gateways.
TotalCount uint64 `json:"total_count"`
}
ListCustomerGatewaysResponse: list customer gateways response.
func (*ListCustomerGatewaysResponse) UnsafeAppend ¶
func (r *ListCustomerGatewaysResponse) UnsafeAppend(res any) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListCustomerGatewaysResponse) UnsafeGetTotalCount ¶
func (r *ListCustomerGatewaysResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type ListRoutingPoliciesRequest ¶
type ListRoutingPoliciesRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// Page: page number to return.
Page *int32 `json:"-"`
// PageSize: maximum number of routing policies to return per page.
PageSize *uint32 `json:"-"`
// OrderBy: order in which to return results.
// Default value: created_at_asc
OrderBy ListRoutingPoliciesRequestOrderBy `json:"-"`
// ProjectID: project ID to filter for.
ProjectID *string `json:"-"`
// Name: routing policy name to filter for.
Name *string `json:"-"`
// Tags: tags to filter for.
Tags []string `json:"-"`
// IPv6: filter for the routing policies based on IP prefixes version.
IPv6 *bool `json:"-"`
}
ListRoutingPoliciesRequest: list routing policies request.
type ListRoutingPoliciesRequestOrderBy ¶
type ListRoutingPoliciesRequestOrderBy string
func (ListRoutingPoliciesRequestOrderBy) MarshalJSON ¶
func (enum ListRoutingPoliciesRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListRoutingPoliciesRequestOrderBy) String ¶
func (enum ListRoutingPoliciesRequestOrderBy) String() string
func (*ListRoutingPoliciesRequestOrderBy) UnmarshalJSON ¶
func (enum *ListRoutingPoliciesRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListRoutingPoliciesRequestOrderBy) Values ¶
func (enum ListRoutingPoliciesRequestOrderBy) Values() []ListRoutingPoliciesRequestOrderBy
type ListRoutingPoliciesResponse ¶
type ListRoutingPoliciesResponse struct {
RoutingPolicies []*RoutingPolicy `json:"routing_policies"`
TotalCount uint64 `json:"total_count"`
}
ListRoutingPoliciesResponse: list routing policies response.
func (*ListRoutingPoliciesResponse) UnsafeAppend ¶
func (r *ListRoutingPoliciesResponse) UnsafeAppend(res any) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListRoutingPoliciesResponse) UnsafeGetTotalCount ¶
func (r *ListRoutingPoliciesResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type ListVpnGatewayTypesRequest ¶
type ListVpnGatewayTypesRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// Page: page number to return.
Page *int32 `json:"-"`
// PageSize: maximum number of VPN gateway types to return per page.
PageSize *uint32 `json:"-"`
}
ListVpnGatewayTypesRequest: list vpn gateway types request.
type ListVpnGatewayTypesResponse ¶
type ListVpnGatewayTypesResponse struct {
// GatewayTypes: list of VPN gateway types on the current page.
GatewayTypes []*GatewayType `json:"gateway_types"`
// TotalCount: total number of gateway types.
TotalCount uint64 `json:"total_count"`
}
ListVpnGatewayTypesResponse: list vpn gateway types response.
func (*ListVpnGatewayTypesResponse) UnsafeAppend ¶
func (r *ListVpnGatewayTypesResponse) UnsafeAppend(res any) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListVpnGatewayTypesResponse) UnsafeGetTotalCount ¶
func (r *ListVpnGatewayTypesResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type ListVpnGatewaysRequest ¶
type ListVpnGatewaysRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// Page: page number to return.
Page *int32 `json:"-"`
// PageSize: maximum number of VPN gateways to return per page.
PageSize *uint32 `json:"-"`
// OrderBy: order in which to return results.
// Default value: created_at_asc
OrderBy ListVpnGatewaysRequestOrderBy `json:"-"`
// ProjectID: project ID to filter for.
ProjectID *string `json:"-"`
// Name: vPN gateway name to filter for.
Name *string `json:"-"`
// Tags: tags to filter for.
Tags []string `json:"-"`
// Statuses: vPN gateway statuses to filter for.
Statuses []VpnGatewayStatus `json:"-"`
// GatewayTypes: filter for VPN gateways of these types.
GatewayTypes []string `json:"-"`
// PrivateNetworkIDs: filter for VPN gateways attached to these private networks.
PrivateNetworkIDs []string `json:"-"`
}
ListVpnGatewaysRequest: list vpn gateways request.
type ListVpnGatewaysRequestOrderBy ¶
type ListVpnGatewaysRequestOrderBy string
func (ListVpnGatewaysRequestOrderBy) MarshalJSON ¶
func (enum ListVpnGatewaysRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListVpnGatewaysRequestOrderBy) String ¶
func (enum ListVpnGatewaysRequestOrderBy) String() string
func (*ListVpnGatewaysRequestOrderBy) UnmarshalJSON ¶
func (enum *ListVpnGatewaysRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListVpnGatewaysRequestOrderBy) Values ¶
func (enum ListVpnGatewaysRequestOrderBy) Values() []ListVpnGatewaysRequestOrderBy
type ListVpnGatewaysResponse ¶
type ListVpnGatewaysResponse struct {
// Gateways: list of VPN gateways on the current page.
Gateways []*VpnGateway `json:"gateways"`
// TotalCount: total number of VPN gateways.
TotalCount uint64 `json:"total_count"`
}
ListVpnGatewaysResponse: list vpn gateways response.
func (*ListVpnGatewaysResponse) UnsafeAppend ¶
func (r *ListVpnGatewaysResponse) UnsafeAppend(res any) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListVpnGatewaysResponse) UnsafeGetTotalCount ¶
func (r *ListVpnGatewaysResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type RenewConnectionPskRequest ¶
type RenewConnectionPskRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection to renew the PSK.
ConnectionID string `json:"-"`
}
RenewConnectionPskRequest: renew connection psk request.
type RenewConnectionPskResponse ¶
type RenewConnectionPskResponse struct {
// Connection: this connection.
Connection *Connection `json:"connection"`
PreSharedKey string `json:"pre_shared_key"`
}
RenewConnectionPskResponse: renew connection psk response.
type RoutingPolicy ¶
type RoutingPolicy struct {
// ID: unique identifier of the routing policy.
ID string `json:"id"`
// ProjectID: project ID.
ProjectID string `json:"project_id"`
// OrganizationID: organization ID.
OrganizationID string `json:"organization_id"`
// Name: name of the routing policy.
Name string `json:"name"`
// Tags: list of tags associated with the routing policy.
Tags []string `json:"tags"`
// CreatedAt: creation date of the routing policy.
CreatedAt *time.Time `json:"created_at"`
// UpdatedAt: last modification date of the routing policy.
UpdatedAt *time.Time `json:"updated_at"`
// IsIPv6: IP prefixes version of the routing policy.
IsIPv6 bool `json:"is_ipv6"`
// PrefixFilterIn: IP prefixes to accept from the peer (ranges of route announcements to accept).
PrefixFilterIn []scw.IPNet `json:"prefix_filter_in"`
// PrefixFilterOut: IP prefix filters to advertise to the peer (ranges of routes to advertise).
PrefixFilterOut []scw.IPNet `json:"prefix_filter_out"`
// Region: region of the routing policy.
Region scw.Region `json:"region"`
}
RoutingPolicy: routing policy.
type SetRoutingPolicyRequest ¶
type SetRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection whose routing policy is being updated.
ConnectionID string `json:"-"`
// RoutingPolicyV4: ID of the routing policy to set for the BGP IPv4 session.
// Precisely one of RoutingPolicyV4, RoutingPolicyV6 must be set.
RoutingPolicyV4 *string `json:"routing_policy_v4,omitempty"`
// RoutingPolicyV6: ID of the routing policy to set for the BGP IPv6 session.
// Precisely one of RoutingPolicyV4, RoutingPolicyV6 must be set.
RoutingPolicyV6 *string `json:"routing_policy_v6,omitempty"`
}
SetRoutingPolicyRequest: set routing policy request.
type TunnelStatus ¶
type TunnelStatus string
func (TunnelStatus) MarshalJSON ¶
func (enum TunnelStatus) MarshalJSON() ([]byte, error)
func (TunnelStatus) String ¶
func (enum TunnelStatus) String() string
func (*TunnelStatus) UnmarshalJSON ¶
func (enum *TunnelStatus) UnmarshalJSON(data []byte) error
func (TunnelStatus) Values ¶
func (enum TunnelStatus) Values() []TunnelStatus
type UpdateConnectionRequest ¶
type UpdateConnectionRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// ConnectionID: ID of the connection to update.
ConnectionID string `json:"-"`
// Name: name of the connection.
Name *string `json:"name,omitempty"`
// Tags: list of tags to apply to the connection.
Tags *[]string `json:"tags,omitempty"`
// InitiationPolicy: who initiates the IPsec tunnel.
// Default value: unknown_initiation_policy
InitiationPolicy CreateConnectionRequestInitiationPolicy `json:"initiation_policy"`
// Ikev2Ciphers: list of IKE v2 ciphers proposed for the IPsec tunnel.
Ikev2Ciphers []*ConnectionCipher `json:"ikev2_ciphers"`
// EspCiphers: list of ESP ciphers proposed for the IPsec tunnel.
EspCiphers []*ConnectionCipher `json:"esp_ciphers"`
}
UpdateConnectionRequest: update connection request.
type UpdateCustomerGatewayRequest ¶
type UpdateCustomerGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the customer gateway to update.
GatewayID string `json:"-"`
// Name: name of the customer gateway.
Name *string `json:"name,omitempty"`
// Tags: list of tags to apply to the customer gateway.
Tags *[]string `json:"tags,omitempty"`
// IPv4Public: public IPv4 address of the customer gateway.
IPv4Public *net.IP `json:"ipv4_public,omitempty"`
// IPv6Public: public IPv6 address of the customer gateway.
IPv6Public *net.IP `json:"ipv6_public,omitempty"`
// Asn: aS Number of the customer gateway.
Asn *uint32 `json:"asn,omitempty"`
}
UpdateCustomerGatewayRequest: update customer gateway request.
type UpdateRoutingPolicyRequest ¶
type UpdateRoutingPolicyRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// RoutingPolicyID: ID of the routing policy to update.
RoutingPolicyID string `json:"-"`
// Name: name of the routing policy.
Name *string `json:"name,omitempty"`
// Tags: list of tags to apply to the routing policy.
Tags *[]string `json:"tags,omitempty"`
// PrefixFilterIn: IP prefixes to accept from the peer (ranges of route announcements to accept).
PrefixFilterIn *[]string `json:"prefix_filter_in,omitempty"`
// PrefixFilterOut: IP prefix filters for routes to advertise to the peer (ranges of routes to advertise).
PrefixFilterOut *[]string `json:"prefix_filter_out,omitempty"`
}
UpdateRoutingPolicyRequest: update routing policy request.
type UpdateVpnGatewayRequest ¶
type UpdateVpnGatewayRequest struct {
// Region: region to target. If none is passed will use default region from the config.
Region scw.Region `json:"-"`
// GatewayID: ID of the VPN gateway to update.
GatewayID string `json:"-"`
// Name: name of the VPN gateway.
Name *string `json:"name,omitempty"`
// Tags: list of tags to apply to the VPN Gateway.
Tags *[]string `json:"tags,omitempty"`
}
UpdateVpnGatewayRequest: update vpn gateway request.
type VpnGateway ¶
type VpnGateway struct {
// ID: unique identifier of the VPN gateway.
ID string `json:"id"`
// ProjectID: project ID.
ProjectID string `json:"project_id"`
// OrganizationID: organization ID.
OrganizationID string `json:"organization_id"`
// Name: name of the VPN gateway.
Name string `json:"name"`
// Tags: list of tags applied to the VPN gateway.
Tags []string `json:"tags"`
// CreatedAt: creation date of the VPN gateway.
CreatedAt *time.Time `json:"created_at"`
// UpdatedAt: last modification date of the VPN gateway.
UpdatedAt *time.Time `json:"updated_at"`
// Status: status of the VPN gateway.
// Default value: unknown_status
Status VpnGatewayStatus `json:"status"`
// GatewayType: gateway type of the VPN gateway.
GatewayType string `json:"gateway_type"`
// PublicConfig: public endpoint configuration of the VPN gateway.
// Precisely one of PublicConfig, PrivateConfig must be set.
PublicConfig *VpnGatewayPublicConfig `json:"public_config,omitempty"`
// PrivateNetworkID: ID of the Private Network attached to the VPN gateway.
PrivateNetworkID string `json:"private_network_id"`
// Precisely one of PublicConfig, PrivateConfig must be set.
PrivateConfig *VpnGatewayPrivateConfig `json:"private_config,omitempty"`
// IpamPrivateIPv4ID: ID of the IPAM private IPv4 address attached to the VPN gateway.
IpamPrivateIPv4ID string `json:"ipam_private_ipv4_id"`
// IpamPrivateIPv6ID: ID of the IPAM private IPv6 address attached to the VPN gateway.
IpamPrivateIPv6ID string `json:"ipam_private_ipv6_id"`
// Asn: autonomous System Number (ASN) of the VPN gateway, used by Border Gateway Protocol (BGP) to exchange routing information with the customer gateway.
Asn uint32 `json:"asn"`
// Zone: zone where the VPN gateway resource is currently provisioned.
Zone scw.Zone `json:"zone"`
// Region: region of the VPN gateway.
Region scw.Region `json:"region"`
}
VpnGateway: vpn gateway.
type VpnGatewayPrivateConfig ¶
type VpnGatewayPrivateConfig struct{}
VpnGatewayPrivateConfig: vpn gateway private config.
type VpnGatewayPublicConfig ¶
type VpnGatewayPublicConfig struct {
IpamIPv4ID *string `json:"ipam_ipv4_id"`
IpamIPv6ID *string `json:"ipam_ipv6_id"`
}
VpnGatewayPublicConfig: vpn gateway public config.
type VpnGatewayStatus ¶
type VpnGatewayStatus string
func (VpnGatewayStatus) MarshalJSON ¶
func (enum VpnGatewayStatus) MarshalJSON() ([]byte, error)
func (VpnGatewayStatus) String ¶
func (enum VpnGatewayStatus) String() string
func (*VpnGatewayStatus) UnmarshalJSON ¶
func (enum *VpnGatewayStatus) UnmarshalJSON(data []byte) error
func (VpnGatewayStatus) Values ¶
func (enum VpnGatewayStatus) Values() []VpnGatewayStatus