byoc

package
v0.137.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CategoryTypeChoices

func CategoryTypeChoices() []string

func CloudProviderTypeChoices

func CloudProviderTypeChoices() []string

func CustomCloudEnvironmentStateTypeChoices

func CustomCloudEnvironmentStateTypeChoices() []string

func DeploymentModelTypeChoices

func DeploymentModelTypeChoices() []string

Types

type ByocHandler

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

func NewHandler

func NewHandler(doer doer) ByocHandler

func (*ByocHandler) CustomCloudEnvironmentCreate

func (h *ByocHandler) CustomCloudEnvironmentCreate(ctx context.Context, organizationId string, in *CustomCloudEnvironmentCreateIn) (*CustomCloudEnvironmentCreateOut, error)

func (*ByocHandler) CustomCloudEnvironmentDelete

func (h *ByocHandler) CustomCloudEnvironmentDelete(ctx context.Context, organizationId string, customCloudEnvironmentId string) error

func (*ByocHandler) CustomCloudEnvironmentGet

func (h *ByocHandler) CustomCloudEnvironmentGet(ctx context.Context, organizationId string, customCloudEnvironmentId string) (*CustomCloudEnvironmentGetOut, error)

func (*ByocHandler) CustomCloudEnvironmentPermissionsGet

func (h *ByocHandler) CustomCloudEnvironmentPermissionsGet(ctx context.Context, organizationId string, customCloudEnvironmentId string) (*CustomCloudEnvironmentPermissionsGetOut, error)

func (*ByocHandler) CustomCloudEnvironmentPermissionsSet

func (h *ByocHandler) CustomCloudEnvironmentPermissionsSet(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentPermissionsSetIn) error

func (*ByocHandler) CustomCloudEnvironmentProvision

func (h *ByocHandler) CustomCloudEnvironmentProvision(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentProvisionIn) (*CustomCloudEnvironmentProvisionOut, error)

func (*ByocHandler) CustomCloudEnvironmentUpdate

func (h *ByocHandler) CustomCloudEnvironmentUpdate(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentUpdateIn) (*CustomCloudEnvironmentUpdateOut, error)

type CategoryType

type CategoryType string
const (
	CategoryTypeGeneralError CategoryType = "general_error"
)

type CloudProviderType

type CloudProviderType string
const (
	CloudProviderTypeAws    CloudProviderType = "aws"
	CloudProviderTypeAzure  CloudProviderType = "azure"
	CloudProviderTypeGoogle CloudProviderType = "google"
	CloudProviderTypeOracle CloudProviderType = "oracle"
)

type ContactEmailIn

type ContactEmailIn struct {
	Email    string  `json:"email"`               // User email address
	RealName *string `json:"real_name,omitempty"` // User real name
	Role     *string `json:"role,omitempty"`      // Role of this user
}

type ContactEmailOut

type ContactEmailOut struct {
	Email    string  `json:"email"`               // User email address
	RealName *string `json:"real_name,omitempty"` // User real name
	Role     *string `json:"role,omitempty"`      // Role of this user
}

type CustomCloudEnvironmentCreateIn

type CustomCloudEnvironmentCreateIn struct {
	CloudProvider   CloudProviderType   `json:"cloud_provider"`           // Cloud provider for the BYOC cloud
	CloudRegion     string              `json:"cloud_region"`             // Cloud region for the BYOC cloud
	ContactEmails   *[]ContactEmailIn   `json:"contact_emails,omitempty"` // Email addresses for notifications and alerts for this BYOC cloud
	DeploymentModel DeploymentModelType `json:"deployment_model"`         // Deployment model for the BYOC cloud
	DisplayName     string              `json:"display_name"`             // Short name for this BYOC cloud
	ReservedCidr    string              `json:"reserved_cidr"`            // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	Tags            *map[string]string  `json:"tags,omitempty"`           // Set of resource tags
}

CustomCloudEnvironmentCreateIn CustomCloudEnvironmentCreateRequestBody

type CustomCloudEnvironmentCreateOut

