vpc

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 27, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VpcPeeringConnectionStateTypeAltChoices added in v0.3.0

func VpcPeeringConnectionStateTypeAltChoices() []string

func VpcPeeringConnectionStateTypeChoices added in v0.3.0

func VpcPeeringConnectionStateTypeChoices() []string

func VpcPeeringConnectionTypeChoices added in v0.3.0

func VpcPeeringConnectionTypeChoices() []string

func VpcStateTypeChoices added in v0.3.0

func VpcStateTypeChoices() []string

func WarningTypeChoices added in v0.3.0

func WarningTypeChoices() []string

Types

type AddIn

type AddIn struct {
	Cidr              string `json:"cidr"`
	PeerCloudAccount  string `json:"peer_cloud_account"`
	PeerResourceGroup string `json:"peer_resource_group,omitempty"`
	PeerVpc           string `json:"peer_vpc"`
}

type Handler

type Handler interface {
	// VpcCreate create a VPC in a cloud for the project
	// POST /v1/project/{project}/vpcs
	// https://api.aiven.io/doc/#tag/Project/operation/VpcCreate
	VpcCreate(ctx context.Context, project string, in *VpcCreateIn) (*VpcCreateOut, error)

	// VpcDelete delete a project VPC
	// DELETE /v1/project/{project}/vpcs/{project_vpc_id}
	// https://api.aiven.io/doc/#tag/Project/operation/VpcDelete
	VpcDelete(ctx context.Context, project string, projectVpcId string) (*VpcDeleteOut, error)

	// VpcGet get VPC information
	// GET /v1/project/{project}/vpcs/{project_vpc_id}
	// https://api.aiven.io/doc/#tag/Project/operation/VpcGet
	VpcGet(ctx context.Context, project string, projectVpcId string) (*VpcGetOut, error)

	// VpcList list VPCs for a project
	// GET /v1/project/{project}/vpcs
	// https://api.aiven.io/doc/#tag/Project/operation/VpcList
	VpcList(ctx context.Context, project string) ([]VpcOut, error)

	// VpcPeeringConnectionCreate create a peering connection for a project VPC
	// POST /v1/project/{project}/vpcs/{project_vpc_id}/peering-connections
	// https://api.aiven.io/doc/#tag/Project/operation/VpcPeeringConnectionCreate
	VpcPeeringConnectionCreate(ctx context.Context, project string, projectVpcId string, in *VpcPeeringConnectionCreateIn) (*VpcPeeringConnectionCreateOut, error)

	// VpcPeeringConnectionDelete delete a peering connection for a project VPC
	// DELETE /v1/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-vpcs/{peer_vpc}
	// https://api.aiven.io/doc/#tag/Project/operation/VpcPeeringConnectionDelete
	VpcPeeringConnectionDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerVpc string) (*VpcPeeringConnectionDeleteOut, error)

	// VpcPeeringConnectionUpdate update user-defined peer network CIDRs for a project VPC
	// PUT /v1/project/{project}/vpcs/{project_vpc_id}/user-peer-network-cidrs
	// https://api.aiven.io/doc/#tag/Project/operation/VpcPeeringConnectionUpdate
	VpcPeeringConnectionUpdate(ctx context.Context, project string, projectVpcId string, in *VpcPeeringConnectionUpdateIn) (*VpcPeeringConnectionUpdateOut, error)

	// VpcPeeringConnectionWithRegionDelete delete a peering connection for a project VPC
	// DELETE /v1/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-vpcs/{peer_vpc}/peer-regions/{peer_region}
	// https://api.aiven.io/doc/#tag/Project/operation/VpcPeeringConnectionWithRegionDelete
	VpcPeeringConnectionWithRegionDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerVpc string, peerRegion string) (*VpcPeeringConnectionWithRegionDeleteOut, error)

	// VpcPeeringConnectionWithResourceGroupDelete delete a peering connection for a project VPC
	// DELETE /v1/project/{project}/vpcs/{project_vpc_id}/peering-connections/peer-accounts/{peer_cloud_account}/peer-resource-groups/{peer_resource_group}/peer-vpcs/{peer_vpc}
	// https://api.aiven.io/doc/#tag/Project/operation/VpcPeeringConnectionWithResourceGroupDelete
	VpcPeeringConnectionWithResourceGroupDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerResourceGroup string, peerVpc string) (*VpcPeeringConnectionWithResourceGroupDeleteOut, error)
}

type PeeringConnectionIn

