vpc

package
v0.73.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VpcPeeringConnectionStateTypeChoices added in v0.3.0

func VpcPeeringConnectionStateTypeChoices() []string

func VpcPeeringConnectionTypeChoices added in v0.3.0

func VpcPeeringConnectionTypeChoices() []string

func VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeChoices added in v0.36.0

func VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeChoices() []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"`                          // IPv4 network range CIDR
	PeerCloudAccount  string  `json:"peer_cloud_account"`            // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerResourceGroup *string `json:"peer_resource_group,omitempty"` // Azure resource group name of the peered VPC
	PeerVpc           string  `json:"peer_vpc"`                      // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
}

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"`       // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId    *string   `json:"peer_azure_tenant_id,omitempty"`    // Azure tenant id in UUID4 form
	PeerCloudAccount     string    `json:"peer_cloud_account"`                // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion           *string   `json:"peer_region,omitempty"`             // The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud.
	PeerResourceGroup    *string   `json:"peer_resource_group,omitempty"`     // Azure resource group name of the peered VPC
	PeerVpc              string    `json:"peer_vpc"`                          // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	UserPeerNetworkCidrs *[]string `json:"user_peer_network_cidrs,omitempty"` // List of private IPv4 ranges to route through the peering connection
}

type PeeringConnectionOut

type PeeringConnectionOut struct {
	CreateTime               time.Time                     `json:"create_time"`                     // VPC peering connection creation timestamp
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`               // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`            // Azure tenant id in UUID4 form
	PeerCloudAccount         string                        `json:"peer_cloud_account"`              // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion               *string                       `json:"peer_region,omitempty"`           // The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
	PeerResourceGroup        string                        `json:"peer_resource_group"`             // Azure resource group name of the peered VPC
	PeerVpc                  string                        `json:"peer_vpc"`                        // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	PeeringConnectionId      *string                       `json:"peering_connection_id,omitempty"` // VPC peering connection ID
	State                    VpcPeeringConnectionStateType `json:"state"`                           // Project VPC peering connection state
	StateInfo                StateInfoOut                  `json:"state_info"`                      // State-specific help or error information
	UpdateTime               time.Time                     `json:"update_time"`                     // Timestamp of last change to the VPC peering connection
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`         // List of private IPv4 ranges to route through the peering connection
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`     // Type of network connection from the VPC
}

type StateInfoOut

type StateInfoOut struct {
	Message  string       `json:"message"`            // Human-readable information message
	Type     string       `json:"type"`               // Type of state information
	Warnings []WarningOut `json:"warnings,omitempty"` // List of warnings if any
}

StateInfoOut State-specific help or error information

type VpcCreateIn

type VpcCreateIn struct {
	CloudName          string                `json:"cloud_name"`          // Target cloud
	NetworkCidr        string                `json:"network_cidr"`        // IPv4 network range CIDR
	PeeringConnections []PeeringConnectionIn `json:"peering_connections"` // List of peering connection requests for the VPC
}

VpcCreateIn VpcCreateRequestBody

type VpcCreateOut

type VpcCreateOut struct {
	CloudName                          string                 `json:"cloud_name"`                                       // Target cloud
	CreateTime                         time.Time              `json:"create_time"`                                      // VPC creation timestamp
	NetworkCidr                        string                 `json:"network_cidr"`                                     // IPv4 network range CIDR
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`                              // List of peering connections
	PendingBuildOnlyPeeringConnections *string                `json:"pending_build_only_peering_connections,omitempty"` // VPC rebuild is scheduled
	ProjectVpcId                       string                 `json:"project_vpc_id"`                                   // Project VPC ID
	State                              VpcStateType           `json:"state"`                                            // Project VPC state
	UpdateTime                         time.Time              `json:"update_time"`                                      // Timestamp of last change to VPC
}

VpcCreateOut VpcCreateResponse

type VpcDeleteOut

type VpcDeleteOut struct {
	CloudName                          string                 `json:"cloud_name"`                                       // Target cloud
	CreateTime                         time.Time              `json:"create_time"`                                      // VPC creation timestamp
	NetworkCidr                        string                 `json:"network_cidr"`                                     // IPv4 network range CIDR
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`                              // List of peering connections
	PendingBuildOnlyPeeringConnections *string                `json:"pending_build_only_peering_connections,omitempty"` // VPC rebuild is scheduled
	ProjectVpcId                       string                 `json:"project_vpc_id"`                                   // Project VPC ID
	State                              VpcStateType           `json:"state"`                                            // Project VPC state
	UpdateTime                         time.Time              `json:"update_time"`                                      // Timestamp of last change to VPC
}

VpcDeleteOut VpcDeleteResponse

type VpcGetOut