type CustomCloudEnvironmentCreateOut struct {
	AivenAwsAccountPrincipal                   *string                         `json:"aiven_aws_account_principal,omitempty"`                      // Entity that assumes the IAM role for controlling the BYOC account
	AivenAwsAssumeRoleExternalId               *string                         `json:"aiven_aws_assume_role_external_id,omitempty"`                // External ID for assuming the IAM role for controlling the BYOC account
	AivenAwsObjectStorageCredentialsCreatorArn *string                         `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name
	AivenAwsObjectStorageUserArn               *string                         `json:"aiven_aws_object_storage_user_arn,omitempty"`                // Amazon Resource Name
	AivenGoogleAccountPrincipal                *string                         `json:"aiven_google_account_principal,omitempty"`                   // Google account identifier
	AivenManagementCidrBlocks                  []string                        `json:"aiven_management_cidr_blocks,omitempty"`                     // IP address ranges for incoming connections to the bastion host from the Aiven management plane
	AivenObjectStorageCredentialsCreatorUser   *string                         `json:"aiven_object_storage_credentials_creator_user,omitempty"`    // Google account identifier
	AwsIamRoleArn                              *string                         `json:"aws_iam_role_arn,omitempty"`                                 // Amazon Resource Name
	AwsSubnetsBastion                          map[string]any                  `json:"aws_subnets_bastion,omitempty"`                              // Subnets to build in the bastion VPC
	AwsSubnetsWorkload                         map[string]any                  `json:"aws_subnets_workload,omitempty"`                             // Subnets to build in the workload VPC
	BucketNames                                map[string]any                  `json:"bucket_names,omitempty"`                                     // Names and usages of buckets required for workloads
	ByocResourceTags                           map[string]any                  `json:"byoc_resource_tags,omitempty"`                               // Set of tags for the resources provisioned on the BYOC account
	ByocUniqueName                             *string                         `json:"byoc_unique_name,omitempty"`                                 // Name for all the resources created for the custom cloud environment
	CloudProvider                              CloudProviderType               `json:"cloud_provider,omitempty"`                                   // Cloud provider for the BYOC cloud
	CloudRegion                                *string                         `json:"cloud_region,omitempty"`                                     // Cloud region for the BYOC cloud
	ContactEmails                              []ContactEmailOut               `json:"contact_emails"`                                             // Email addresses for notifications and alerts for this BYOC cloud
	CustomCloudEnvironmentId                   string                          `json:"custom_cloud_environment_id"`                                // Custom cloud environment ID
	CustomCloudNames                           []string                        `json:"custom_cloud_names,omitempty"`                               // Cloud names that can be used to provision a service on this BYOC
	DeploymentModel                            DeploymentModelType             `json:"deployment_model,omitempty"`                                 // Deployment model for the BYOC cloud
	DisplayName                                string                          `json:"display_name"`                                               // Short name for this BYOC cloud
	Errors                                     []ErrorOut                      `json:"errors,omitempty"`                                           // List of errors for this custom cloud environment
	GoogleBastionCidr                          *string                         `json:"google_bastion_cidr,omitempty"`                              // Private IP address block for the workload VPC containing the bastion subnet
	GooglePrivilegeBearingServiceAccountId     *string                         `json:"google_privilege_bearing_service_account_id,omitempty"`      // Google account identifier
	GoogleWorkloadCidr                         *string                         `json:"google_workload_cidr,omitempty"`                             // Private IP address block for the workload VPC containing the workload subnet
	OracleCompartmentId                        *string                         `json:"oracle_compartment_id,omitempty"`                            // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
	OracleSubnetBastion                        *string                         `json:"oracle_subnet_bastion,omitempty"`                            // CIDR for the bastion subnet
	OracleSubnetWorkload                       *string                         `json:"oracle_subnet_workload,omitempty"`                           // CIDR for the private workload subnet
	ReservedCidr                               *string                         `json:"reserved_cidr,omitempty"`                                    // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	State                                      CustomCloudEnvironmentStateType `json:"state"`                                                      // State of this BYOC cloud
	Tags                                       map[string]string               `json:"tags,omitempty"`                                             // Set of resource tags
	UpdateTime                                 time.Time                       `json:"update_time"`                                                // Custom cloud environment last update timestamp (ISO 8601)
	UseCustomerOwnedStorage                    *bool                           `json:"use_customer_owned_storage,omitempty"`                       // True if this BYOC cloud is using customer owned storage
}

CustomCloudEnvironmentCreateOut Custom cloud environment

type CustomCloudEnvironmentGetOut

type CustomCloudEnvironmentGetOut struct {
	AivenAwsAccountPrincipal                   *string                         `json:"aiven_aws_account_principal,omitempty"`                      // Entity that assumes the IAM role for controlling the BYOC account
	AivenAwsAssumeRoleExternalId               *string                         `json:"aiven_aws_assume_role_external_id,omitempty"`                // External ID for assuming the IAM role for controlling the BYOC account
	AivenAwsObjectStorageCredentialsCreatorArn *string                         `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name
	AivenAwsObjectStorageUserArn               *string                         `json:"aiven_aws_object_storage_user_arn,omitempty"`                // Amazon Resource Name
	AivenGoogleAccountPrincipal                *string                         `json:"aiven_google_account_principal,omitempty"`                   // Google account identifier
	AivenManagementCidrBlocks                  []string                        `json:"aiven_management_cidr_blocks,omitempty"`                     // IP address ranges for incoming connections to the bastion host from the Aiven management plane
	AivenObjectStorageCredentialsCreatorUser   *string                         `json:"aiven_object_storage_credentials_creator_user,omitempty"`    // Google account identifier
	AwsIamRoleArn                              *string                         `json:"aws_iam_role_arn,omitempty"`                                 // Amazon Resource Name
	AwsSubnetsBastion                          map[string]any                  `json:"aws_subnets_bastion,omitempty"`                              // Subnets to build in the bastion VPC
	AwsSubnetsWorkload                         map[string]any                  `json:"aws_subnets_workload,omitempty"`                             // Subnets to build in the workload VPC
	BucketNames                                map[string]any                  `json:"bucket_names,omitempty"`                                     // Names and usages of buckets required for workloads
	ByocResourceTags                           map[string]any                  `json:"byoc_resource_tags,omitempty"`                               // Set of tags for the resources provisioned on the BYOC account
	ByocUniqueName                             *string                         `json:"byoc_unique_name,omitempty"`                                 // Name for all the resources created for the custom cloud environment
	CloudProvider                              CloudProviderType               `json:"cloud_provider,omitempty"`                                   // Cloud provider for the BYOC cloud
	CloudRegion                                *string                         `json:"cloud_region,omitempty"`                                     // Cloud region for the BYOC cloud
	ContactEmails                              []ContactEmailOut               `json:"contact_emails"`                                             // Email addresses for notifications and alerts for this BYOC cloud
	CustomCloudEnvironmentId                   string                          `json:"custom_cloud_environment_id"`                                // Custom cloud environment ID
	CustomCloudNames                           []string                        `json:"custom_cloud_names,omitempty"`                               // Cloud names that can be used to provision a service on this BYOC
	DeploymentModel                            DeploymentModelType             `json:"deployment_model,omitempty"`                                 // Deployment model for the BYOC cloud
	DisplayName                                string                          `json:"display_name"`                                               // Short name for this BYOC cloud
	Errors                                     []ErrorOut                      `json:"errors,omitempty"`                                           // List of errors for this custom cloud environment
	GoogleBastionCidr                          *string                         `json:"google_bastion_cidr,omitempty"`                              // Private IP address block for the workload VPC containing the bastion subnet
	GooglePrivilegeBearingServiceAccountId     *string                         `json:"google_privilege_bearing_service_account_id,omitempty"`      // Google account identifier
	GoogleWorkloadCidr                         *string                         `json:"google_workload_cidr,omitempty"`                             // Private IP address block for the workload VPC containing the workload subnet
	OracleCompartmentId                        *string                         `json:"oracle_compartment_id,omitempty"`                            // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
	OracleSubnetBastion                        *string                         `json:"oracle_subnet_bastion,omitempty"`                            // CIDR for the bastion subnet
	OracleSubnetWorkload                       *string                         `json:"oracle_subnet_workload,omitempty"`                           // CIDR for the private workload subnet
	ReservedCidr                               *string                         `json:"reserved_cidr,omitempty"`                                    // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	State                                      CustomCloudEnvironmentStateType `json:"state"`                                                      // State of this BYOC cloud
	Tags                                       map[string]string               `json:"tags,omitempty"`                                             // Set of resource tags
	UpdateTime                                 time.Time                       `json:"update_time"`                                                // Custom cloud environment last update timestamp (ISO 8601)
	UseCustomerOwnedStorage                    *bool                           `json:"use_customer_owned_storage,omitempty"`                       // True if this BYOC cloud is using customer owned storage
}