type PeeringConnectionIn struct {
	PeerAzureAppId       string    `json:"peer_azure_app_id,omitempty"`
	PeerAzureTenantId    string    `json:"peer_azure_tenant_id,omitempty"`
	PeerCloudAccount     string    `json:"peer_cloud_account"`
	PeerRegion           string    `json:"peer_region,omitempty"`
	PeerResourceGroup    string    `json:"peer_resource_group,omitempty"`
	PeerVpc              string    `json:"peer_vpc"`
	UserPeerNetworkCidrs *[]string `json:"user_peer_network_cidrs,omitempty"`
}

type PeeringConnectionOut

type PeeringConnectionOut struct {
	CreateTime               time.Time                     `json:"create_time"`
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`
	PeerCloudAccount         string                        `json:"peer_cloud_account"`
	PeerRegion               string                        `json:"peer_region,omitempty"`
	PeerResourceGroup        string                        `json:"peer_resource_group"`
	PeerVpc                  string                        `json:"peer_vpc"`
	State                    VpcPeeringConnectionStateType `json:"state"`
	StateInfo                StateInfoOut                  `json:"state_info"`
	UpdateTime               time.Time                     `json:"update_time"`
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`
}

type StateInfoOut

type StateInfoOut struct {
	Message  string       `json:"message"`
	Type     string       `json:"type"`
	Warnings []WarningOut `json:"warnings,omitempty"`
}

type VpcCreateIn

type VpcCreateIn struct {
	CloudName          string                `json:"cloud_name"`
	NetworkCidr        string                `json:"network_cidr"`
	PeeringConnections []PeeringConnectionIn `json:"peering_connections"`
}

type VpcCreateOut

type VpcCreateOut struct {
	CloudName                          string                 `json:"cloud_name"`
	CreateTime                         time.Time              `json:"create_time"`
	NetworkCidr                        string                 `json:"network_cidr"`
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`
	PendingBuildOnlyPeeringConnections string                 `json:"pending_build_only_peering_connections,omitempty"`
	ProjectVpcId                       string                 `json:"project_vpc_id"`
	State                              VpcStateType           `json:"state"`
	UpdateTime                         time.Time              `json:"update_time"`
}

type VpcDeleteOut

type VpcDeleteOut struct {
	CloudName                          string                 `json:"cloud_name"`
	CreateTime                         time.Time              `json:"create_time"`
	NetworkCidr                        string                 `json:"network_cidr"`
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`
	PendingBuildOnlyPeeringConnections string                 `json:"pending_build_only_peering_connections,omitempty"`
	ProjectVpcId                       string                 `json:"project_vpc_id"`
	State                              VpcStateType           `json:"state"`
	UpdateTime                         time.Time              `json:"update_time"`
}

type VpcGetOut