type VpcGetOut struct {
	CloudName                          string                 `json:"cloud_name"`                                       // Target cloud
	CreateTime                         time.Time              `json:"create_time"`                                      // VPC creation timestamp
	NetworkCidr                        string                 `json:"network_cidr"`                                     // IPv4 network range CIDR
	PeeringConnections                 []PeeringConnectionOut `json:"peering_connections"`                              // List of peering connections
	PendingBuildOnlyPeeringConnections *string                `json:"pending_build_only_peering_connections,omitempty"` // VPC rebuild is scheduled
	ProjectVpcId                       string                 `json:"project_vpc_id"`                                   // Project VPC ID
	State                              VpcStateType           `json:"state"`                                            // Project VPC state
	UpdateTime                         time.Time              `json:"update_time"`                                      // Timestamp of last change to VPC
}

VpcGetOut VpcGetResponse

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"`     // Target cloud
	CreateTime   time.Time    `json:"create_time"`    // VPC creation timestamp
	NetworkCidr  string       `json:"network_cidr"`   // IPv4 network range CIDR
	ProjectVpcId string       `json:"project_vpc_id"` // Project VPC ID
	State        VpcStateType `json:"state"`          // Project VPC state
	UpdateTime   time.Time    `json:"update_time"`    // Timestamp of last change to VPC
}

type VpcPeeringConnectionCreateIn

type VpcPeeringConnectionCreateIn struct {
	PeerAzureAppId       *string   `json:"peer_azure_app_id,omitempty"`       // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId    *string   `json:"peer_azure_tenant_id,omitempty"`    // Azure tenant id in UUID4 form
	PeerCloudAccount     string    `json:"peer_cloud_account"`                // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion           *string   `json:"peer_region,omitempty"`             // The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud.
	PeerResourceGroup    *string   `json:"peer_resource_group,omitempty"`     // Azure resource group name of the peered VPC
	PeerVpc              string    `json:"peer_vpc"`                          // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	UserPeerNetworkCidrs *[]string `json:"user_peer_network_cidrs,omitempty"` // List of private IPv4 ranges to route through the peering connection
}

VpcPeeringConnectionCreateIn VpcPeeringConnectionCreateRequestBody

type VpcPeeringConnectionCreateOut

type VpcPeeringConnectionCreateOut struct {
	CreateTime               time.Time                     `json:"create_time"`                     // VPC peering connection creation timestamp
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`               // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`            // Azure tenant id in UUID4 form
	PeerCloudAccount         string                        `json:"peer_cloud_account"`              // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion               *string                       `json:"peer_region,omitempty"`           // The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
	PeerResourceGroup        string                        `json:"peer_resource_group"`             // Azure resource group name of the peered VPC
	PeerVpc                  string                        `json:"peer_vpc"`                        // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	PeeringConnectionId      *string                       `json:"peering_connection_id,omitempty"` // VPC peering connection ID
	State                    VpcPeeringConnectionStateType `json:"state"`                           // Project VPC peering connection state
	StateInfo                StateInfoOut                  `json:"state_info"`                      // State-specific help or error information
	UpdateTime               time.Time                     `json:"update_time"`                     // Timestamp of last change to the VPC peering connection
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`         // List of private IPv4 ranges to route through the peering connection
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`     // Type of network connection from the VPC
}

VpcPeeringConnectionCreateOut VpcPeeringConnectionCreateResponse

type VpcPeeringConnectionDeleteOut

type VpcPeeringConnectionDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`                     // VPC peering connection creation timestamp
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`               // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`            // Azure tenant id in UUID4 form
	PeerCloudAccount         string                        `json:"peer_cloud_account"`              // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion               *string                       `json:"peer_region,omitempty"`           // The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
	PeerResourceGroup        string                        `json:"peer_resource_group"`             // Azure resource group name of the peered VPC
	PeerVpc                  string                        `json:"peer_vpc"`                        // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	PeeringConnectionId      *string                       `json:"peering_connection_id,omitempty"` // VPC peering connection ID
	State                    VpcPeeringConnectionStateType `json:"state"`                           // Project VPC peering connection state
	StateInfo                StateInfoOut                  `json:"state_info"`                      // State-specific help or error information
	UpdateTime               time.Time                     `json:"update_time"`                     // Timestamp of last change to the VPC peering connection
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`         // List of private IPv4 ranges to route through the peering connection
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`     // Type of network connection from the VPC
}

VpcPeeringConnectionDeleteOut VpcPeeringConnectionDeleteResponse

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 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"`    // CIDRs to add using a specific peering connection
	Delete *[]string `json:"delete,omitempty"` // Network CIDRs to remove from the VPC's peering connections' user_peer_network_cidrs
}

VpcPeeringConnectionUpdateIn VpcPeeringConnectionUpdateRequestBody

type VpcPeeringConnectionUpdateOut