CustomCloudEnvironmentGetOut Custom cloud environment

type CustomCloudEnvironmentPermissionsGetOut

type CustomCloudEnvironmentPermissionsGetOut struct {
	Accounts []string `json:"accounts"`
	Projects []string `json:"projects"`
}

CustomCloudEnvironmentPermissionsGetOut CustomCloudEnvironmentPermissionsGetResponse

type CustomCloudEnvironmentPermissionsSetIn

type CustomCloudEnvironmentPermissionsSetIn struct {
	Accounts []string `json:"accounts"`
	Projects []string `json:"projects"`
}

CustomCloudEnvironmentPermissionsSetIn CustomCloudEnvironmentPermissionsSetRequestBody

type CustomCloudEnvironmentProvisionIn

type CustomCloudEnvironmentProvisionIn struct {
	AwsIamRoleArn                          *string `json:"aws_iam_role_arn,omitempty"`                            // Amazon Resource Name
	GooglePrivilegeBearingServiceAccountId *string `json:"google_privilege_bearing_service_account_id,omitempty"` // Google account identifier
	OracleCompartmentId                    *string `json:"oracle_compartment_id,omitempty"`                       // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
}

CustomCloudEnvironmentProvisionIn CustomCloudEnvironmentProvisionRequestBody

type CustomCloudEnvironmentProvisionOut

