Documentation ¶
Overview ¶
v1alpha1 contains API types that extend the Crossplane API. +kubebuilder:object:generate=true +groupName=xdatabase.crossplane.giantswarm.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type ActivityStream
- type Autoscaling
- type CloudwatchLogGroup
- type ClusterInstance
- type ClusterParameterGroup
- type ClusterParameters
- type DatabaseConfig
- type DatabaseName
- type DatabaseUserName
- type DbParameterGroup
- type Endpoint
- type EnhancedMonitoring
- type LogGroup
- type OptionGroup
- type Parameter
- type RdsBase
- type RdsBaseList
- type RdsBaseRole
- type RdsBaseSpec
- type RdsBaseStatus
- type RdsLogicalDatabase
- type RdsLogicalDatabaseConnectionSecrets
- type RdsLogicalDatabaseList
- type RdsLogicalDatabaseParameters
- type RdsLogicalDatabaseSpec
- type RdsLogicalDatabaseStatus
- type RdsProvisioning
- type RdsProvisioningConnectionSecrets
- type RdsProvisioningList
- type RdsProvisioningParameters
- type RdsProvisioningSpec
- type RdsProvisioningStatus
- type RestoreToPointInTime
- type S3Import
- type ScalingConfiguration
- type SecretReference
- type SecretRotation
- type ServerlessV2ScalingConfiguration
- type SqlUser
- type SqlUsers
Constants ¶
const ( XRDGroup = "xdatabase.crossplane.giantswarm.io" XRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
var ( // GroupVersion is the API Group Version used to register the objects GroupVersion = schema.GroupVersion{Group: XRDGroup, Version: XRDVersion} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( RdsLogicalDatabaseKind = "RdsLogicalDatabase" RdsLogicalDatabaseGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: RdsLogicalDatabaseKind, }.String() RdsLogicalDatabaseKindAPIVersion = RdsLogicalDatabaseKind + "." + GroupVersion.String() RdsLogicalDatabaseGroupVersionKind = GroupVersion.WithKind(RdsLogicalDatabaseKind) )
Repository type metadata.
var ( RdsBaseKind = "RdsBase" RdsBaseGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: RdsBaseKind, }.String() RdsBaseKindAPIVersion = RdsBaseKind + "." + GroupVersion.String() RdsBaseGroupVersionKind = GroupVersion.WithKind(RdsBaseKind) )
Repository type metadata.
var ( RdsProvisioningKind = "RdsProvisioning" RdsProvisioningGroupKind = schema.GroupKind{ Group: XRDGroup, Kind: RdsProvisioningKind, }.String() RdsProvisioningKindAPIVersion = RdsProvisioningKind + "." + GroupVersion.String() RdsProvisioningGroupVersionKind = GroupVersion.WithKind(RdsProvisioningKind) )
Repository type metadata.
Functions ¶
This section is empty.
Types ¶
type ActivityStream ¶
type ActivityStream struct { // Enabled is whether activity stream is enabled. // // +optional // +default=false Enabled *bool `json:"enabled,omitempty"` // EngineNativeAuditFieldsIncluded is whether engine native audit fields are // included. This option only applies to Oracle databases. // // +optional // +default=false EngineNativeAuditFieldsIncluded *bool `json:"engineNativeAuditFieldsIncluded,omitempty"` // Mode is the mode of the activity stream. Valid values are `sync` and `async`. // // +optional // +default="sync" // +kubebuilder:validation:Enum=sync;async Mode *string `json:"mode,omitempty"` }
func (*ActivityStream) DeepCopy ¶
func (in *ActivityStream) DeepCopy() *ActivityStream
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivityStream.
func (*ActivityStream) DeepCopyInto ¶
func (in *ActivityStream) DeepCopyInto(out *ActivityStream)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Autoscaling ¶
type Autoscaling struct { // Autoscaling is whether autoscaling is enabled. // // +optional // +default=false Enabled *bool `json:"enabled,omitempty"` // MaxCapacity is the maximum capacity for autoscaling. // // +optional // +default=2 MaxCapacity *int64 `json:"maxCapacity,omitempty"` // MinCapacity is the minimum capacity for autoscaling. // // +optional // +default=0 MinCapacity *int64 `json:"minCapacity,omitempty"` // MetricType is the type of metric to use for autoscaling. // // +optional // +default="RDSReaderAverageCPUUtilization" // +kubebuilder:validation:Enum=RDSReaderAverageCPUUtilization;RDSReaderAverageDatabaseConnections MetricType *string `json:"metricType,omitempty"` // PolicyName is the name of the autoscaling policy. // // +optional // +default="target-metric" PolicyName *string `json:"policyName,omitempty"` // ScaleInCooldown is the amount of time, in seconds, after a scaling in // activity completes before another scaling activity can start. // // +optional // +default=300 ScaleInCooldown *int64 `json:"scaleInCooldown,omitempty"` // ScaleOutCooldown is the amount of time, in seconds, after a scaling out // activity completes before another scaling activity can start. // // +optional // +default=300 ScaleOutCooldown *int64 `json:"scaleOutCooldown,omitempty"` // TargetCPU is CPU threshold which will initiate autoscaling. // // +optional // +default=70 TargetCPU *int64 `json:"targetCPU,omitempty"` // TargetConnections is the average number of connections threshold which // will initiate autoscaling. Default value is 70% of db.r4/r5/r6g.large's // default max_connections // // +optional // +default=700 TargetConnections *int64 `json:"targetConnections,omitempty"` }
func (*Autoscaling) DeepCopy ¶
func (in *Autoscaling) DeepCopy() *Autoscaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Autoscaling.
func (*Autoscaling) DeepCopyInto ¶
func (in *Autoscaling) DeepCopyInto(out *Autoscaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudwatchLogGroup ¶
type CloudwatchLogGroup struct { // Class is the class of the log group. // // +optional // +kube:validation:Enum=STANDARD;INFREQUENT_ACCESS Class *string `json:"class,omitempty"` // Create is whether the log group is to be created. // // +optional // +default=false Create *bool `json:"create,omitempty"` // RetentionInDays is the number of days to retain logs for. // // +optional // +default=0 RetentionInDays *int64 `json:"retentionInDays,omitempty"` // SkipDestroy is whether the log group should be skipped during destroy. // // +optional // +default=false SkipDestroy *bool `json:"skipDestroy,omitempty"` }
func (*CloudwatchLogGroup) DeepCopy ¶
func (in *CloudwatchLogGroup) DeepCopy() *CloudwatchLogGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogGroup.
func (*CloudwatchLogGroup) DeepCopyInto ¶
func (in *CloudwatchLogGroup) DeepCopyInto(out *CloudwatchLogGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterInstance ¶
type ClusterInstance struct { // AllocatedStorage is the size of the database. // // Only applicable if not running in cluster mode. In cluster mode this value // is ignored. // // Overrides `ClusterParameters.AllocatedStorage` // // +optional // +default=10 AllocatedStorage *int64 `json:"allocatedStorage,omitempty"` // AllowMajorVersionUpgrade is whether major version upgrades are allowed. // // Only applicable if not running in cluster mode. In cluster mode this value // is ignored. // // Overrides `ClusterParameters.AllowMajorVersionUpgrade` // // +optional // +default=false AllowMajorVersionUpgrade *bool `json:"allowMajorVersionUpgrade,omitempty"` // ApplyImmediately is whether changes should be applied immediately. // // Overrides `ClusterParameters.ApplyImmediately` // // +optional // +nullable ApplyImmediately *bool `json:"applyImmediately,omitempty"` // AutoMinorVersionUpgrade is whether minor version upgrades are applied // automatically. // // Overrides `ClusterParameters.AutoMinorVersionUpgrade` // // +optional // +nullable AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"` // AvailabilityZone is the availability zone for this instance. // Ignored if `multiAz` is true // // +optional // +nullable AvailabilityZone *string `json:"availabilityZone,omitempty"` // BackupRetentionPeriod is the number of days to retain backups for. // // Only applicable if not running in cluster mode // // +optional // +default=0 BackupRetentionPeriod *int64 `json:"backupRetentionPeriod,omitempty"` // CopyTagsToSnapshot is whether tags should be copied to snapshots. // // +optional // +nullable CopyTagsToSnapshot *bool `json:"copyTagsToSnapshot,omitempty"` // DatabaseName is the name of the database to create. // // +optional // +nullable DatabaseName *string `json:"databaseName,omitempty"` // DeleteAutomatedBackups is whether automated backups should be deleted. // // Only applicable if not running in cluster mode // // +optional // +default=false DeleteAutomatedBackups *bool `json:"deleteAutomatedBackups,omitempty"` // DeletionProtection is whether deletion protection is enabled. // // Only applicable if not running in cluster mode // // +optional // +nullable DeletionProtection *bool `json:"deletionProtection,omitempty"` // DomainIamRoleName is the name of the IAM role to use. // // Only applicable if not running in cluster mode // // +optional // +nullable DomainIamRoleName *string `json:"domainIamRoleName,omitempty"` // EnabledCloudwatchLogsExports is the list of log types to export to CloudWatch Logs. // // Only applicable if not running in cluster mode // // +optional // +nullable EnabledCloudwatchLogsExports []*LogGroup `json:"enabledCloudwatchLogsExports,omitempty"` // FinalSnapshotIdentifier is the identifier of the final snapshot. // // Only applicable if not running in cluster mode // // +optional // +nullable FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty"` // IamDatabaseAuthenticationEnabled is whether IAM database authentication is enabled. // // Only applicable if not running in cluster mode // // +optional // +nullable IamDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty"` // Iops is the amount of provisioned IOPS. // // Only applicable if not running in cluster mode // // +optional // +default=0 Iops *int64 `json:"iops,omitempty"` // InstanceClass is the instance class to use. // // +optional // +nullable InstanceClass *string `json:"instanceClass,omitempty"` // LicenseModel is the license model to use. // // Only applicable if not running in cluster mode. // // +optional // +nullable LicenseModel *string `json:"licenseModel,omitempty"` // MonitoringInterval is the interval, in seconds, between points when // Enhanced Monitoring metrics are collected for the DB instance. // // +optional // +nullable MonitoringInterval *int64 `json:"monitoringInterval,omitempty"` // MultiAZ is whether the DB instance is a Multi-AZ deployment. // // Only applicable if not running in cluster mode // // +optional // +nullable MultiAz *bool `json:"multiAz,omitempty"` // NetworkType is the network type to use. // // Only applicable if not running in cluster mode // // +optional // +nullable NetworkType *string `json:"networkType,omitempty"` // OptionGroupName is the name of the option group to associate with this DB // instance. // // Only applicable if not running in cluster mode // // +optional // +nullable OptionGroupName *string `json:"optionGroupName,omitempty"` // ParameterGroupName is the name of the DB parameter group to associate // with this DB instance. Must pre-exist in the account. Mutually exclusive // with `RdsBaseDbCluster.dbParameterGroup` // // +optional // +nullable ParameterGroupName *string `json:"parameterGroupName,omitempty"` // PerformanceInsightsEnabled is whether Performance Insights is enabled. // // +optional // +nullable PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty"` // PerformanceInsightsKmsKeyID is the AWS KMS key identifier for encryption // of Performance Insights data. // // +optional // +nullable PerformanceInsightsKmsKeyID *string `json:"performanceInsightsKmsKeyID,omitempty"` // PerformanceInsightsRetentionPeriod is the amount of time, in days, to // retain Performance Insights data. // // +optional // +nullable PerformanceInsightsRetentionPeriod *int64 `json:"performanceInsightsRetentionPeriod,omitempty"` // PreferredMaintenanceWindow is the preferred maintenance window. // // +optional // +nullable PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty"` // PromotionTier is the order in which to promote an Aurora replica to the // primary instance. // // +optional // +nullable PromotionTier *int64 `json:"promotionTier,omitempty"` // PubliclyAccessible is whether the DB instance is publicly accessible. // // +optional // +nullable PubliclyAccessible *bool `json:"publiclyAccessible,omitempty"` // SkipFinalSnapshot is whether to skip the final snapshot. // // Only applicable if not running in cluster mode // // +optional // +nullable SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty"` // StorageEncrypted is whether storage is encrypted. // // Only applicable if not running in cluster mode // // +optional // +nullable StorageEncrypted *bool `json:"storageEncrypted,omitempty"` // StorageThroughput is the amount of storage throughput. Only applicable if // `storageType` is `gp3` // // Only applicable if not running in cluster mode // // +optional // +nullable StorageThroughput *int64 `json:"storageThroughput,omitempty"` // StorageType is the storage type to use. // // Only applicable if not running in cluster mode // // +optional // +nullable StorageType *string `json:"storageType,omitempty"` // Tags is a set of tags to associate with the DB instance. // // +optional // +nullable // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` }
func (*ClusterInstance) DeepCopy ¶
func (in *ClusterInstance) DeepCopy() *ClusterInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInstance.
func (*ClusterInstance) DeepCopyInto ¶
func (in *ClusterInstance) DeepCopyInto(out *ClusterInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterParameterGroup ¶
type ClusterParameterGroup struct { // ApplyMethod is the apply method for the parameter group. Some engines // cannot apply changes immediately, and require a reboot in which case you // must set this value to `pending-reboot`. // // +optional // +default="immediate" // +kubebuilder:validation:Enum=immediate;pending-reboot ApplyMethod *string `json:"applyMethod,omitempty"` // Description is the description of the parameter group. // // +optional Description *string `json:"description,omitempty"` // Create is whether the parameter group is to be created. // // +optional // +default=false Create *bool `json:"create,omitempty"` // Family is the family of the parameter group. // // +optional Family *string `json:"family,omitempty"` // Name is the name of the parameter group. // // +optional Name *string `json:"name,omitempty"` // Parameters is a list of parameters to associate with the parameter group. // Note that parameters may differ between families // // +optional Parameters []*Parameter `json:"parameters,omitempty"` // Tags is a set of tags to associate with the parameter group. // // +optional // +kubebuilder:mapType=granular // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` }
func (*ClusterParameterGroup) DeepCopy ¶
func (in *ClusterParameterGroup) DeepCopy() *ClusterParameterGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameterGroup.
func (*ClusterParameterGroup) DeepCopyInto ¶
func (in *ClusterParameterGroup) DeepCopyInto(out *ClusterParameterGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterParameters ¶
type ClusterParameters struct { // ActivityStream is the activity stream configuration. // // +optional ActivityStream *ActivityStream `json:"activityStream,omitempty"` // AllocatedStorage is the size of the database. // // +optional // +default=10 AllocatedStorage *int64 `json:"allocatedStorage,omitempty"` // AllowMajorVersionUpgrade is whether major version upgrades are allowed. // // +optional // +default=false AllowMajorVersionUpgrade *bool `json:"allowMajorVersionUpgrade,omitempty"` // ApplyImmediately is whether changes should be applied immediately. // // +optional // +default=false ApplyImmediately *bool `json:"applyImmediately,omitempty"` // AutoMinorVersionUpgrade is whether minor version upgrades are applied // automatically. This value can be overridden on a per instance basis. // // +optional // +default=true AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"` // Autoscaling is the autoscaling configuration. // // +optional Autoscaling *Autoscaling `json:"autoscaling,omitempty"` // BackupRetentionPeriod is the number of days to retain backups for. // // +optional // +default=0 BackupRetentionPeriod *int64 `json:"backupRetentionPeriod,omitempty"` // BacktrackWindow is the target backtrack window, in seconds. // Only available for Aurora engine. To disable backtracking, set this value to 0. // // +optional // +default=0 // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=259200 BacktrackWindow *int64 `json:"backtrackWindow,omitempty"` // CopyTagsToSnapshot is whether tags should be copied to snapshots. // // +optional // +default=false CopyTagsToSnapshot *bool `json:"copyTagsToSnapshot,omitempty"` // CreateCluster is whether the cluster should be created. // By default this is true but for non-aurora clusters, the DB Cluster // resource is optional and can be omitted. In this case, the DB instances // will be created as `instance.rds` types. // // +optional // +default=true CreateCluster *bool `json:"createCluster,omitempty"` // DatabaseName is the name of the database to create. // // +optional DatabaseName *string `json:"databaseName,omitempty"` // DbClusterInstanceClass is the instance class to use. // // +optional // +default="db.t4g.medium" DbClusterInstanceClass *string `json:"dbClusterInstanceClass,omitempty"` // DbClusterParameterGroup defines the parameters for the DB cluster. // // +optional DbClusterParameterGroup *ClusterParameterGroup `json:"dbClusterParameterGroup"` // DbParameterGroup defines the parameters for the DB instance. // // +optional DbParameterGroup *DbParameterGroup `json:"dbParameterGroup,omitempty"` // DeleteAutomatedBackups is whether automated backups should be deleted. // // +optional // +default=false DeleteAutomatedBackups *bool `json:"deleteAutomatedBackups,omitempty"` // DeletionProtection is whether deletion protection is enabled. // // +optional // +default=false DeletionProtection *bool `json:"deletionProtection,omitempty"` // Domain is the domain to use. // // +optional Domain *string `json:"domain,omitempty"` // DomainIAMRoleName is the name of the IAM role to use. // // +optional DomainIAMRoleName *string `json:"domainIAMRoleName,omitempty"` // EnableGlobalWriteForwarding is whether global write forwarding is enabled. // // +optional // +default=false EnableGlobalWriteForwarding *bool `json:"enableGlobalWriteForwarding,omitempty"` // EnableHttpEndpoint is whether the HTTP endpoint is enabled. // // +optional // +default=false EnableHttpEndpoint *bool `json:"enableHttpEndpoint,omitempty"` // EnableLocalWriteForwarding is whether local write forwarding is enabled. // // +optional // +default=false EnableLocalWriteForwarding *bool `json:"enableLocalWriteForwarding,omitempty"` // EnabledCloudwatchLogsExports is the list of log types to export to CloudWatch Logs. // // +optional EnabledCloudwatchLogsExports []*LogGroup `json:"enabledCloudwatchLogsExports,omitempty"` // EnhancedMonitoring is the enhanced monitoring configuration. // // +optional EnhancedMonitoring *EnhancedMonitoring `json:"enhancedMonitoring,omitempty"` // Endpoints is a list of custom endpoints to create. // // +optional Endpoints []*Endpoint `json:"endpoints,omitempty"` // Engine is the database engine to use. // // +required // +kube:validation:Enum=mariadb:mysql;postgres;aurora-mysql;aurora-postgresql Engine *string `json:"engine,omitempty"` // EngineMode is the database engine mode to use. // // +optional // +default="provisioned" // +kubebuilder:validation:Enum=parallelquery;provisioned;serverless EngineMode *string `json:"engineMode,omitempty"` // EngineVersion is the version of the database engine to use. // // +required EngineVersion *string `json:"engineVersion,omitempty"` // GlobalClusterIdentifier is the global cluster identifier for an Aurora global database. // // +optional GlobalClusterIdentifier *string `json:"globalClusterIdentifier,omitempty"` // IAMDatabaseAuthenticationEnabled is whether IAM database authentication is enabled. // // +optional // +default=false IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty"` // IamRoles is a list of IAM roles to associate with the DB cluster. // // +optional IamRoles []*RdsBaseRole `json:"iamRoles,omitempty"` // Iops is the amount of provisioned IOPS. // // +optional // +default=0 Iops *int64 `json:"iops,omitempty"` // InstanceCount is the number of instances to create. // // If set, this value will create the requested number of instances using // defaults from the cluster configuration. If `instances` are specified, // this value is ignored. // // +optional InstanceCount *int64 `json:"instanceCount,omitempty"` // Instances is a list of instances to create. // // +optional Instances []*ClusterInstance `json:"instances,omitempty"` // CloudwatchLogGroup defines the parameters for the log groups // // +optional CloudwatchLogGroupParameters *CloudwatchLogGroup `json:"cloudwatchLogGroupParameters,omitempty"` // MasterUsername is the master username to use. // // +required MasterUsername *string `json:"masterUsername,omitempty"` // MultiAZ is whether the DB instance is a Multi-AZ deployment. // // +optional // +default=false MultiAz *bool `json:"multiAz,omitempty"` // Partition is the AWS partition to use. // // +optional // +default="aws" // +kubebuilder:validation:Enum=aws;aws-cn;aws-us-gov Partition *string `json:"partition,omitempty"` // PerformanceInsightsEnabled is whether Performance Insights is enabled. // // +optional PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty"` // PerformanceInsightsKmsKeyID is the AWS KMS key identifier for encryption of Performance Insights data. // // +optional PerformanceInsightsKmsKeyID *string `json:"performanceInsightsKmsKeyID,omitempty"` // PerformanceInsightsRetentionPeriod is the amount of time, in days, to retain Performance Insights data. // // +optional PerformanceInsightsRetentionPeriod *int64 `json:"performanceInsightsRetentionPeriod,omitempty"` // PreferredBackupWindow is the preferred backup window. // // +optional PreferredBackupWindow *string `json:"preferredBackupWindow,omitempty"` // PreferredMaintenanceWindow is the preferred maintenance window. // // +optional PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty"` // ProvisionSql determines whether or not to provision databases inside the // RDS cluster. // // +optional ProvisionSql *RdsProvisioningParameters `json:"provisionSql,omitempty"` // PubliclyAccessible is whether the DB instance is publicly accessible. // // +optional // +default=false PubliclyAccessible *bool `json:"publiclyAccessible,omitempty"` // ReplicationSourceIdentifier ARN of a source DB cluster or DB instance if // this DB cluster is to be created as a Read Replica // // +optional ReplicationSourceIdentifier *string `json:"replicationSourceIdentifier,omitempty"` // RestoreToPointInTime is the point in time to restore to. // // +optional RestoreToPointInTime *RestoreToPointInTime `json:"restoreToPointInTime,omitempty"` // S3Import is the S3 import configuration. // // +optional S3Import *S3Import `json:"s3Import,omitempty"` // ScalingConfiguration is the scaling configuration. // // +optional ScalingConfiguration *ScalingConfiguration `json:"scalingConfiguration,omitempty"` // SecretRotation is the secret rotation configuration. // // +optional SecretRotation *SecretRotation `json:"secretRotation,omitempty"` // ServerlessV2ScalingConfiguration is the serverless v2 scaling configuration. // // +optional ServerlessV2ScalingConfiguration *ServerlessV2ScalingConfiguration `json:"serverlessV2ScalingConfiguration,omitempty"` // StorageThroughput is the amount of storage throughput. Only applicable if // `storageType` is `gp3` // // Only applicable if not running in cluster mode // // +optional // +nullable StorageThroughput *int64 `json:"storageThroughput,omitempty"` // StorageType specifies the storage type to be associated with the cluster // // +optional StorageType *string `json:"storageType,omitempty"` // Tags is a set of tags to associate with the DB cluster. // // +optional // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` }
func (*ClusterParameters) DeepCopy ¶
func (in *ClusterParameters) DeepCopy() *ClusterParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameters.
func (*ClusterParameters) DeepCopyInto ¶
func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseConfig ¶
type DatabaseConfig struct { // A map of users to create for the database // // +optional Users map[DatabaseUserName]SqlUser `json:"users"` }
func (*DatabaseConfig) DeepCopy ¶
func (in *DatabaseConfig) DeepCopy() *DatabaseConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseConfig.
func (*DatabaseConfig) DeepCopyInto ¶
func (in *DatabaseConfig) DeepCopyInto(out *DatabaseConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DbParameterGroup ¶
type DbParameterGroup struct { // Description is the description of the parameter group. // // +optional Description *string `json:"description,omitempty"` // Create is whether the parameter group is created. // // +optional // +default=false Create *bool `json:"create,omitempty"` // Family is the family of the parameter group. // // +optional Family *string `json:"family,omitempty"` // Name is the name of the parameter group. // // +required Name *string `json:"name,omitempty"` // Parameters is a list of parameters to associate with the parameter group. // Note that parameters may differ between families // // +optional Parameters []*Parameter `json:"parameters,omitempty"` // Tags is a set of tags to associate with the parameter group. // // +optional // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` }
func (*DbParameterGroup) DeepCopy ¶
func (in *DbParameterGroup) DeepCopy() *DbParameterGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DbParameterGroup.
func (*DbParameterGroup) DeepCopyInto ¶
func (in *DbParameterGroup) DeepCopyInto(out *DbParameterGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoint ¶
type Endpoint struct { // CustomEndpointType is the type of the custom endpoint. // // +optional // +kubebuilder:validation:Enum=READER;ANY // +default=ANY CustomEndpointType *string `json:"customEndpointType,omitempty"` // ExcludedMembers is a list of DB instances that aren't part of the custom // endpoint group. // // +optional ExcludedMembers []*string `json:"excludedMembers,omitempty"` // StaticMembers is a list of DB instances that are part of the custom // endpoint group. // // +optional StaticMembers []*string `json:"staticMembers,omitempty"` // Tags is a set of tags to associate with the custom endpoint. // // +optional // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` }
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnhancedMonitoring ¶
type EnhancedMonitoring struct { // Description is the description of the monitoring role. // // +optional Description *string `json:"description,omitempty"` // Enabled is whether enhanced monitoring is enabled. // // +optional // +default=false Enabled *bool `json:"enabled,omitempty"` // ForceDetachPolicies Whether to force detaching any policies the monitoring role has before destroying it // // +optional // +default=false ForceDetachPolicies *bool `json:"forceDetachPolicies,omitempty"` // ManagedPolicyArns is a list of ARNs for managed policies to attach to the monitoring role. // // +optional ManagedPolicyArns []*string `json:"managedPolicyArns,omitempty"` // PermissionsBoundary is the ARN of the policy that is used to set the permissions boundary for the monitoring role. // // +optional PermissionsBoundary *string `json:"permissionsBoundary,omitempty"` // MaxSessionDuration is the maximum session duration (in seconds) that you want to set for the monitoring role. // // +optional MaxSessionDuration *int64 `json:"maxSessionDuration,omitempty"` // MonitoringInterval is the interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. // // +optional MonitoringInterval *int64 `json:"monitoringInterval,omitempty"` // Path is the path of the monitoring role. // // +optional Path *string `json:"path,omitempty"` }
func (*EnhancedMonitoring) DeepCopy ¶
func (in *EnhancedMonitoring) DeepCopy() *EnhancedMonitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnhancedMonitoring.
func (*EnhancedMonitoring) DeepCopyInto ¶
func (in *EnhancedMonitoring) DeepCopyInto(out *EnhancedMonitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogGroup ¶
type LogGroup string
LogGroup is the name of a log group.
+kubebuilder:validation:Enum=audit;error;general;slowquery;postgresql
type OptionGroup ¶
type OptionGroup struct { // Description is the description of the option group. // // +optional Description *string `json:"description,omitempty"` // Enabled is whether the option group is enabled. // // +optional // +default=false Enabled *bool `json:"enabled,omitempty"` // EngineName is the name of the engine. // // +optional EngineName *string `json:"engineName,omitempty"` // MajorEngineVersion is the major engine version. // // +optional MajorEngineVersion *string `json:"majorEngineVersion,omitempty"` // Name is the name of the option group. // // +optional Name *string `json:"name,omitempty"` // Options is a list of options to associate with the option group. // // +optional Options map[string]*string `json:"options,omitempty"` // Tags is a set of tags to associate with the option group. // // +optional // +kubebuilder:validation:MaxProperties=50 Tags map[string]*string `json:"tags,omitempty"` // Version is the version of the option group. // // +optional Version *string `json:"version,omitempty"` }
OptionGroup defines the parameters for the option group.
func (*OptionGroup) DeepCopy ¶
func (in *OptionGroup) DeepCopy() *OptionGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionGroup.
func (*OptionGroup) DeepCopyInto ¶
func (in *OptionGroup) DeepCopyInto(out *OptionGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Parameter ¶
type Parameter string
Parameter is a parameter to associate with a parameter group.
+kubebuilder:validation:Pattern=^[a-zA-Z0-9_]*$
type RdsBase ¶
type RdsBase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RdsBaseSpec `json:"spec"` Status RdsBaseStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=rdb +crossbuilder:generate:xrd:claimNames:kind=RdsBaseClaim,plural=rdsbaseclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=rds-base +crossbuilder:generate:xrd:enforcedCompositionRef:name=rds-base
func (*RdsBase) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsBase.
func (*RdsBase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsBase) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsBaseList ¶
type RdsBaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RdsBase `json:"items"` }
+kubebuilder:object:root=true
func (*RdsBaseList) DeepCopy ¶
func (in *RdsBaseList) DeepCopy() *RdsBaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsBaseList.
func (*RdsBaseList) DeepCopyInto ¶
func (in *RdsBaseList) DeepCopyInto(out *RdsBaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsBaseList) DeepCopyObject ¶
func (in *RdsBaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsBaseRole ¶
type RdsBaseRole struct { // FeatureName is the name of the feature. // // +optional FeatureName *string `json:"featureName,omitempty"` // RoleArn is the ARN of the role. // // +optional RoleArn *string `json:"roleArn,omitempty"` }
func (*RdsBaseRole) DeepCopy ¶
func (in *RdsBaseRole) DeepCopy() *RdsBaseRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsBaseRole.
func (*RdsBaseRole) DeepCopyInto ¶
func (in *RdsBaseRole) DeepCopyInto(out *RdsBaseRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsBaseSpec ¶
type RdsBaseSpec struct { xpv1.ResourceSpec `json:",inline"` // AvailabilityZones is a list of availability zone to use. // // +optional AvailabilityZones []*string `json:"availabilityZones,omitempty"` // ClusterParameters is the parameters for the RDS cluster. ClusterParameters `json:",inline"` // CidrBlocks is a list of CIDRs that are allowed to connect to the DB. // // +optional CidrBlocks []*string `json:"cidrBlocks"` // Eso is the ESO configuration. // // This field is used to sync secrets using `external-secrets-operator`. // External Secrets Operator must be installed if this value is set to true // // +optional Eso *eso.Eso `json:"eso,omitempty"` // KubernetesProviderConfig is the provider config for the Kubernetes provider. // // +required KubernetesProviderConfig *xpv1.Reference `json:"kubernetesProviderConfig,omitempty"` // Region is the region to use. // // +required Region *string `json:"region"` // SubnetIds is a list of subnet IDs to use for the subnet group. // // +optional SubnetIds []*string `json:"subnetIds"` // VpcId is the VPC ID to use. // // +required VpcId *string `json:"vpcId"` }
Defines the spec of a RDS cluster
func (*RdsBaseSpec) DeepCopy ¶
func (in *RdsBaseSpec) DeepCopy() *RdsBaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsBaseSpec.
func (*RdsBaseSpec) DeepCopyInto ¶
func (in *RdsBaseSpec) DeepCopyInto(out *RdsBaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsBaseStatus ¶
type RdsBaseStatus struct { xpv1.ConditionedStatus `json:",inline"` // AccountId is the account ID of the DB cluster. // // +optional AccountId *string `json:"accountId,omitempty"` // ConnectionSecret is the name of the connection secret used for the DB. // // +optional ConnectionSecret *string `json:"connectionSecret,omitempty"` // ProvisionedSecrets is the connection secrets created by the SQL provider // // +optional ProvisionedSecrets RdsProvisioningConnectionSecrets `json:"provisionedSecrets,omitempty"` // ClusterIdentifier is the identifier of the DB cluster. // // +optional ClusterIdentifier *string `json:"clusterIdentifier,omitempty"` // ClusterArn is the ARN of the DB cluster. // // +optional ClusterArn *string `json:"clusterArn,omitempty"` // ClusterResourceId is the resource ID of the DB cluster. // // +optional ClusterResourceId *string `json:"clusterResourceId,omitempty"` // DbParameterGroupName is the name of the DB parameter group to associate // with this DB instance. // // +optional DbParameterGroupName *string `json:"dbParameterGroupName,omitempty"` // DbSubnetGroupName is the name of the DB subnet group to associate with // this DB instance. // // +optional DbSubnetGroupName *string `json:"dbSubnetGroupName,omitempty"` // Endpoint is the endpoint of the DB cluster. // // +optional Endpoint *string `json:"endpoint,omitempty"` // EsoConnectionSecret is the name of the connection secret created by ESO // for use with provider-sql. // // +optional EsoConnectionSecret *string `json:"esoConnectionSecret,omitempty"` // KmsKeyId is the ID of the KMS key. // // +optional KmsKeyId *string `json:"kmsKeyId,omitempty"` // MonitoringRoleArn is the ARN of the monitoring role. // // +optional MonitoringRoleArn *string `json:"monitoringRoleArn,omitempty"` // port is the port of the database. // // +optional Port *int64 `json:"port,omitempty"` // ReaderEndpoint is the reader endpoint of the DB cluster. // // If this is a cluster mode, this is the reader endpoint of the cluster. // When working with instances, this is a comma separated list of the reader // instances. // // +optional ReaderEndpoint *string `json:"readerEndpoint,omitempty"` // Ready is whether all children are ready. // // +optional Ready *bool `json:"ready,omitempty"` // SecurityGroupId The security group ID of the DB cluster. // // +optional SecurityGroupId *string `json:"securityGroupId,omitempty"` }
Defines the status of a RDS cluster
func (*RdsBaseStatus) DeepCopy ¶
func (in *RdsBaseStatus) DeepCopy() *RdsBaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsBaseStatus.
func (*RdsBaseStatus) DeepCopyInto ¶
func (in *RdsBaseStatus) DeepCopyInto(out *RdsBaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsLogicalDatabase ¶
type RdsLogicalDatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RdsLogicalDatabaseSpec `json:"spec"` Status RdsLogicalDatabaseStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=ld +crossbuilder:generate:xrd:claimNames:kind=LogicalDatabaseClaim,plural=logicaldatabaseclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=logical-database +crossbuilder:generate:xrd:enforcedCompositionRef:name=logical-database
func (*RdsLogicalDatabase) DeepCopy ¶
func (in *RdsLogicalDatabase) DeepCopy() *RdsLogicalDatabase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabase.
func (*RdsLogicalDatabase) DeepCopyInto ¶
func (in *RdsLogicalDatabase) DeepCopyInto(out *RdsLogicalDatabase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsLogicalDatabase) DeepCopyObject ¶
func (in *RdsLogicalDatabase) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsLogicalDatabaseConnectionSecrets ¶
type RdsLogicalDatabaseConnectionSecrets struct { // The name of the secret created specifically for the app // // +optional App string `json:"app,omitempty"` // A map of secret names created for users // // +optional Users map[string]string `json:"users,omitempty"` }
func (*RdsLogicalDatabaseConnectionSecrets) DeepCopy ¶
func (in *RdsLogicalDatabaseConnectionSecrets) DeepCopy() *RdsLogicalDatabaseConnectionSecrets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabaseConnectionSecrets.
func (*RdsLogicalDatabaseConnectionSecrets) DeepCopyInto ¶
func (in *RdsLogicalDatabaseConnectionSecrets) DeepCopyInto(out *RdsLogicalDatabaseConnectionSecrets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsLogicalDatabaseList ¶
type RdsLogicalDatabaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RdsLogicalDatabase `json:"items"` }
+kubebuilder:object:root=true
func (*RdsLogicalDatabaseList) DeepCopy ¶
func (in *RdsLogicalDatabaseList) DeepCopy() *RdsLogicalDatabaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabaseList.
func (*RdsLogicalDatabaseList) DeepCopyInto ¶
func (in *RdsLogicalDatabaseList) DeepCopyInto(out *RdsLogicalDatabaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsLogicalDatabaseList) DeepCopyObject ¶
func (in *RdsLogicalDatabaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsLogicalDatabaseParameters ¶
type RdsLogicalDatabaseParameters struct { // Databases is a map of databases to create. // // +optional Databases map[DatabaseName]DatabaseConfig `json:"databases,omitempty"` // The type of database engine being provisioned // // +optional // +default="postgres" // +kubebuilder:validation:Enum=postgres;mysql;aurora-postgresql;aurora-mysql Engine *string `json:"engine,omitempty"` }
Defines the parameters for the RDS provisioning
func (*RdsLogicalDatabaseParameters) DeepCopy ¶
func (in *RdsLogicalDatabaseParameters) DeepCopy() *RdsLogicalDatabaseParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabaseParameters.
func (*RdsLogicalDatabaseParameters) DeepCopyInto ¶
func (in *RdsLogicalDatabaseParameters) DeepCopyInto(out *RdsLogicalDatabaseParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsLogicalDatabaseSpec ¶
type RdsLogicalDatabaseSpec struct { xpv1.ResourceSpec `json:",inline"` // Sets the parameters for the provisioning RdsLogicalDatabaseParameters `json:",inline"` // Eso is the configuration for the external secrets operator // // +optional Eso *eso.Eso `json:"eso,omitempty"` // KubernetesProviderConfig is the provider config for the Kubernetes provider. // // +required KubernetesProviderConfig *xpv1.Reference `json:"kubernetesProviderConfig,omitempty"` }
RdsLogicalDatabaseSpec defines the desired state of RdsLogicalDatabase
func (*RdsLogicalDatabaseSpec) DeepCopy ¶
func (in *RdsLogicalDatabaseSpec) DeepCopy() *RdsLogicalDatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabaseSpec.
func (*RdsLogicalDatabaseSpec) DeepCopyInto ¶
func (in *RdsLogicalDatabaseSpec) DeepCopyInto(out *RdsLogicalDatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsLogicalDatabaseStatus ¶
type RdsLogicalDatabaseStatus struct { xpv1.ConditionedStatus `json:",inline"` // Is the provisioning ready // // +optional Ready bool `json:"ready,omitempty"` // Connection secrets created for the databases // // +optional ConnectionSecrets RdsLogicalDatabaseConnectionSecrets `json:"connectionSecrets,omitempty"` }
RdsLogicalDatabaseStatus defines the observed state of RdsLogicalDatabase
func (*RdsLogicalDatabaseStatus) DeepCopy ¶
func (in *RdsLogicalDatabaseStatus) DeepCopy() *RdsLogicalDatabaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsLogicalDatabaseStatus.
func (*RdsLogicalDatabaseStatus) DeepCopyInto ¶
func (in *RdsLogicalDatabaseStatus) DeepCopyInto(out *RdsLogicalDatabaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsProvisioning ¶
type RdsProvisioning struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RdsProvisioningSpec `json:"spec"` Status RdsProvisioningStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +genclient +genclient:nonNamespaced
+kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status +kubebuilder:resource:shortName=rdsprv +crossbuilder:generate:xrd:claimNames:kind=RdsProvisioningClaim,plural=rdsprovisioningclaims +crossbuilder:generate:xrd:defaultCompositionRef:name=rds-provisioning +crossbuilder:generate:xrd:enforcedCompositionRef:name=rds-provisioning
func (*RdsProvisioning) DeepCopy ¶
func (in *RdsProvisioning) DeepCopy() *RdsProvisioning
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioning.
func (*RdsProvisioning) DeepCopyInto ¶
func (in *RdsProvisioning) DeepCopyInto(out *RdsProvisioning)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsProvisioning) DeepCopyObject ¶
func (in *RdsProvisioning) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsProvisioningConnectionSecrets ¶
type RdsProvisioningConnectionSecrets struct { // The name of the secret created specifically for the app // // +optional App string `json:"app,omitempty"` // A map of secret names created for users // // +optional Users map[string]string `json:"users,omitempty"` }
func (*RdsProvisioningConnectionSecrets) DeepCopy ¶
func (in *RdsProvisioningConnectionSecrets) DeepCopy() *RdsProvisioningConnectionSecrets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioningConnectionSecrets.
func (*RdsProvisioningConnectionSecrets) DeepCopyInto ¶
func (in *RdsProvisioningConnectionSecrets) DeepCopyInto(out *RdsProvisioningConnectionSecrets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsProvisioningList ¶
type RdsProvisioningList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RdsProvisioning `json:"items"` }
+kubebuilder:object:root=true
func (*RdsProvisioningList) DeepCopy ¶
func (in *RdsProvisioningList) DeepCopy() *RdsProvisioningList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioningList.
func (*RdsProvisioningList) DeepCopyInto ¶
func (in *RdsProvisioningList) DeepCopyInto(out *RdsProvisioningList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RdsProvisioningList) DeepCopyObject ¶
func (in *RdsProvisioningList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RdsProvisioningParameters ¶
type RdsProvisioningParameters struct { // Determines if the RDS provisioning should be enabled // // +optional // +default=true Enabled bool `json:"enabled"` // The name of the connection secret to use for the RDS instance // // Required if `providerConfigRef` is not provided, ignored otherwise // Must exist in the same namespace as the provisioning claim // // If this value is provided, the composition will attempt to create a // provider config using the engine specific providerconfig spec // // +optional ConnectionSecretName *string `json:"connectionSecretName,omitempty"` // Reader Endpoint is the endpoint to use for read operations // // +optional ReaderEndpoint *string `json:"readerEndpoint,omitempty"` // Databases is a map of databases to create. // // +optional // +mapType=atomic Databases map[DatabaseName]SqlUsers `json:"databases,omitempty"` // The type of database engine being provisioned // // +optional // +default="postgres" // +kubebuilder:validation:Enum=postgres;mysql;aurora-mysql;aurora-postgresql;mariadb Engine *string `json:"engine,omitempty"` }
Defines the parameters for the RDS provisioning
func (*RdsProvisioningParameters) DeepCopy ¶
func (in *RdsProvisioningParameters) DeepCopy() *RdsProvisioningParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioningParameters.
func (*RdsProvisioningParameters) DeepCopyInto ¶
func (in *RdsProvisioningParameters) DeepCopyInto(out *RdsProvisioningParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsProvisioningSpec ¶
type RdsProvisioningSpec struct { xpv1.ResourceSpec `json:",inline"` // Sets the parameters for the provisioning RdsProvisioningParameters `json:",inline"` // ESO configuration // // +optional ESO *eso.Eso `json:"eso,omitempty"` // KubernetesProviderConfig is the provider config for the Kubernetes provider. // // +required KubernetesProviderConfig *xpv1.Reference `json:"kubernetesProviderConfig,omitempty"` }
RdsProvisioningSpec defines the desired state of RdsProvisioning
One of `providerConfigRef` or `connectionSecretName` must be provided.
If `providerConfigRef` is not provided, the composition will create a provider config using the connectionSecretName.
+kubebuilder:validation:XValitation:rule="self.providerConfigRef != null || self.connectionSecretName != null",message="One of providerConfigRef or connectionSecretName must be provided"
func (*RdsProvisioningSpec) DeepCopy ¶
func (in *RdsProvisioningSpec) DeepCopy() *RdsProvisioningSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioningSpec.
func (*RdsProvisioningSpec) DeepCopyInto ¶
func (in *RdsProvisioningSpec) DeepCopyInto(out *RdsProvisioningSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RdsProvisioningStatus ¶
type RdsProvisioningStatus struct { xpv1.ConditionedStatus `json:",inline"` // Is the provisioning ready // // +optional Ready bool `json:"ready,omitempty"` // Connection secrets created for the databases // // +optional ConnectionSecrets RdsProvisioningConnectionSecrets `json:"connectionSecrets,omitempty"` }
RdsProvisioningStatus defines the observed state of RdsProvisioning
func (*RdsProvisioningStatus) DeepCopy ¶
func (in *RdsProvisioningStatus) DeepCopy() *RdsProvisioningStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RdsProvisioningStatus.
func (*RdsProvisioningStatus) DeepCopyInto ¶
func (in *RdsProvisioningStatus) DeepCopyInto(out *RdsProvisioningStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreToPointInTime ¶
type RestoreToPointInTime struct { // Identifier is the identifier of the source DB cluster snapshot or DB // instance snapshot to restore from. Only valid if not running in cluster // mode. // // +optional Identifier *string `json:"identifier,omitempty"` // RestoreToTime is the time to restore to. // // +optional RestoreToTime *metav1.Time `json:"restoreToTime,omitempty"` // UseLatestRestorableTime is whether to use the latest restorable time. // // +optional // +default=false UseLatestRestorableTime *bool `json:"useLatestRestorableTime,omitempty"` // RestoreType is the type of restore to perform. This option is ignored if // not running in cluster mode. // // +optional // +default="full-copy" // +kubebuilder:validation:Enum=full-copy;copy-on-write RestoreType *string `json:"restoreType,omitempty"` // SourceDbClusterIdentifier is the identifier of the source DB cluster. // This option is ignored if not running in cluster mode. // // +optional SourceDbClusterIdentifier *string `json:"sourceDbClusterIdentifier,omitempty"` // SourceDbInstanceIdentifier is the identifier of the source DB instance. // Only valid if not running in cluster mode. If running in cluster mode, use // `SourceDbClusterIdentifier` instead. // // +optional SourceDbInstanceIdentifier *string `json:"sourceDbInstanceIdentifier,omitempty"` // sourceDbInstanceAutomatedBackupsArn is the ARN of the source DB instance // automated backup to restore from. Only valid if not running in cluster mode. // // +optional SourceDbInstanceAutomatedBackupsArn *string `json:"sourceDbInstanceAutomatedBackupsArn,omitempty"` // SourceDbiResourceId is the resource ID of the source DB instance. Only // valid if not running in cluster mode. // // +optional SourceDbiResourceId *string `json:"sourceDbiResourceId,omitempty"` }
RestoreToPointInTime contains details of a point in time restoration
func (*RestoreToPointInTime) DeepCopy ¶
func (in *RestoreToPointInTime) DeepCopy() *RestoreToPointInTime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreToPointInTime.
func (*RestoreToPointInTime) DeepCopyInto ¶
func (in *RestoreToPointInTime) DeepCopyInto(out *RestoreToPointInTime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Import ¶
type S3Import struct { // BucketName is the name of the S3 bucket. // // +optional BucketName *string `json:"bucketName,omitempty"` // BucketPrefix is the prefix of the S3 bucket. Can be blank but is the path // within the bucket where the data is located. // // +optional BucketPrefix *string `json:"bucketPrefix,omitempty"` // IngestionRole is the role to use for ingestion. // // +optional IngestionRole *string `json:"ingestionRole,omitempty"` // SourceEngine is the source engine to use. // // +optional SourceEngine *string `json:"sourceEngine,omitempty"` // SourceEngineVersion is the source engine version to use. // // +optional SourceEngineVersion *string `json:"sourceEngineVersion,omitempty"` }
S3Import is the S3 import configuration.
func (*S3Import) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Import.
func (*S3Import) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalingConfiguration ¶
type ScalingConfiguration struct { // AutoPause is whether the database should automatically pause. // // +optional AutoPause *bool `json:"autoPause,omitempty"` // MaxCapacity is the maximum capacity for the database. // // +optional MaxCapacity *int64 `json:"maxCapacity,omitempty"` // MinCapacity is the minimum capacity for the database. // // +optional MinCapacity *int64 `json:"minCapacity,omitempty"` // SecondsUntilAutoPause is the number of seconds until the database // automatically pauses. // // +optional SecondsUntilAutoPause *int64 `json:"secondsUntilAutoPause,omitempty"` }
ScalingConfiguration is the scaling configuration for serverless databases.
func (*ScalingConfiguration) DeepCopy ¶
func (in *ScalingConfiguration) DeepCopy() *ScalingConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingConfiguration.
func (*ScalingConfiguration) DeepCopyInto ¶
func (in *ScalingConfiguration) DeepCopyInto(out *ScalingConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶
type SecretReference struct { // Name of the secret // +kubebuilder:validation:Required Name string `json:"name"` // Namespace of the secret // +kubebuilder:validation:Required Namespace string `json:"namespace"` }
SecretReference is a reference to a Secret
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretRotation ¶
type SecretRotation struct { // Enabled is whether secret rotation is enabled. // // +optional // +default=false Enabled *bool `json:"enabled,omitempty"` // AutomaticallyAfterDays is the number of days after which the secret is // rotated automatically. // // +optional AutomaticallyAfterDays *int64 `json:"automaticallyAfterDays,omitempty"` // RotateImmediately is whether the secret should be rotated immediately. // // +optional // +default=true RotateImmediately *bool `json:"rotateImmediately,omitempty"` // ScheduleExpression is the schedule expression for secret rotation. // // +optional ScheduleExpression *string `json:"scheduleExpression,omitempty"` }
SecretRotation is the secret rotation configuration.
func (*SecretRotation) DeepCopy ¶
func (in *SecretRotation) DeepCopy() *SecretRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRotation.
func (*SecretRotation) DeepCopyInto ¶
func (in *SecretRotation) DeepCopyInto(out *SecretRotation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerlessV2ScalingConfiguration ¶
type ServerlessV2ScalingConfiguration struct { // MaxCapacity is the maximum capacity for the database. // // +optional MaxCapacity *int64 `json:"maxCapacity,omitempty"` // MinCapacity is the minimum capacity for the database. // // +optional MinCapacity *int64 `json:"minCapacity,omitempty"` }
ServerlessV2ScalingConfiguration is the scaling configuration for serverless databases.
func (*ServerlessV2ScalingConfiguration) DeepCopy ¶
func (in *ServerlessV2ScalingConfiguration) DeepCopy() *ServerlessV2ScalingConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessV2ScalingConfiguration.
func (*ServerlessV2ScalingConfiguration) DeepCopyInto ¶
func (in *ServerlessV2ScalingConfiguration) DeepCopyInto(out *ServerlessV2ScalingConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SqlUser ¶
type SqlUser struct { // ConfigurationParameters is the configuration parameters for the user. // // Only applicable for postgresql databases // // See https://www.postgresql.org/docs/current/runtime-config-client.html for // a list of available parameters. // // +optional ConfigurationParameters map[string]*string `json:"configurationParameters,omitempty"` // Privileges is a list of privileges to grant to the user. // // +optional Privileges []string `json:"privileges,omitempty"` }
Defines a user to create in the database
See the provider specific documentation for the available configuration parameters.
postgresql: https://www.postgresql.org/docs/current/sql-createrole.html mysql: https://dev.mysql.com/doc/refman/8.0/en/user-resources.html
For MySQL and MariaDB the following fields are supported: - `binlog` (boolean) - `maxConnectionsPerHour` (int) Default 100 - The maximum number of connections the user can make per hour (0 for unlimited) - `maxQueriesPerHour` (int) Default 1000 - The maximum number of queries the user can make per hour (0 for unlimited) - `maxUpdatesPerHour` (int) Default 1000 - The maximum number of updates the user can make per hour (0 for unlimited) - `maxUserConnections` (int) Default 10 - The maximum number of connections the user can have open at one time (0 for unlimited) - `privileges` ([]string) - A list of privileges to grant to the user
For PostgreSQL the following fields are supported: - `configurationParameters` (map[string]*string) - A map of configuration parameters to set for the user - `privileges` ([]string) - A list of privileges to grant to the user - `connectionLimit` (int) Default 10 - The maximum number of connections the user can have open at one time - `bypassRLS` (boolean) Default false - Whether the user should bypass row level security - `createDb` (boolean) Default false - Whether the user should be able to create databases - `createRole` (boolean) Default false - Whether the user should be able to create roles - `inherit` (boolean) Default true - Whether the user should inherit privileges from roles it is a member of - `login` (boolean) Default true - Whether the user should be able to log in - `replication` (boolean) Default false - Whether the user should be able to initiate streaming replication - `superuser` (boolean) Default false - Whether the user should be a superuser
With the exception of `configurationParameters`, all fields should be created as elements directly on the user object and not as nested objects.
+kubebuilder:pruning:PreserveUnknownFields
func (*SqlUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlUser.
func (*SqlUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SqlUsers ¶
A list of SqlUser objects to use for the database
+mapType=atomic
func (SqlUsers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlUsers.
func (SqlUsers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.