type VpcPeeringConnectionUpdateOut struct {
	CloudName                          string                                                  `json:"cloud_name"`                                       // Target cloud
	CreateTime                         time.Time                                               `json:"create_time"`                                      // VPC creation timestamp
	NetworkCidr                        string                                                  `json:"network_cidr"`                                     // IPv4 network range CIDR
	PeeringConnections                 []PeeringConnectionOut                                  `json:"peering_connections"`                              // List of peering connections
	PendingBuildOnlyPeeringConnections *string                                                 `json:"pending_build_only_peering_connections,omitempty"` // VPC rebuild is scheduled
	ProjectVpcId                       string                                                  `json:"project_vpc_id"`                                   // Project VPC ID
	State                              VpcPeeringConnectionUpdateVpcPeeringConnectionStateType `json:"state"`                                            // Project VPC state
	UpdateTime                         time.Time                                               `json:"update_time"`                                      // Timestamp of last change to VPC
}

VpcPeeringConnectionUpdateOut VpcPeeringConnectionUpdateResponse

type VpcPeeringConnectionUpdateVpcPeeringConnectionStateType added in v0.36.0

type VpcPeeringConnectionUpdateVpcPeeringConnectionStateType string
const (
	VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeActive   VpcPeeringConnectionUpdateVpcPeeringConnectionStateType = "ACTIVE"
	VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeApproved VpcPeeringConnectionUpdateVpcPeeringConnectionStateType = "APPROVED"
	VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeDeleted  VpcPeeringConnectionUpdateVpcPeeringConnectionStateType = "DELETED"
	VpcPeeringConnectionUpdateVpcPeeringConnectionStateTypeDeleting VpcPeeringConnectionUpdateVpcPeeringConnectionStateType = "DELETING"
)

type VpcPeeringConnectionWithRegionDeleteOut

type VpcPeeringConnectionWithRegionDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`                     // VPC peering connection creation timestamp
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`               // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`            // Azure tenant id in UUID4 form
	PeerCloudAccount         string                        `json:"peer_cloud_account"`              // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion               *string                       `json:"peer_region,omitempty"`           // The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
	PeerResourceGroup        string                        `json:"peer_resource_group"`             // Azure resource group name of the peered VPC
	PeerVpc                  string                        `json:"peer_vpc"`                        // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	PeeringConnectionId      *string                       `json:"peering_connection_id,omitempty"` // VPC peering connection ID
	State                    VpcPeeringConnectionStateType `json:"state"`                           // Project VPC peering connection state
	StateInfo                StateInfoOut                  `json:"state_info"`                      // State-specific help or error information
	UpdateTime               time.Time                     `json:"update_time"`                     // Timestamp of last change to the VPC peering connection
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`         // List of private IPv4 ranges to route through the peering connection
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`     // Type of network connection from the VPC
}

VpcPeeringConnectionWithRegionDeleteOut VpcPeeringConnectionWithRegionDeleteResponse

type VpcPeeringConnectionWithResourceGroupDeleteOut

type VpcPeeringConnectionWithResourceGroupDeleteOut struct {
	CreateTime               time.Time                     `json:"create_time"`                     // VPC peering connection creation timestamp
	PeerAzureAppId           string                        `json:"peer_azure_app_id"`               // Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
	PeerAzureTenantId        string                        `json:"peer_azure_tenant_id"`            // Azure tenant id in UUID4 form
	PeerCloudAccount         string                        `json:"peer_cloud_account"`              // AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string "upcloud" for UpCloud peering connections
	PeerRegion               *string                       `json:"peer_region,omitempty"`           // The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
	PeerResourceGroup        string                        `json:"peer_resource_group"`             // Azure resource group name of the peered VPC
	PeerVpc                  string                        `json:"peer_vpc"`                        // AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
	PeeringConnectionId      *string                       `json:"peering_connection_id,omitempty"` // VPC peering connection ID
	State                    VpcPeeringConnectionStateType `json:"state"`                           // Project VPC peering connection state
	StateInfo                StateInfoOut                  `json:"state_info"`                      // State-specific help or error information
	UpdateTime               time.Time                     `json:"update_time"`                     // Timestamp of last change to the VPC peering connection
	UserPeerNetworkCidrs     []string                      `json:"user_peer_network_cidrs"`         // List of private IPv4 ranges to route through the peering connection
	VpcPeeringConnectionType VpcPeeringConnectionType      `json:"vpc_peering_connection_type"`     // Type of network connection from the VPC
}

VpcPeeringConnectionWithResourceGroupDeleteOut VpcPeeringConnectionWithResourceGroupDeleteResponse

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"`                // AWS account id of conflicting VPC
	ConflictingAwsVpcId                  *string     `json:"conflicting_aws_vpc_id,omitempty"`                    // VPC id which is conflicting with the current one
	ConflictingAwsVpcPeeringConnectionId *string     `json:"conflicting_aws_vpc_peering_connection_id,omitempty"` // AWS VPC connection id which is conflicting with current VPC
	Message                              string      `json:"message"`                                             // Warning message to be shown to the user
	Type                                 WarningType `json:"type"`                                                // Type of warning
}

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