type VpcGetOut struct {
	CloudName                          string                 `json:"cloud_name"`
	CreateTime                         time.Time              `json:"create_time"`
	NetworkCidr                        string                 `json:"network_cidr"`
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`
	PendingBuildOnlyPeeringConnections string                 `json:"pending_build_only_peering_connections,omitempty"`
	ProjectVpcId                       string                 `json:"project_vpc_id"`
	State                              VpcStateType           `json:"state"`
	UpdateTime                         time.Time              `json:"update_time"`
}

type VpcHandler

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

func NewHandler

func NewHandler(doer doer) VpcHandler

func (*VpcHandler) VpcCreate

func (h *VpcHandler) VpcCreate(ctx context.Context, project string, in *VpcCreateIn) (*VpcCreateOut, error)

func (*VpcHandler) VpcDelete

func (h *VpcHandler) VpcDelete(ctx context.Context, project string, projectVpcId string) (*VpcDeleteOut, error)

func (*VpcHandler) VpcGet

func (h *VpcHandler) VpcGet(ctx context.Context, project string, projectVpcId string) (*VpcGetOut, error)

func (*VpcHandler) VpcList

func (h *VpcHandler) VpcList(ctx context.Context, project string) ([]VpcOut, error)

func (*VpcHandler) VpcPeeringConnectionCreate

func (h *VpcHandler) VpcPeeringConnectionCreate(ctx context.Context, project string, projectVpcId string, in *VpcPeeringConnectionCreateIn) (*VpcPeeringConnectionCreateOut, error)

func (*VpcHandler) VpcPeeringConnectionDelete

func (h *VpcHandler) VpcPeeringConnectionDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerVpc string) (*VpcPeeringConnectionDeleteOut, error)

func (*VpcHandler) VpcPeeringConnectionUpdate

func (h *VpcHandler) VpcPeeringConnectionUpdate(ctx context.Context, project string, projectVpcId string, in *VpcPeeringConnectionUpdateIn) (*VpcPeeringConnectionUpdateOut, error)

func (*VpcHandler) VpcPeeringConnectionWithRegionDelete

func (h *VpcHandler) VpcPeeringConnectionWithRegionDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerVpc string, peerRegion string) (*VpcPeeringConnectionWithRegionDeleteOut, error)

func (*VpcHandler) VpcPeeringConnectionWithResourceGroupDelete

func (h *VpcHandler) VpcPeeringConnectionWithResourceGroupDelete(ctx context.Context, project string, projectVpcId string, peerCloudAccount string, peerResourceGroup string, peerVpc string) (*VpcPeeringConnectionWithResourceGroupDeleteOut, error)

type VpcOut

type VpcOut struct {
	CloudName    string       `json:"cloud_name"`
	CreateTime   time.Time    `json:"create_time"`
	NetworkCidr  string       `json:"network_cidr"`
	ProjectVpcId string       `json:"project_vpc_id"`
	State        VpcStateType `json:"state"`
	UpdateTime   time.Time    `json:"update_time"`
}

type VpcPeeringConnectionCreateIn

type VpcPeeringConnectionCreateIn struct {
	PeerAzureAppId       string    `json:"peer_azure_app_id,omitempty"`
	PeerAzureTenantId    string    `json:"peer_azure_tenant_id,omitempty"`
	PeerCloudAccount     string    `json:"peer_cloud_account"`
	PeerRegion           string    `json:"peer_region,omitempty"`
	PeerResourceGroup    string    `json:"peer_resource_group,omitempty"`
	PeerVpc              string    `json:"peer_vpc"`
	UserPeerNetworkCidrs *[]string `json:"user_peer_network_cidrs,omitempty"`
}

type VpcPeeringConnectionCreateOut

type VpcPeeringConnectionCreateOut struct {
	CreateTime               time.Time                     `json:"create_time"`
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`
	PeerCloudAccount         string                        `json:"peer_cloud_account"`
	PeerRegion               string                        `json:"peer_region,omitempty"`
	PeerResourceGroup        string                        `json:"peer_resource_group"`
	PeerVpc                  string                        `json:"peer_vpc"`
	State                    VpcPeeringConnectionStateType `json:"state"`
	StateInfo                StateInfoOut                  `json:"state_info"`
	UpdateTime               time.Time                     `json:"update_time"`
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`
}

type VpcPeeringConnectionDeleteOut

type VpcPeeringConnectionDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`
	PeerCloudAccount         string                        `json:"peer_cloud_account"`
	PeerRegion               string                        `json:"peer_region,omitempty"`
	PeerResourceGroup        string                        `json:"peer_resource_group"`
	PeerVpc                  string                        `json:"peer_vpc"`
	State                    VpcPeeringConnectionStateType `json:"state"`
	StateInfo                StateInfoOut                  `json:"state_info"`
	UpdateTime               time.Time                     `json:"update_time"`
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`
}

type VpcPeeringConnectionStateType added in v0.3.0

type VpcPeeringConnectionStateType string
const (
	VpcPeeringConnectionStateTypeActive                VpcPeeringConnectionStateType = "ACTIVE"
	VpcPeeringConnectionStateTypeApproved              VpcPeeringConnectionStateType = "APPROVED"
	VpcPeeringConnectionStateTypeApprovedPeerRequested VpcPeeringConnectionStateType = "APPROVED_PEER_REQUESTED"
	VpcPeeringConnectionStateTypeDeleted               VpcPeeringConnectionStateType = "DELETED"
	VpcPeeringConnectionStateTypeDeletedByPeer         VpcPeeringConnectionStateType = "DELETED_BY_PEER"
	VpcPeeringConnectionStateTypeDeleting              VpcPeeringConnectionStateType = "DELETING"
	VpcPeeringConnectionStateTypeError                 VpcPeeringConnectionStateType = "ERROR"
	VpcPeeringConnectionStateTypeInvalidSpecification  VpcPeeringConnectionStateType = "INVALID_SPECIFICATION"
	VpcPeeringConnectionStateTypePendingPeer           VpcPeeringConnectionStateType = "PENDING_PEER"
	VpcPeeringConnectionStateTypeRejectedByPeer        VpcPeeringConnectionStateType = "REJECTED_BY_PEER"
)

type VpcPeeringConnectionStateTypeAlt added in v0.3.0

type VpcPeeringConnectionStateTypeAlt string
const (
	VpcPeeringConnectionStateTypeAltActive   VpcPeeringConnectionStateTypeAlt = "ACTIVE"
	VpcPeeringConnectionStateTypeAltApproved VpcPeeringConnectionStateTypeAlt = "APPROVED"
	VpcPeeringConnectionStateTypeAltDeleted  VpcPeeringConnectionStateTypeAlt = "DELETED"
	VpcPeeringConnectionStateTypeAltDeleting VpcPeeringConnectionStateTypeAlt = "DELETING"
)

type VpcPeeringConnectionType added in v0.3.0

type VpcPeeringConnectionType string
const (
	VpcPeeringConnectionTypeAwsTgwVpcAttachment     VpcPeeringConnectionType = "aws-tgw-vpc-attachment"
	VpcPeeringConnectionTypeAwsVpcPeeringConnection VpcPeeringConnectionType = "aws-vpc-peering-connection"
	VpcPeeringConnectionTypeAzureVnetPeering        VpcPeeringConnectionType = "azure-vnet-peering"
	VpcPeeringConnectionTypeGoogleVpcPeering        VpcPeeringConnectionType = "google-vpc-peering"
	VpcPeeringConnectionTypeUpcloudVpcPeering       VpcPeeringConnectionType = "upcloud-vpc-peering"
)

type VpcPeeringConnectionUpdateIn

type VpcPeeringConnectionUpdateIn struct {
	Add    *[]AddIn  `json:"add,omitempty"`
	Delete *[]string `json:"delete,omitempty"`
}

type VpcPeeringConnectionUpdateOut

type VpcPeeringConnectionUpdateOut struct {
	CloudName                          string                           `json:"cloud_name"`
	CreateTime                         time.Time                        `json:"create_time"`
	NetworkCidr                        string                           `json:"network_cidr"`
	PeeringConnections                 []PeeringConnectionOut           `json:"peering_connections"`
	PendingBuildOnlyPeeringConnections string                           `json:"pending_build_only_peering_connections,omitempty"`
	ProjectVpcId                       string                           `json:"project_vpc_id"`
	State                              VpcPeeringConnectionStateTypeAlt `json:"state"`
	UpdateTime                         time.Time                        `json:"update_time"`
}

type VpcPeeringConnectionWithRegionDeleteOut

type VpcPeeringConnectionWithRegionDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`
	PeerCloudAccount         string                        `json:"peer_cloud_account"`
	PeerRegion               string                        `json:"peer_region,omitempty"`
	PeerResourceGroup        string                        `json:"peer_resource_group"`
	PeerVpc                  string                        `json:"peer_vpc"`
	State                    VpcPeeringConnectionStateType `json:"state"`
	StateInfo                StateInfoOut                  `json:"state_info"`
	UpdateTime               time.Time                     `json:"update_time"`
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`
}

type VpcPeeringConnectionWithResourceGroupDeleteOut

type VpcPeeringConnectionWithResourceGroupDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`
	PeerCloudAccount         string                        `json:"peer_cloud_account"`
	PeerRegion               string                        `json:"peer_region,omitempty"`
	PeerResourceGroup        string                        `json:"peer_resource_group"`
	PeerVpc                  string                        `json:"peer_vpc"`
	State                    VpcPeeringConnectionStateType `json:"state"`
	StateInfo                StateInfoOut                  `json:"state_info"`
	UpdateTime               time.Time                     `json:"update_time"`
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`
}

type VpcStateType added in v0.3.0

type VpcStateType string
const (
	VpcStateTypeActive   VpcStateType = "ACTIVE"
	VpcStateTypeApproved VpcStateType = "APPROVED"
	VpcStateTypeDeleted  VpcStateType = "DELETED"
	VpcStateTypeDeleting VpcStateType = "DELETING"
)

type WarningOut

type WarningOut struct {
	ConflictingAwsAccountId              string      `json:"conflicting_aws_account_id,omitempty"`
	ConflictingAwsVpcId                  string      `json:"conflicting_aws_vpc_id,omitempty"`
	ConflictingAwsVpcPeeringConnectionId string      `json:"conflicting_aws_vpc_peering_connection_id,omitempty"`
	Message                              string      `json:"message"`
	Type                                 WarningType `json:"type"`
}

type WarningType added in v0.3.0

type WarningType string
const (
	WarningTypeOverlappingPeerVpcIpRanges WarningType = "overlapping-peer-vpc-ip-ranges"
	WarningTypeUpcloudPeeringInError      WarningType = "upcloud-peering-in-error"
)

Jump to

Keyboard shortcuts

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