type CustomCloudEnvironmentProvisionOut struct {
	AivenAwsAccountPrincipal                   *string                         `json:"aiven_aws_account_principal,omitempty"`                      // Entity that assumes the IAM role for controlling the BYOC account
	AivenAwsAssumeRoleExternalId               *string                         `json:"aiven_aws_assume_role_external_id,omitempty"`                // External ID for assuming the IAM role for controlling the BYOC account
	AivenAwsObjectStorageCredentialsCreatorArn *string                         `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name
	AivenAwsObjectStorageUserArn               *string                         `json:"aiven_aws_object_storage_user_arn,omitempty"`                // Amazon Resource Name
	AivenGoogleAccountPrincipal                *string                         `json:"aiven_google_account_principal,omitempty"`                   // Google account identifier
	AivenManagementCidrBlocks                  []string                        `json:"aiven_management_cidr_blocks,omitempty"`                     // IP address ranges for incoming connections to the bastion host from the Aiven management plane
	AivenObjectStorageCredentialsCreatorUser   *string                         `json:"aiven_object_storage_credentials_creator_user,omitempty"`    // Google account identifier
	AwsIamRoleArn                              *string                         `json:"aws_iam_role_arn,omitempty"`                                 // Amazon Resource Name
	AwsSubnetsBastion                          map[string]any                  `json:"aws_subnets_bastion,omitempty"`                              // Subnets to build in the bastion VPC
	AwsSubnetsWorkload                         map[string]any                  `json:"aws_subnets_workload,omitempty"`                             // Subnets to build in the workload VPC
	BucketNames                                map[string]any                  `json:"bucket_names,omitempty"`                                     // Names and usages of buckets required for workloads
	ByocResourceTags                           map[string]any                  `json:"byoc_resource_tags,omitempty"`                               // Set of tags for the resources provisioned on the BYOC account
	ByocUniqueName                             *string                         `json:"byoc_unique_name,omitempty"`                                 // Name for all the resources created for the custom cloud environment
	CloudProvider                              CloudProviderType               `json:"cloud_provider,omitempty"`                                   // Cloud provider for the BYOC cloud
	CloudRegion                                *string                         `json:"cloud_region,omitempty"`                                     // Cloud region for the BYOC cloud
	ContactEmails                              []ContactEmailOut               `json:"contact_emails"`                                             // Email addresses for notifications and alerts for this BYOC cloud
	CustomCloudEnvironmentId                   string                          `json:"custom_cloud_environment_id"`                                // Custom cloud environment ID
	CustomCloudNames                           []string                        `json:"custom_cloud_names,omitempty"`                               // Cloud names that can be used to provision a service on this BYOC
	DeploymentModel                            DeploymentModelType             `json:"deployment_model,omitempty"`                                 // Deployment model for the BYOC cloud
	DisplayName                                string                          `json:"display_name"`                                               // Short name for this BYOC cloud
	Errors                                     []ErrorOut                      `json:"errors,omitempty"`                                           // List of errors for this custom cloud environment
	GoogleBastionCidr                          *string                         `json:"google_bastion_cidr,omitempty"`                              // Private IP address block for the workload VPC containing the bastion subnet
	GooglePrivilegeBearingServiceAccountId     *string                         `json:"google_privilege_bearing_service_account_id,omitempty"`      // Google account identifier
	GoogleWorkloadCidr                         *string                         `json:"google_workload_cidr,omitempty"`                             // Private IP address block for the workload VPC containing the workload subnet
	OracleCompartmentId                        *string                         `json:"oracle_compartment_id,omitempty"`                            // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
	OracleSubnetBastion                        *string                         `json:"oracle_subnet_bastion,omitempty"`                            // CIDR for the bastion subnet
	OracleSubnetWorkload                       *string                         `json:"oracle_subnet_workload,omitempty"`                           // CIDR for the private workload subnet
	ReservedCidr                               *string                         `json:"reserved_cidr,omitempty"`                                    // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	State                                      CustomCloudEnvironmentStateType `json:"state"`                                                      // State of this BYOC cloud
	Tags                                       map[string]string               `json:"tags,omitempty"`                                             // Set of resource tags
	UpdateTime                                 time.Time                       `json:"update_time"`                                                // Custom cloud environment last update timestamp (ISO 8601)
	UseCustomerOwnedStorage                    *bool                           `json:"use_customer_owned_storage,omitempty"`                       // True if this BYOC cloud is using customer owned storage
}

CustomCloudEnvironmentProvisionOut Custom cloud environment

type CustomCloudEnvironmentStateType

type CustomCloudEnvironmentStateType string
const (
	CustomCloudEnvironmentStateTypeActive         CustomCloudEnvironmentStateType = "active"
	CustomCloudEnvironmentStateTypeCreating       CustomCloudEnvironmentStateType = "creating"
	CustomCloudEnvironmentStateTypeCreationFailed CustomCloudEnvironmentStateType = "creation_failed"
	CustomCloudEnvironmentStateTypeDeleted        CustomCloudEnvironmentStateType = "deleted"
	CustomCloudEnvironmentStateTypeDeleting       CustomCloudEnvironmentStateType = "deleting"
	CustomCloudEnvironmentStateTypeDeletionFailed CustomCloudEnvironmentStateType = "deletion_failed"
	CustomCloudEnvironmentStateTypeDisconnected   CustomCloudEnvironmentStateType = "disconnected"
	CustomCloudEnvironmentStateTypeDraft          CustomCloudEnvironmentStateType = "draft"
	CustomCloudEnvironmentStateTypeReconnecting   CustomCloudEnvironmentStateType = "reconnecting"
	CustomCloudEnvironmentStateTypeValidating     CustomCloudEnvironmentStateType = "validating"
)

type CustomCloudEnvironmentUpdateIn

type CustomCloudEnvironmentUpdateIn struct {
	AwsIamRoleArn                          *string             `json:"aws_iam_role_arn,omitempty"`                            // Amazon Resource Name
	CloudProvider                          CloudProviderType   `json:"cloud_provider,omitempty"`                              // Cloud provider for the BYOC cloud
	CloudRegion                            *string             `json:"cloud_region,omitempty"`                                // Cloud region for the BYOC cloud
	ContactEmails                          *[]ContactEmailIn   `json:"contact_emails,omitempty"`                              // Email addresses for notifications and alerts for this BYOC cloud
	DeploymentModel                        DeploymentModelType `json:"deployment_model,omitempty"`                            // Deployment model for the BYOC cloud
	DisplayName                            *string             `json:"display_name,omitempty"`                                // Short name for this BYOC cloud
	GooglePrivilegeBearingServiceAccountId *string             `json:"google_privilege_bearing_service_account_id,omitempty"` // Google account identifier
	OracleCompartmentId                    *string             `json:"oracle_compartment_id,omitempty"`                       // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
	ReservedCidr                           *string             `json:"reserved_cidr,omitempty"`                               // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	Tags                                   *map[string]string  `json:"tags,omitempty"`                                        // Set of resource tags
}

CustomCloudEnvironmentUpdateIn CustomCloudEnvironmentUpdateRequestBody

type CustomCloudEnvironmentUpdateOut

type CustomCloudEnvironmentUpdateOut struct {
	AivenAwsAccountPrincipal                   *string                         `json:"aiven_aws_account_principal,omitempty"`                      // Entity that assumes the IAM role for controlling the BYOC account
	AivenAwsAssumeRoleExternalId               *string                         `json:"aiven_aws_assume_role_external_id,omitempty"`                // External ID for assuming the IAM role for controlling the BYOC account
	AivenAwsObjectStorageCredentialsCreatorArn *string                         `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name
	AivenAwsObjectStorageUserArn               *string                         `json:"aiven_aws_object_storage_user_arn,omitempty"`                // Amazon Resource Name
	AivenGoogleAccountPrincipal                *string                         `json:"aiven_google_account_principal,omitempty"`                   // Google account identifier
	AivenManagementCidrBlocks                  []string                        `json:"aiven_management_cidr_blocks,omitempty"`                     // IP address ranges for incoming connections to the bastion host from the Aiven management plane
	AivenObjectStorageCredentialsCreatorUser   *string                         `json:"aiven_object_storage_credentials_creator_user,omitempty"`    // Google account identifier
	AwsIamRoleArn                              *string                         `json:"aws_iam_role_arn,omitempty"`                                 // Amazon Resource Name
	AwsSubnetsBastion                          map[string]any                  `json:"aws_subnets_bastion,omitempty"`                              // Subnets to build in the bastion VPC
	AwsSubnetsWorkload                         map[string]any                  `json:"aws_subnets_workload,omitempty"`                             // Subnets to build in the workload VPC
	BucketNames                                map[string]any                  `json:"bucket_names,omitempty"`                                     // Names and usages of buckets required for workloads
	ByocResourceTags                           map[string]any                  `json:"byoc_resource_tags,omitempty"`                               // Set of tags for the resources provisioned on the BYOC account
	ByocUniqueName                             *string                         `json:"byoc_unique_name,omitempty"`                                 // Name for all the resources created for the custom cloud environment
	CloudProvider                              CloudProviderType               `json:"cloud_provider,omitempty"`                                   // Cloud provider for the BYOC cloud
	CloudRegion                                *string                         `json:"cloud_region,omitempty"`                                     // Cloud region for the BYOC cloud
	ContactEmails                              []ContactEmailOut               `json:"contact_emails"`                                             // Email addresses for notifications and alerts for this BYOC cloud
	CustomCloudEnvironmentId                   string                          `json:"custom_cloud_environment_id"`                                // Custom cloud environment ID
	CustomCloudNames                           []string                        `json:"custom_cloud_names,omitempty"`                               // Cloud names that can be used to provision a service on this BYOC
	DeploymentModel                            DeploymentModelType             `json:"deployment_model,omitempty"`                                 // Deployment model for the BYOC cloud
	DisplayName                                string                          `json:"display_name"`                                               // Short name for this BYOC cloud
	Errors                                     []ErrorOut                      `json:"errors,omitempty"`                                           // List of errors for this custom cloud environment
	GoogleBastionCidr                          *string                         `json:"google_bastion_cidr,omitempty"`                              // Private IP address block for the workload VPC containing the bastion subnet
	GooglePrivilegeBearingServiceAccountId     *string                         `json:"google_privilege_bearing_service_account_id,omitempty"`      // Google account identifier
	GoogleWorkloadCidr                         *string                         `json:"google_workload_cidr,omitempty"`                             // Private IP address block for the workload VPC containing the workload subnet
	OracleCompartmentId                        *string                         `json:"oracle_compartment_id,omitempty"`                            // Used to uniquely identify an asset in Oracle's cloud. May refer to a range of object types including instance, tenancy, subnet and more.
	OracleSubnetBastion                        *string                         `json:"oracle_subnet_bastion,omitempty"`                            // CIDR for the bastion subnet
	OracleSubnetWorkload                       *string                         `json:"oracle_subnet_workload,omitempty"`                           // CIDR for the private workload subnet
	ReservedCidr                               *string                         `json:"reserved_cidr,omitempty"`                                    // CIDR range reserved for Aiven provisioned networks in the BYOC cloud
	State                                      CustomCloudEnvironmentStateType `json:"state"`                                                      // State of this BYOC cloud
	Tags                                       map[string]string               `json:"tags,omitempty"`                                             // Set of resource tags
	UpdateTime                                 time.Time                       `json:"update_time"`                                                // Custom cloud environment last update timestamp (ISO 8601)
	UseCustomerOwnedStorage                    *bool                           `json:"use_customer_owned_storage,omitempty"`                       // True if this BYOC cloud is using customer owned storage
}

CustomCloudEnvironmentUpdateOut Custom cloud environment

type DeploymentModelType

type DeploymentModelType string
const (
	DeploymentModelTypeDirectIpsecIngress DeploymentModelType = "direct_ipsec_ingress"
	DeploymentModelTypeIpsecIngress       DeploymentModelType = "ipsec_ingress"
	DeploymentModelTypeStandard           DeploymentModelType = "standard"
	DeploymentModelTypeStandardPublic     DeploymentModelType = "standard_public"
)

type ErrorOut

type ErrorOut struct {
	Category CategoryType `json:"category"` // Category of this error
	Message  string       `json:"message"`  // Description of this error
}

type Handler

type Handler interface {
	// CustomCloudEnvironmentCreate [EXPERIMENTAL] Create a custom cloud
	// POST /v1/organization/{organization_id}/custom-cloud-environments
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentCreate
	CustomCloudEnvironmentCreate(ctx context.Context, organizationId string, in *CustomCloudEnvironmentCreateIn) (*CustomCloudEnvironmentCreateOut, error)

	// CustomCloudEnvironmentDelete [EXPERIMENTAL] Delete a custom cloud
	// DELETE /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentDelete
	CustomCloudEnvironmentDelete(ctx context.Context, organizationId string, customCloudEnvironmentId string) error

	// CustomCloudEnvironmentGet [EXPERIMENTAL] Retrieve a custom cloud
	// GET /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentGet
	CustomCloudEnvironmentGet(ctx context.Context, organizationId string, customCloudEnvironmentId string) (*CustomCloudEnvironmentGetOut, error)

	// CustomCloudEnvironmentPermissionsGet [EXPERIMENTAL] Retrieve custom cloud permissions
	// GET /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}/permissions
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentPermissionsGet
	CustomCloudEnvironmentPermissionsGet(ctx context.Context, organizationId string, customCloudEnvironmentId string) (*CustomCloudEnvironmentPermissionsGetOut, error)

	// CustomCloudEnvironmentPermissionsSet [EXPERIMENTAL] Update custom cloud permissions
	// PUT /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}/permissions
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentPermissionsSet
	CustomCloudEnvironmentPermissionsSet(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentPermissionsSetIn) error

	// CustomCloudEnvironmentProvision [EXPERIMENTAL] Provision custom cloud resources in Aiven
	// POST /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}/provision
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentProvision
	CustomCloudEnvironmentProvision(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentProvisionIn) (*CustomCloudEnvironmentProvisionOut, error)

	// CustomCloudEnvironmentUpdate [EXPERIMENTAL] Update a custom cloud
	// PUT /v1/organization/{organization_id}/custom-cloud-environments/{custom_cloud_environment_id}
	// https://api.aiven.io/doc/#tag/Custom_Cloud/operation/CustomCloudEnvironmentUpdate
	CustomCloudEnvironmentUpdate(ctx context.Context, organizationId string, customCloudEnvironmentId string, in *CustomCloudEnvironmentUpdateIn) (*CustomCloudEnvironmentUpdateOut, error)
}

Jump to

Keyboard shortcuts

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