diff --git a/rds.aws.m.upbound.io/cluster_v1beta1.json b/rds.aws.m.upbound.io/cluster_v1beta1.json new file mode 100644 index 00000000..f598bbaa --- /dev/null +++ b/rds.aws.m.upbound.io/cluster_v1beta1.json @@ -0,0 +1,2951 @@ +{ + "description": "Cluster is the Schema for the Clusters API. Manages an RDS Aurora Cluster or a RDS Multi-AZ DB Cluster", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterSpec defines the desired state of Cluster", + "properties": { + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "If true, the password will be auto-generated and stored in the Secret referenced by the masterPasswordSecretRef field.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engine is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterStatus defines the observed state of Cluster.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "arn": { + "description": "Amazon Resource Name (ARN) of cluster", + "type": "string" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "caCertificateValidTill": { + "description": "Expiration date of the DB instance\u2019s server certificate", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterResourceId": { + "description": "RDS Cluster Resource ID", + "type": "string" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "DNS address of the RDS instance", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "engineVersionActual": { + "description": "Running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "hostedZoneId": { + "description": "Route53 Hosted Zone ID of the endpoint", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iamRoles": { + "description": "List of ARNs for the IAM roles to associate to the RDS Cluster.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "RDS Cluster Identifier", + "type": "string" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecret": { + "description": "Block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "Status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "readerEndpoint": { + "description": "Read-only endpoint for the Aurora cluster, automatically\nload-balanced across replicas", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clusteractivitystream_v1beta1.json b/rds.aws.m.upbound.io/clusteractivitystream_v1beta1.json new file mode 100644 index 00000000..46dcda33 --- /dev/null +++ b/rds.aws.m.upbound.io/clusteractivitystream_v1beta1.json @@ -0,0 +1,589 @@ +{ + "description": "ClusterActivityStream is the Schema for the ClusterActivityStreams API. Manages RDS Aurora Cluster Database Activity Streams", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterActivityStreamSpec defines the desired state of ClusterActivityStream", + "properties": { + "forProvider": { + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "resourceArnRef": { + "description": "Reference to a Cluster in rds to populate resourceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "resourceArnSelector": { + "description": "Selector for a Cluster in rds to populate resourceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "resourceArnRef": { + "description": "Reference to a Cluster in rds to populate resourceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "resourceArnSelector": { + "description": "Selector for a Cluster in rds to populate resourceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.mode is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.mode) || (has(self.initProvider) && has(self.initProvider.mode))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterActivityStreamStatus defines the observed state of ClusterActivityStream.", + "properties": { + "atProvider": { + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "id": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "kinesisStreamName": { + "description": "The name of the Amazon Kinesis data stream to be used for the database activity stream.", + "type": "string" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clusterendpoint_v1beta1.json b/rds.aws.m.upbound.io/clusterendpoint_v1beta1.json new file mode 100644 index 00000000..601e6671 --- /dev/null +++ b/rds.aws.m.upbound.io/clusterendpoint_v1beta1.json @@ -0,0 +1,841 @@ +{ + "description": "ClusterEndpoint is the Schema for the ClusterEndpoints API. Manages an RDS Aurora Cluster Endpoint", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterEndpointSpec defines the desired state of ClusterEndpoint", + "properties": { + "forProvider": { + "properties": { + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "excludedMembersRefs": { + "description": "References to ClusterInstance in rds to populate excludedMembers.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "excludedMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate excludedMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "staticMembersRefs": { + "description": "References to ClusterInstance in rds to populate staticMembers.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "staticMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate staticMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "excludedMembersRefs": { + "description": "References to ClusterInstance in rds to populate excludedMembers.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "excludedMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate excludedMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "staticMembersRefs": { + "description": "References to ClusterInstance in rds to populate staticMembers.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "staticMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate staticMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.customEndpointType is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.customEndpointType) || (has(self.initProvider) && has(self.initProvider.customEndpointType))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterEndpointStatus defines the observed state of ClusterEndpoint.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "Amazon Resource Name (ARN) of cluster", + "type": "string" + }, + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "endpoint": { + "description": "A custom endpoint for the Aurora cluster", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "The RDS Cluster Endpoint Identifier", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clusterinstance_v1beta1.json b/rds.aws.m.upbound.io/clusterinstance_v1beta1.json new file mode 100644 index 00000000..b321c602 --- /dev/null +++ b/rds.aws.m.upbound.io/clusterinstance_v1beta1.json @@ -0,0 +1,1401 @@ +{ + "description": "ClusterInstance is the Schema for the ClusterInstances API. Provides an RDS Cluster Resource Instance", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterInstanceSpec defines the desired state of ClusterInstance", + "properties": { + "forProvider": { + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "performanceInsightsKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "performanceInsightsKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engine is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))" + }, + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterInstanceStatus defines the observed state of ClusterInstance.", + "properties": { + "atProvider": { + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "arn": { + "description": "Amazon Resource Name (ARN) of cluster instance", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbiResourceId": { + "description": "Region-unique, immutable identifier for the DB instance.", + "type": "string" + }, + "endpoint": { + "description": "DNS address for this instance. May not be writable", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "engineVersionActual": { + "description": "Database engine version", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "id": { + "description": "Instance identifier", + "type": "string" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key if one is set to the cluster.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "networkType": { + "description": "Network type of the DB instance.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "Database port", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "writer": { + "description": "Boolean indicating if this instance is writable. False indicates this instance is a read replica.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clusterparametergroup_v1beta1.json b/rds.aws.m.upbound.io/clusterparametergroup_v1beta1.json new file mode 100644 index 00000000..dfe5a600 --- /dev/null +++ b/rds.aws.m.upbound.io/clusterparametergroup_v1beta1.json @@ -0,0 +1,311 @@ +{ + "description": "ClusterParameterGroup is the Schema for the ClusterParameterGroups API. Provides an RDS DB cluster parameter group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup", + "properties": { + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.family is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.family) || (has(self.initProvider) && has(self.initProvider.family))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterParameterGroupStatus defines the observed state of ClusterParameterGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db cluster parameter group.", + "type": "string" + }, + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "id": { + "description": "The db cluster parameter group name.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clusterroleassociation_v1beta1.json b/rds.aws.m.upbound.io/clusterroleassociation_v1beta1.json new file mode 100644 index 00000000..217154af --- /dev/null +++ b/rds.aws.m.upbound.io/clusterroleassociation_v1beta1.json @@ -0,0 +1,567 @@ +{ + "description": "ClusterRoleAssociation is the Schema for the ClusterRoleAssociations API. Manages a RDS DB Cluster association with an IAM Role.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterRoleAssociationSpec defines the desired state of ClusterRoleAssociation", + "properties": { + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "ClusterRoleAssociationStatus defines the observed state of ClusterRoleAssociation.", + "properties": { + "atProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "id": { + "description": "DB Cluster Identifier and IAM Role ARN separated by a comma (,)", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/clustersnapshot_v1beta1.json b/rds.aws.m.upbound.io/clustersnapshot_v1beta1.json new file mode 100644 index 00000000..c17eb439 --- /dev/null +++ b/rds.aws.m.upbound.io/clustersnapshot_v1beta1.json @@ -0,0 +1,494 @@ +{ + "description": "ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages an RDS database cluster snapshot.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterSnapshotSpec defines the desired state of ClusterSnapshot", + "properties": { + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.dbClusterSnapshotIdentifier is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.dbClusterSnapshotIdentifier) || (has(self.initProvider) && has(self.initProvider.dbClusterSnapshotIdentifier))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterSnapshotStatus defines the observed state of ClusterSnapshot.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB Cluster Snapshot.", + "type": "string" + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "engine": { + "description": "Name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Version of the database engine for this DB cluster snapshot.", + "type": "string" + }, + "id": { + "type": "string" + }, + "kmsKeyId": { + "description": "If storage_encrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB cluster.", + "type": "string" + }, + "port": { + "description": "Port that the DB cluster was listening on at the time of the snapshot.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbClusterSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB Cluster Snapshot.", + "type": "string" + }, + "status": { + "description": "The status of this DB Cluster Snapshot.", + "type": "string" + }, + "storageEncrypted": { + "description": "Whether the DB cluster snapshot is encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "The VPC ID associated with the DB cluster snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json b/rds.aws.m.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json new file mode 100644 index 00000000..4511dc0d --- /dev/null +++ b/rds.aws.m.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json @@ -0,0 +1,579 @@ +{ + "description": "DBInstanceAutomatedBackupsReplication is the Schema for the DBInstanceAutomatedBackupsReplications API. Enables replication of automated backups to a different AWS Region.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "DBInstanceAutomatedBackupsReplicationSpec defines the desired state of DBInstanceAutomatedBackupsReplication", + "properties": { + "forProvider": { + "properties": { + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + }, + "sourceDbInstanceArnRef": { + "description": "Reference to a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbInstanceArnSelector": { + "description": "Selector for a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + }, + "sourceDbInstanceArnRef": { + "description": "Reference to a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbInstanceArnSelector": { + "description": "Selector for a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "DBInstanceAutomatedBackupsReplicationStatus defines the observed state of DBInstanceAutomatedBackupsReplication.", + "properties": { + "atProvider": { + "properties": { + "id": { + "description": "The Amazon Resource Name (ARN) of the replicated automated backups.", + "type": "string" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/dbsnapshotcopy_v1beta1.json b/rds.aws.m.upbound.io/dbsnapshotcopy_v1beta1.json new file mode 100644 index 00000000..67574797 --- /dev/null +++ b/rds.aws.m.upbound.io/dbsnapshotcopy_v1beta1.json @@ -0,0 +1,739 @@ +{ + "description": "DBSnapshotCopy is the Schema for the DBSnapshotCopys API. Manages an RDS database instance snapshot copy.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "DBSnapshotCopySpec defines the desired state of DBSnapshotCopy", + "properties": { + "forProvider": { + "properties": { + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceDbSnapshotIdentifierRef": { + "description": "Reference to a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbSnapshotIdentifierSelector": { + "description": "Selector for a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceDbSnapshotIdentifierRef": { + "description": "Reference to a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbSnapshotIdentifierSelector": { + "description": "Selector for a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.targetDbSnapshotIdentifier is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetDbSnapshotIdentifier) || (has(self.initProvider) && has(self.initProvider.targetDbSnapshotIdentifier))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "DBSnapshotCopyStatus defines the observed state of DBSnapshotCopy.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Specifies the allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZone": { + "description": "Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.", + "type": "string" + }, + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "dbSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB snapshot.", + "type": "string" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "encrypted": { + "description": "Specifies whether the DB snapshot is encrypted.", + "type": "boolean" + }, + "engine": { + "description": "Specifies the name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Specifies the version of the database engine.", + "type": "string" + }, + "id": { + "description": "Snapshot Identifier.", + "type": "string" + }, + "iops": { + "description": "Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.", + "type": "number" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB instance.", + "type": "string" + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "port": { + "type": "number" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The region that the DB snapshot was created in or copied from.", + "type": "string" + }, + "storageType": { + "description": "Specifies the storage type associated with DB snapshot.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "vpcId": { + "description": "Provides the VPC ID associated with the DB snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/eventsubscription_v1beta1.json b/rds.aws.m.upbound.io/eventsubscription_v1beta1.json new file mode 100644 index 00000000..904b74cc --- /dev/null +++ b/rds.aws.m.upbound.io/eventsubscription_v1beta1.json @@ -0,0 +1,663 @@ +{ + "description": "EventSubscription is the Schema for the EventSubscriptions API. Provides a DB event subscription resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "EventSubscriptionSpec defines the desired state of EventSubscription", + "properties": { + "forProvider": { + "properties": { + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "snsTopicRef": { + "description": "Reference to a Topic in sns to populate snsTopic.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "snsTopicSelector": { + "description": "Selector for a Topic in sns to populate snsTopic.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceIdsRefs": { + "description": "References to Instance in rds to populate sourceIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "sourceIdsSelector": { + "description": "Selector for a list of Instance in rds to populate sourceIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "snsTopicRef": { + "description": "Reference to a Topic in sns to populate snsTopic.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "snsTopicSelector": { + "description": "Selector for a Topic in sns to populate snsTopic.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceIdsRefs": { + "description": "References to Instance in rds to populate sourceIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "sourceIdsSelector": { + "description": "Selector for a list of Instance in rds to populate sourceIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "EventSubscriptionStatus defines the observed state of EventSubscription.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name of the RDS event notification subscription", + "type": "string" + }, + "customerAwsId": { + "description": "The AWS customer account associated with the RDS event notification subscription", + "type": "string" + }, + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "The name of the RDS event notification subscription", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/globalcluster_v1beta1.json b/rds.aws.m.upbound.io/globalcluster_v1beta1.json new file mode 100644 index 00000000..77b4c3e4 --- /dev/null +++ b/rds.aws.m.upbound.io/globalcluster_v1beta1.json @@ -0,0 +1,516 @@ +{ + "description": "GlobalCluster is the Schema for the GlobalClusters API. Manages an RDS Global Cluster", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "GlobalClusterSpec defines the desired state of GlobalCluster", + "properties": { + "forProvider": { + "properties": { + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "sourceDbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "sourceDbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "GlobalClusterStatus defines the observed state of GlobalCluster.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "RDS Global Cluster Amazon Resource Name (ARN).", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "engineVersionActual": { + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "globalClusterMembers": { + "description": "Set of objects containing Global Cluster members.", + "items": { + "properties": { + "dbClusterArn": { + "description": "Amazon Resource Name (ARN) of member DB Cluster.", + "type": "string" + }, + "isWriter": { + "description": "Whether the member is the primary DB Cluster.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "globalClusterResourceId": { + "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.", + "type": "string" + }, + "id": { + "description": "RDS Global Cluster identifier.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/instance_v1beta1.json b/rds.aws.m.upbound.io/instance_v1beta1.json new file mode 100644 index 00000000..5807193f --- /dev/null +++ b/rds.aws.m.upbound.io/instance_v1beta1.json @@ -0,0 +1,2623 @@ +{ + "description": "Instance is the Schema for the Instances API. Provides an RDS instance resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceSpec defines the desired state of Instance", + "properties": { + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nIf true, the password will be auto-generated and stored in the Secret referenced by the passwordSecretRef field.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStatus defines the observed state of Instance.", + "properties": { + "atProvider": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "arn": { + "description": "The ARN of the RDS instance.", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "The connection endpoint in address:port format.", + "type": "string" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "engineVersionActual": { + "description": "The running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "id": { + "description": "RDS DBI resource ID.", + "type": "string" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "latestRestorableTime": { + "description": "The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "listenerEndpoint": { + "description": "Specifies the listener connection endpoint for SQL Server Always On. See endpoint below.", + "items": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecret": { + "description": "A block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "The status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "resourceId": { + "description": "The RDS Resource ID of this instance.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "status": { + "description": "The RDS instance status.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/instanceroleassociation_v1beta1.json b/rds.aws.m.upbound.io/instanceroleassociation_v1beta1.json new file mode 100644 index 00000000..93841723 --- /dev/null +++ b/rds.aws.m.upbound.io/instanceroleassociation_v1beta1.json @@ -0,0 +1,573 @@ +{ + "description": "InstanceRoleAssociation is the Schema for the InstanceRoleAssociations API. Manages an RDS DB Instance association with an IAM Role.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceRoleAssociationSpec defines the desired state of InstanceRoleAssociation", + "properties": { + "forProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.featureName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.featureName) || (has(self.initProvider) && has(self.initProvider.featureName))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceRoleAssociationStatus defines the observed state of InstanceRoleAssociation.", + "properties": { + "atProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "id": { + "description": "DB Instance Identifier and IAM Role ARN separated by a comma (,)", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/instancestate_v1beta1.json b/rds.aws.m.upbound.io/instancestate_v1beta1.json new file mode 100644 index 00000000..a00a6bea --- /dev/null +++ b/rds.aws.m.upbound.io/instancestate_v1beta1.json @@ -0,0 +1,384 @@ +{ + "description": "InstanceState is the Schema for the InstanceStates API.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceStateSpec defines the desired state of InstanceState", + "properties": { + "forProvider": { + "properties": { + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "identifierRef": { + "description": "Reference to a Instance in rds to populate identifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "identifierSelector": { + "description": "Selector for a Instance in rds to populate identifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "identifierRef": { + "description": "Reference to a Instance in rds to populate identifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "identifierSelector": { + "description": "Selector for a Instance in rds to populate identifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.state is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.state) || (has(self.initProvider) && has(self.initProvider.state))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStateStatus defines the observed state of InstanceState.", + "properties": { + "atProvider": { + "properties": { + "id": { + "type": "string" + }, + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/optiongroup_v1beta1.json b/rds.aws.m.upbound.io/optiongroup_v1beta1.json new file mode 100644 index 00000000..e73f1349 --- /dev/null +++ b/rds.aws.m.upbound.io/optiongroup_v1beta1.json @@ -0,0 +1,438 @@ +{ + "description": "OptionGroup is the Schema for the OptionGroups API. Provides an RDS DB option group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "OptionGroupSpec defines the desired state of OptionGroup", + "properties": { + "forProvider": { + "properties": { + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engineName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineName) || (has(self.initProvider) && has(self.initProvider.engineName))" + }, + { + "message": "spec.forProvider.majorEngineVersion is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.majorEngineVersion) || (has(self.initProvider) && has(self.initProvider.majorEngineVersion))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "OptionGroupStatus defines the observed state of OptionGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "ARN of the DB option group.", + "type": "string" + }, + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "id": { + "description": "DB option group name.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/parametergroup_v1beta1.json b/rds.aws.m.upbound.io/parametergroup_v1beta1.json new file mode 100644 index 00000000..abb615e3 --- /dev/null +++ b/rds.aws.m.upbound.io/parametergroup_v1beta1.json @@ -0,0 +1,320 @@ +{ + "description": "ParameterGroup is the Schema for the ParameterGroups API. Provides an RDS DB parameter group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ParameterGroupSpec defines the desired state of ParameterGroup", + "properties": { + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.family is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.family) || (has(self.initProvider) && has(self.initProvider.family))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ParameterGroupStatus defines the observed state of ParameterGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db parameter group.", + "type": "string" + }, + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "id": { + "description": "The db parameter group name.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/proxy_v1beta1.json b/rds.aws.m.upbound.io/proxy_v1beta1.json new file mode 100644 index 00000000..b5a864af --- /dev/null +++ b/rds.aws.m.upbound.io/proxy_v1beta1.json @@ -0,0 +1,1159 @@ +{ + "description": "Proxy is the Schema for the Proxys API. Provides an RDS DB proxy resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxySpec defines the desired state of Proxy", + "properties": { + "forProvider": { + "properties": { + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "secretArnRef": { + "description": "Reference to a Secret in secretsmanager to populate secretArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "secretArnSelector": { + "description": "Selector for a Secret in secretsmanager to populate secretArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIdsRefs": { + "description": "References to Subnet in ec2 to populate vpcSubnetIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSubnetIdsSelector": { + "description": "Selector for a list of Subnet in ec2 to populate vpcSubnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "secretArnRef": { + "description": "Reference to a Secret in secretsmanager to populate secretArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "secretArnSelector": { + "description": "Selector for a Secret in secretsmanager to populate secretArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIdsRefs": { + "description": "References to Subnet in ec2 to populate vpcSubnetIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSubnetIdsSelector": { + "description": "Selector for a list of Subnet in ec2 to populate vpcSubnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.auth is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.auth) || (has(self.initProvider) && has(self.initProvider.auth))" + }, + { + "message": "spec.forProvider.engineFamily is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineFamily) || (has(self.initProvider) && has(self.initProvider.engineFamily))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyStatus defines the observed state of Proxy.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) for the proxy.", + "type": "string" + }, + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "endpoint": { + "description": "The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.", + "type": "string" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "id": { + "description": "The Amazon Resource Name (ARN) for the proxy.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/proxydefaulttargetgroup_v1beta1.json b/rds.aws.m.upbound.io/proxydefaulttargetgroup_v1beta1.json new file mode 100644 index 00000000..59d1258e --- /dev/null +++ b/rds.aws.m.upbound.io/proxydefaulttargetgroup_v1beta1.json @@ -0,0 +1,468 @@ +{ + "description": "ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups API. Manage an RDS DB proxy default target group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyDefaultTargetGroupSpec defines the desired state of ProxyDefaultTargetGroup", + "properties": { + "forProvider": { + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "ProxyDefaultTargetGroupStatus defines the observed state of ProxyDefaultTargetGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) representing the target group.", + "type": "string" + }, + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "id": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "name": { + "description": "The name of the default target group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/proxyendpoint_v1beta1.json b/rds.aws.m.upbound.io/proxyendpoint_v1beta1.json new file mode 100644 index 00000000..20e96580 --- /dev/null +++ b/rds.aws.m.upbound.io/proxyendpoint_v1beta1.json @@ -0,0 +1,572 @@ +{ + "description": "ProxyEndpoint is the Schema for the ProxyEndpoints API. Provides an RDS DB proxy endpoint resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyEndpointSpec defines the desired state of ProxyEndpoint", + "properties": { + "forProvider": { + "properties": { + "dbProxyName": { + "description": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.vpcSubnetIds is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.vpcSubnetIds) || (has(self.initProvider) && has(self.initProvider.vpcSubnetIds))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyEndpointStatus defines the observed state of ProxyEndpoint.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) for the proxy endpoint.", + "type": "string" + }, + "dbProxyName": { + "description": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "type": "string" + }, + "endpoint": { + "description": "The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.", + "type": "string" + }, + "id": { + "description": "The name of the proxy and proxy endpoint separated by /, DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME.", + "type": "string" + }, + "isDefault": { + "description": "Indicates whether this endpoint is the default endpoint for the associated DB proxy.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcId": { + "description": "The VPC ID of the DB proxy endpoint.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/proxytarget_v1beta1.json b/rds.aws.m.upbound.io/proxytarget_v1beta1.json new file mode 100644 index 00000000..76f269fd --- /dev/null +++ b/rds.aws.m.upbound.io/proxytarget_v1beta1.json @@ -0,0 +1,609 @@ +{ + "description": "ProxyTarget is the Schema for the ProxyTargets API. Provides an RDS DB proxy target resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyTargetSpec defines the desired state of ProxyTarget", + "properties": { + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.targetGroupName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetGroupName) || (has(self.initProvider) && has(self.initProvider.targetGroupName))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyTargetStatus defines the observed state of ProxyTarget.", + "properties": { + "atProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "endpoint": { + "description": "Hostname for the target RDS DB Instance. Only returned for RDS_INSTANCE type.", + "type": "string" + }, + "id": { + "description": "Identifier of db_proxy_name, target_group_name, target type (e.g., RDS_INSTANCE or TRACKED_CLUSTER), and resource identifier separated by forward slashes (/).", + "type": "string" + }, + "port": { + "description": "Port for the target RDS DB Instance or Aurora DB Cluster.", + "type": "number" + }, + "rdsResourceId": { + "description": "Identifier representing the DB Instance or DB Cluster target.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "targetArn": { + "description": "Amazon Resource Name (ARN) for the DB instance or DB cluster. Currently not returned by the RDS API.", + "type": "string" + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + }, + "trackedClusterId": { + "description": "DB Cluster identifier for the DB Instance target. Not returned unless manually importing an RDS_INSTANCE target that is part of a DB Cluster.", + "type": "string" + }, + "type": { + "description": "Type of targetE.g., RDS_INSTANCE or TRACKED_CLUSTER", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/snapshot_v1beta1.json b/rds.aws.m.upbound.io/snapshot_v1beta1.json new file mode 100644 index 00000000..b44834dd --- /dev/null +++ b/rds.aws.m.upbound.io/snapshot_v1beta1.json @@ -0,0 +1,488 @@ +{ + "description": "Snapshot is the Schema for the Snapshots API. Manages an RDS database instance snapshot.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "SnapshotSpec defines the desired state of Snapshot", + "properties": { + "forProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "SnapshotStatus defines the observed state of Snapshot.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Specifies the allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZone": { + "description": "Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB snapshot.", + "type": "string" + }, + "encrypted": { + "description": "Specifies whether the DB snapshot is encrypted.", + "type": "boolean" + }, + "engine": { + "description": "Specifies the name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Specifies the version of the database engine.", + "type": "string" + }, + "id": { + "type": "string" + }, + "iops": { + "description": "Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB instance.", + "type": "string" + }, + "optionGroupName": { + "description": "Provides the option group name for the DB snapshot.", + "type": "string" + }, + "port": { + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbSnapshotIdentifier": { + "description": "The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.", + "type": "string" + }, + "sourceRegion": { + "description": "The region that the DB snapshot was created in or copied from.", + "type": "string" + }, + "status": { + "description": "Specifies the status of this DB snapshot.", + "type": "string" + }, + "storageType": { + "description": "Specifies the storage type associated with DB snapshot.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "Provides the VPC ID associated with the DB snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.m.upbound.io/subnetgroup_v1beta1.json b/rds.aws.m.upbound.io/subnetgroup_v1beta1.json new file mode 100644 index 00000000..4abff7ba --- /dev/null +++ b/rds.aws.m.upbound.io/subnetgroup_v1beta1.json @@ -0,0 +1,447 @@ +{ + "description": "SubnetGroup is the Schema for the SubnetGroups API. Provides an RDS DB subnet group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "SubnetGroupSpec defines the desired state of SubnetGroup", + "properties": { + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "subnetIdRefs": { + "description": "References to Subnet in ec2 to populate subnetIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "subnetIdSelector": { + "description": "Selector for a list of Subnet in ec2 to populate subnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "subnetIdRefs": { + "description": "References to Subnet in ec2 to populate subnetIds.", + "items": { + "description": "A NamespacedReference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referenced object", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "subnetIdSelector": { + "description": "Selector for a list of Subnet in ec2 to populate subnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "namespace": { + "description": "Namespace for the selector", + "type": "string" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "kind": "ClusterProviderConfig", + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "kind": { + "description": "Kind of the referenced object.", + "type": "string" + }, + "name": { + "description": "Name of the referenced object.", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "SubnetGroupStatus defines the observed state of SubnetGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db subnet group.", + "type": "string" + }, + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "id": { + "description": "The db subnet group name.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "supportedNetworkTypes": { + "description": "The network type of the db subnet group.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "Provides the VPC ID of the DB subnet group.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/cluster_v1beta1.json b/rds.aws.upbound.io/cluster_v1beta1.json new file mode 100644 index 00000000..5862917c --- /dev/null +++ b/rds.aws.upbound.io/cluster_v1beta1.json @@ -0,0 +1,2899 @@ +{ + "description": "Cluster is the Schema for the Clusters API. Manages an RDS Aurora Cluster or a RDS Multi-AZ DB Cluster", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterSpec defines the desired state of Cluster", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "If true, the password will be auto-generated and stored in the Secret referenced by the masterPasswordSecretRef field.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, slowquery, iam-db-auth-error, postgresql (PostgreSQL).", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "items": { + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "items": { + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "items": { + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "items": { + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, slowquery, iam-db-auth-error, postgresql (PostgreSQL).", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "items": { + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "items": { + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "items": { + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "items": { + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engine is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterStatus defines the observed state of Cluster.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "arn": { + "description": "Amazon Resource Name (ARN) of cluster", + "type": "string" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "caCertificateValidTill": { + "description": "Expiration date of the DB instance\u2019s server certificate", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterResourceId": { + "description": "RDS Cluster Resource ID", + "type": "string" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, slowquery, iam-db-auth-error, postgresql (PostgreSQL).", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "DNS address of the RDS instance", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "engineVersionActual": { + "description": "Running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "hostedZoneId": { + "description": "Route53 Hosted Zone ID of the endpoint", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iamRoles": { + "description": "List of ARNs for the IAM roles to associate to the RDS Cluster.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "RDS Cluster Identifier", + "type": "string" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecret": { + "description": "Block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "Status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "readerEndpoint": { + "description": "Read-only endpoint for the Aurora cluster, automatically\nload-balanced across replicas", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "items": { + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "items": { + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "items": { + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "items": { + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/cluster_v1beta2.json b/rds.aws.upbound.io/cluster_v1beta2.json new file mode 100644 index 00000000..fa3bf655 --- /dev/null +++ b/rds.aws.upbound.io/cluster_v1beta2.json @@ -0,0 +1,2863 @@ +{ + "description": "Cluster is the Schema for the Clusters API. Manages an RDS Aurora Cluster or a RDS Multi-AZ DB Cluster", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterSpec defines the desired state of Cluster", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "If true, the password will be auto-generated and stored in the Secret referenced by the masterPasswordSecretRef field.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbClusterParameterGroupNameRef": { + "description": "Reference to a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterParameterGroupNameSelector": { + "description": "Selector for a ClusterParameterGroup in rds to populate dbClusterParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbInstanceParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbInstanceParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoSecretRef": { + "description": "Only required unless manage_master_user_password is set to true, a snapshot_identifier, replication_source_identifier, or master_password is provided or unless a global_cluster_identifier is provided when the cluster is the \"secondary\" cluster of a global database) Password for the master DB user. Note that this may show up in logs. Please refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketNameRef": { + "description": "Reference to a Bucket in s3 to populate bucketName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "bucketNameSelector": { + "description": "Selector for a Bucket in s3 to populate bucketName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engine is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterStatus defines the observed state of Cluster.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Enable to allow major engine version upgrades when changing engine versions. Defaults to false.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon RDS Documentation for more information.", + "type": "boolean" + }, + "arn": { + "description": "Amazon Resource Name (ARN) of cluster", + "type": "string" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nWe recommend specifying 3 AZs or using the if necessary.\nA maximum of 3 AZs can be configured.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "backtrackWindow": { + "description": "Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)", + "type": "number" + }, + "backupRetentionPeriod": { + "description": "Days to retain backups for. Default 1", + "type": "number" + }, + "caCertificateIdentifier": { + "description": "The CA certificate identifier to use for the DB cluster's server certificate.", + "type": "string" + }, + "caCertificateValidTill": { + "description": "Expiration date of the DB instance\u2019s server certificate", + "type": "string" + }, + "clusterMembers": { + "description": "List of RDS Instances that are a part of this cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "clusterResourceId": { + "description": "RDS Cluster Resource ID", + "type": "string" + }, + "clusterScalabilityType": { + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation. Valid values: limitless, standard.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Cluster tags to snapshots. Default is false.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster. Valid values: standard, advanced.", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints", + "type": "string" + }, + "dbClusterInstanceClass": { + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.", + "type": "string" + }, + "dbClusterParameterGroupName": { + "description": "A cluster parameter group to associate with the cluster.", + "type": "string" + }, + "dbInstanceParameterGroupName": { + "description": "Instance parameter group to associate with all instances of the DB cluster. The db_instance_parameter_group_name parameter is only valid in combination with the allow_major_version_upgrade parameter.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "DB subnet group to associate with this DB cluster.\nNOTE: This must match the db_subnet_group_name specified on every aws_rds_cluster_instance in the cluster.", + "type": "string" + }, + "dbSystemId": { + "description": "For use with RDS Custom.", + "type": "string" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to true.\nThe default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the cluster in.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "enableGlobalWriteForwarding": { + "description": "Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an aws_rds_global_cluster's primary cluster. See the User Guide for Aurora for more information.", + "type": "boolean" + }, + "enableHttpEndpoint": { + "description": "Enable HTTP endpoint (data API). Only valid for some combinations of engine_mode, engine and engine_version and only available in some regions. See the Region and version availability section of the documentation. This option also does not work with any of these options specified: snapshot_identifier, replication_source_identifier, s3_import.", + "type": "boolean" + }, + "enableLocalWriteForwarding": { + "description": "Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the User Guide for Aurora for more information. NOTE: Local write forwarding requires Aurora MySQL version 3.04 or higher.", + "type": "boolean" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: audit, error, general, iam-db-auth-error, instance, postgresql (PostgreSQL), slowquery.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "DNS address of the RDS instance", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting is valid for cluster types Aurora DB clusters and Multi-AZ DB clusters. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineMode": { + "description": "Database engine mode. Valid values: global (only valid for Aurora MySQL 1.21 and earlier), parallelquery, provisioned, serverless. Defaults to: provisioned. Specify an empty value (\"\") for no engine mode. See the RDS User Guide for limitations when using serverless.", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Updating this argument results in an outage. See the Aurora MySQL and Aurora Postgres documentation for your configured engine to determine this value, or by running aws rds describe-db-engine-versions. For example with Aurora MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute engine_version_actual, , see Attribute Reference below.", + "type": "string" + }, + "engineVersionActual": { + "description": "Running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made.", + "type": "string" + }, + "globalClusterIdentifier": { + "description": "Global cluster identifier specified on aws_rds_global_cluster.", + "type": "string" + }, + "hostedZoneId": { + "description": "Route53 Hosted Zone ID of the endpoint", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.", + "type": "boolean" + }, + "iamRoles": { + "description": "List of ARNs for the IAM roles to associate to the RDS Cluster.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "RDS Cluster Identifier", + "type": "string" + }, + "iops": { + "description": "Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see Amazon RDS Provisioned IOPS storage to improve performance in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type": "number" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if master_password is provided.", + "type": "boolean" + }, + "masterPasswordWoVersion": { + "description": "Used together with master_password_wo to trigger an update. Increment this value when an update to the master_password_wo is required.", + "type": "number" + }, + "masterUserSecret": { + "description": "Block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "Status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUsername": { + "description": "Username for the master DB user. Please refer to the RDS Naming Constraints. This argument does not support in-place updates and cannot be changed during a restore from snapshot.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Clusters.", + "type": "string" + }, + "networkType": { + "description": "Network type of the cluster. Valid values: IPV4, DUAL.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Enables Performance Insights.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "Specifies the KMS Key ID to encrypt Performance Insights data. If not specified, the default RDS KMS key will be used (aws/rds).", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Specifies the amount of time to retain performance insights data for. Defaults to 7 days if Performance Insights are enabled. Valid values are 7, month * 31 (where month is a number of months from 1-23), and 731. See here for more information on retention periods.", + "type": "number" + }, + "port": { + "description": "Port on which the DB accepts connections.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region, e.g. 04:00-09:00.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30", + "type": "string" + }, + "readerEndpoint": { + "description": "Read-only endpoint for the Aurora cluster, automatically\nload-balanced across replicas", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicationSourceIdentifier": { + "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. Note: Removing this attribute after creation will promote the read replica to a standalone cluster.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "Nested attribute for point in time restore. More details below.", + "properties": { + "restoreToTime": { + "description": "Date and time in UTC format to restore the database cluster to. Conflicts with use_latest_restorable_time.", + "type": "string" + }, + "restoreType": { + "description": "Type of restore to be performed.\nValid options are full-copy (default) and copy-on-write.", + "type": "string" + }, + "sourceClusterIdentifier": { + "description": "Identifier of the source database cluster from which to restore. When restoring from a cluster in another AWS account, the identifier is the ARN of that cluster.", + "type": "string" + }, + "sourceClusterResourceId": { + "description": "Cluster resource ID of the source database cluster from which to restore. To be used for restoring a deleted cluster in the same account which still has a retained automatic backup available.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "Set to true to restore the database cluster to the latest restorable backup time. Defaults to false. Conflicts with restore_to_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Port on which the DB accepts connections.", + "properties": { + "bucketName": { + "description": "Bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingConfiguration": { + "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.", + "properties": { + "autoPause": { + "description": "Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to true.", + "type": "boolean" + }, + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsBeforeTimeout": { + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are 60 through 600. Defaults to 300.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + }, + "timeoutAction": { + "description": "Action to take when the timeout is reached. Valid values: ForceApplyCapacityChange, RollbackCapacityChange. Defaults to RollbackCapacityChange. See documentation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "serverlessv2ScalingConfiguration": { + "description": "Nested attribute with scaling properties for ServerlessV2. Only valid when engine_mode is set to provisioned. More details below.", + "properties": { + "maxCapacity": { + "description": "Maximum capacity for an Aurora DB cluster in serverless DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 16.", + "type": "number" + }, + "minCapacity": { + "description": "Minimum capacity for an Aurora DB cluster in serverless DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, 256. Valid Aurora PostgreSQL capacity values are (2, 4, 8, 16, 32, 64, 192, and 384). Defaults to 1.", + "type": "number" + }, + "secondsUntilAutoPause": { + "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are 300 through 86400. Defaults to 300.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with global_cluster_identifier. Clusters cannot be restored from snapshot and joined to an existing global cluster in a single operation. See the AWS documentation or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The source region for an encrypted replica DB cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode. When restoring an unencrypted snapshot_identifier, the kms_key_id argument must be provided to encrypt the restored cluster.", + "type": "boolean" + }, + "storageType": { + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, storage_type modifications can be done in-place. For Multi-AZ DB Clusters, the iops argument must also be set. Valid values are: \"\", aurora-iopt1 (Aurora DB Clusters); io1, io2 (Multi-AZ DB Clusters). Default: \"\" (Aurora DB Clusters); io1 (Multi-AZ DB Clusters).", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to associate with the Cluster", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clusteractivitystream_v1beta1.json b/rds.aws.upbound.io/clusteractivitystream_v1beta1.json new file mode 100644 index 00000000..dea6e422 --- /dev/null +++ b/rds.aws.upbound.io/clusteractivitystream_v1beta1.json @@ -0,0 +1,589 @@ +{ + "description": "ClusterActivityStream is the Schema for the ClusterActivityStreams API. Manages RDS Aurora Cluster Database Activity Streams", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterActivityStreamSpec defines the desired state of ClusterActivityStream", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "resourceArnRef": { + "description": "Reference to a Cluster in rds to populate resourceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "resourceArnSelector": { + "description": "Selector for a Cluster in rds to populate resourceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "resourceArnRef": { + "description": "Reference to a Cluster in rds to populate resourceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "resourceArnSelector": { + "description": "Selector for a Cluster in rds to populate resourceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.mode is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.mode) || (has(self.initProvider) && has(self.initProvider.mode))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterActivityStreamStatus defines the observed state of ClusterActivityStream.", + "properties": { + "atProvider": { + "properties": { + "engineNativeAuditFieldsIncluded": { + "description": "Specifies whether the database activity stream includes engine-native audit fields. This option only applies to an Oracle DB instance. By default, no engine-native audit fields are included. Defaults false.", + "type": "boolean" + }, + "id": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + }, + "kinesisStreamName": { + "description": "The name of the Amazon Kinesis data stream to be used for the database activity stream.", + "type": "string" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encrypting messages in the database activity stream. The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.", + "type": "string" + }, + "mode": { + "description": "Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously. One of: sync, async.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "resourceArn": { + "description": "The Amazon Resource Name (ARN) of the DB cluster.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clusterendpoint_v1beta1.json b/rds.aws.upbound.io/clusterendpoint_v1beta1.json new file mode 100644 index 00000000..89b8bbd8 --- /dev/null +++ b/rds.aws.upbound.io/clusterendpoint_v1beta1.json @@ -0,0 +1,825 @@ +{ + "description": "ClusterEndpoint is the Schema for the ClusterEndpoints API. Manages an RDS Aurora Cluster Endpoint", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterEndpointSpec defines the desired state of ClusterEndpoint", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "excludedMembersRefs": { + "description": "References to ClusterInstance in rds to populate excludedMembers.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "excludedMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate excludedMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "staticMembersRefs": { + "description": "References to ClusterInstance in rds to populate staticMembers.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "staticMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate staticMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "excludedMembersRefs": { + "description": "References to ClusterInstance in rds to populate excludedMembers.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "excludedMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate excludedMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "staticMembersRefs": { + "description": "References to ClusterInstance in rds to populate staticMembers.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "staticMembersSelector": { + "description": "Selector for a list of ClusterInstance in rds to populate staticMembers.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.customEndpointType is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.customEndpointType) || (has(self.initProvider) && has(self.initProvider.customEndpointType))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterEndpointStatus defines the observed state of ClusterEndpoint.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "Amazon Resource Name (ARN) of cluster", + "type": "string" + }, + "clusterIdentifier": { + "description": "The cluster identifier.", + "type": "string" + }, + "customEndpointType": { + "description": "The type of the endpoint. One of: READER , ANY .", + "type": "string" + }, + "endpoint": { + "description": "A custom endpoint for the Aurora cluster", + "type": "string" + }, + "excludedMembers": { + "description": "List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty. Conflicts with static_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "The RDS Cluster Endpoint Identifier", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "staticMembers": { + "description": "List of DB instance identifiers that are part of the custom endpoint group. Conflicts with excluded_members.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clusterinstance_v1beta1.json b/rds.aws.upbound.io/clusterinstance_v1beta1.json new file mode 100644 index 00000000..9fd67a42 --- /dev/null +++ b/rds.aws.upbound.io/clusterinstance_v1beta1.json @@ -0,0 +1,1353 @@ +{ + "description": "ClusterInstance is the Schema for the ClusterInstances API. Provides an RDS Cluster Resource Instance", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterInstanceSpec defines the desired state of ClusterInstance", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "performanceInsightsKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "clusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate clusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "clusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate clusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbParameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbParameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate dbParameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "performanceInsightsKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate performanceInsightsKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engine is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))" + }, + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterInstanceStatus defines the observed state of ClusterInstance.", + "properties": { + "atProvider": { + "properties": { + "applyImmediately": { + "description": "Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default isfalse.", + "type": "boolean" + }, + "arn": { + "description": "Amazon Resource Name (ARN) of cluster instance", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "EC2 Availability Zone that the DB instance is created in. See docs about the details.", + "type": "string" + }, + "caCertIdentifier": { + "description": "Identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "clusterIdentifier": { + "description": "Identifier of the aws_rds_cluster in which to launch this instance.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "dbParameterGroupName": { + "description": "Name of the DB parameter group to associate with this instance.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether db_subnet_group_name is specified. Please refer to official AWS documentation to understand how db_subnet_group_name and publicly_accessible parameters affect DB instance behaviour. NOTE: This must match the db_subnet_group_name of the attached aws_rds_cluster.", + "type": "string" + }, + "dbiResourceId": { + "description": "Region-unique, immutable identifier for the DB instance.", + "type": "string" + }, + "endpoint": { + "description": "DNS address for this instance. May not be writable", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for the RDS cluster instance.\nValid Values: aurora-mysql, aurora-postgresql, mysql, postgres.(Note that mysql and postgres are Multi-AZ RDS clusters).", + "type": "string" + }, + "engineVersion": { + "description": "Database engine version. Please note that to upgrade the engine_version of the instance, it must be done on the aws_rds_cluster engine_version. Trying to upgrade in aws_cluster_instance will not update the engine_version.", + "type": "string" + }, + "engineVersionActual": { + "description": "Database engine version", + "type": "string" + }, + "forceDestroy": { + "description": "Forces an instance to be destroyed when a part of a read replica cluster. Note: will promote the read replica to a standalone cluster before instance deletion.", + "type": "boolean" + }, + "id": { + "description": "Instance identifier", + "type": "string" + }, + "instanceClass": { + "description": "Instance class to use. For details on CPU and memory, see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. Please see AWS Documentation for currently available instance classes and complete details. For Aurora Serverless v2 use db.serverless.", + "type": "string" + }, + "kmsKeyId": { + "description": "ARN for the KMS encryption key if one is set to the cluster.", + "type": "string" + }, + "monitoringInterval": { + "description": "Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the AWS Documentation what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "networkType": { + "description": "Network type of the DB instance.", + "type": "string" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights is enabled or not. NOTE: When Performance Insights is configured at the cluster level through aws_rds_cluster, this argument cannot be set to a value that conflicts with the cluster's configuration.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "Database port", + "type": "number" + }, + "preferredBackupWindow": { + "description": "Daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\". NOTE: If preferred_backup_window is set at the cluster level, this argument must be omitted.", + "type": "string" + }, + "preferredMaintenanceWindow": { + "description": "Window to perform maintenance in. Syntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\".", + "type": "string" + }, + "promotionTier": { + "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly accessible. Default false. See the documentation on Creating DB Instances for more details on controlling this property.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "writer": { + "description": "Boolean indicating if this instance is writable. False indicates this instance is a read replica.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clusterparametergroup_v1beta1.json b/rds.aws.upbound.io/clusterparametergroup_v1beta1.json new file mode 100644 index 00000000..47439432 --- /dev/null +++ b/rds.aws.upbound.io/clusterparametergroup_v1beta1.json @@ -0,0 +1,343 @@ +{ + "description": "ClusterParameterGroup is the Schema for the ClusterParameterGroups API. Provides an RDS DB cluster parameter group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.family is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.family) || (has(self.initProvider) && has(self.initProvider.family))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterParameterGroupStatus defines the observed state of ClusterParameterGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db cluster parameter group.", + "type": "string" + }, + "description": { + "description": "The description of the DB cluster parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB cluster parameter group.", + "type": "string" + }, + "id": { + "description": "The db cluster parameter group name.", + "type": "string" + }, + "parameter": { + "description": "A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-cluster-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB cluster parameter group.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clusterroleassociation_v1beta1.json b/rds.aws.upbound.io/clusterroleassociation_v1beta1.json new file mode 100644 index 00000000..dff110ff --- /dev/null +++ b/rds.aws.upbound.io/clusterroleassociation_v1beta1.json @@ -0,0 +1,567 @@ +{ + "description": "ClusterRoleAssociation is the Schema for the ClusterRoleAssociations API. Manages a RDS DB Cluster association with an IAM Role.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterRoleAssociationSpec defines the desired state of ClusterRoleAssociation", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "ClusterRoleAssociationStatus defines the observed state of ClusterRoleAssociation.", + "properties": { + "atProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB Cluster Identifier to associate with the IAM Role.", + "type": "string" + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "id": { + "description": "DB Cluster Identifier and IAM Role ARN separated by a comma (,)", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Cluster.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/clustersnapshot_v1beta1.json b/rds.aws.upbound.io/clustersnapshot_v1beta1.json new file mode 100644 index 00000000..2cb415a3 --- /dev/null +++ b/rds.aws.upbound.io/clustersnapshot_v1beta1.json @@ -0,0 +1,510 @@ +{ + "description": "ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages an RDS database cluster snapshot.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ClusterSnapshotSpec defines the desired state of ClusterSnapshot", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate dbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.dbClusterSnapshotIdentifier is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.dbClusterSnapshotIdentifier) || (has(self.initProvider) && has(self.initProvider.dbClusterSnapshotIdentifier))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ClusterSnapshotStatus defines the observed state of ClusterSnapshot.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZones": { + "description": "List of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbClusterIdentifier": { + "description": "The DB Cluster Identifier from which to take the snapshot.", + "type": "string" + }, + "dbClusterSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB Cluster Snapshot.", + "type": "string" + }, + "dbClusterSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "engine": { + "description": "Name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Version of the database engine for this DB cluster snapshot.", + "type": "string" + }, + "id": { + "type": "string" + }, + "kmsKeyId": { + "description": "If storage_encrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB cluster.", + "type": "string" + }, + "port": { + "description": "Port that the DB cluster was listening on at the time of the snapshot.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbClusterSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB Cluster Snapshot.", + "type": "string" + }, + "status": { + "description": "The status of this DB Cluster Snapshot.", + "type": "string" + }, + "storageEncrypted": { + "description": "Whether the DB cluster snapshot is encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "The VPC ID associated with the DB cluster snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json b/rds.aws.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json new file mode 100644 index 00000000..31e34910 --- /dev/null +++ b/rds.aws.upbound.io/dbinstanceautomatedbackupsreplication_v1beta1.json @@ -0,0 +1,579 @@ +{ + "description": "DBInstanceAutomatedBackupsReplication is the Schema for the DBInstanceAutomatedBackupsReplications API. Enables replication of automated backups to a different AWS Region.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "DBInstanceAutomatedBackupsReplicationSpec defines the desired state of DBInstanceAutomatedBackupsReplication", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + }, + "sourceDbInstanceArnRef": { + "description": "Reference to a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbInstanceArnSelector": { + "description": "Selector for a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + }, + "sourceDbInstanceArnRef": { + "description": "Reference to a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbInstanceArnSelector": { + "description": "Selector for a Instance in rds to populate sourceDbInstanceArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "DBInstanceAutomatedBackupsReplicationStatus defines the observed state of DBInstanceAutomatedBackupsReplication.", + "properties": { + "atProvider": { + "properties": { + "id": { + "description": "The Amazon Resource Name (ARN) of the replicated automated backups.", + "type": "string" + }, + "kmsKeyId": { + "description": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.", + "type": "string" + }, + "preSignedUrl": { + "description": "A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication action to be called in the AWS Region of the source DB instance.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "retentionPeriod": { + "description": "The retention period for the replicated automated backups, defaults to 7.", + "type": "number" + }, + "sourceDbInstanceArn": { + "description": "The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/dbsnapshotcopy_v1beta1.json b/rds.aws.upbound.io/dbsnapshotcopy_v1beta1.json new file mode 100644 index 00000000..d8a01c2e --- /dev/null +++ b/rds.aws.upbound.io/dbsnapshotcopy_v1beta1.json @@ -0,0 +1,739 @@ +{ + "description": "DBSnapshotCopy is the Schema for the DBSnapshotCopys API. Manages an RDS database instance snapshot copy.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "DBSnapshotCopySpec defines the desired state of DBSnapshotCopy", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceDbSnapshotIdentifierRef": { + "description": "Reference to a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbSnapshotIdentifierSelector": { + "description": "Selector for a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceDbSnapshotIdentifierRef": { + "description": "Reference to a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbSnapshotIdentifierSelector": { + "description": "Selector for a Snapshot in rds to populate sourceDbSnapshotIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.targetDbSnapshotIdentifier is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetDbSnapshotIdentifier) || (has(self.initProvider) && has(self.initProvider.targetDbSnapshotIdentifier))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "DBSnapshotCopyStatus defines the observed state of DBSnapshotCopy.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Specifies the allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZone": { + "description": "Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.", + "type": "string" + }, + "copyTags": { + "description": "Whether to copy existing tags. Defaults to false.", + "type": "boolean" + }, + "dbSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB snapshot.", + "type": "string" + }, + "destinationRegion": { + "description": "The Destination region to place snapshot copy.", + "type": "string" + }, + "encrypted": { + "description": "Specifies whether the DB snapshot is encrypted.", + "type": "boolean" + }, + "engine": { + "description": "Specifies the name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Specifies the version of the database engine.", + "type": "string" + }, + "id": { + "description": "Snapshot Identifier.", + "type": "string" + }, + "iops": { + "description": "Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.", + "type": "number" + }, + "kmsKeyId": { + "description": "KMS key ID.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB instance.", + "type": "string" + }, + "optionGroupName": { + "description": "The name of an option group to associate with the copy of the snapshot.", + "type": "string" + }, + "port": { + "type": "number" + }, + "presignedUrl": { + "description": "he URL that contains a Signature Version 4 signed request.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbSnapshotIdentifier": { + "description": "Snapshot identifier of the source snapshot.", + "type": "string" + }, + "sourceRegion": { + "description": "The region that the DB snapshot was created in or copied from.", + "type": "string" + }, + "storageType": { + "description": "Specifies the storage type associated with DB snapshot.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetCustomAvailabilityZone": { + "description": "The external custom Availability Zone.", + "type": "string" + }, + "targetDbSnapshotIdentifier": { + "description": "The Identifier for the snapshot.", + "type": "string" + }, + "vpcId": { + "description": "Provides the VPC ID associated with the DB snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/eventsubscription_v1beta1.json b/rds.aws.upbound.io/eventsubscription_v1beta1.json new file mode 100644 index 00000000..36eaa6e1 --- /dev/null +++ b/rds.aws.upbound.io/eventsubscription_v1beta1.json @@ -0,0 +1,663 @@ +{ + "description": "EventSubscription is the Schema for the EventSubscriptions API. Provides a DB event subscription resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "EventSubscriptionSpec defines the desired state of EventSubscription", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "snsTopicRef": { + "description": "Reference to a Topic in sns to populate snsTopic.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "snsTopicSelector": { + "description": "Selector for a Topic in sns to populate snsTopic.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceIdsRefs": { + "description": "References to Instance in rds to populate sourceIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "sourceIdsSelector": { + "description": "Selector for a list of Instance in rds to populate sourceIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "snsTopicRef": { + "description": "Reference to a Topic in sns to populate snsTopic.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "snsTopicSelector": { + "description": "Selector for a Topic in sns to populate snsTopic.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceIdsRefs": { + "description": "References to Instance in rds to populate sourceIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "sourceIdsSelector": { + "description": "Selector for a list of Instance in rds to populate sourceIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "EventSubscriptionStatus defines the observed state of EventSubscription.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name of the RDS event notification subscription", + "type": "string" + }, + "customerAwsId": { + "description": "The AWS customer account associated with the RDS event notification subscription", + "type": "string" + }, + "enabled": { + "description": "A boolean flag to enable/disable the subscription. Defaults to true.", + "type": "boolean" + }, + "eventCategories": { + "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "id": { + "description": "The name of the RDS event notification subscription", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "snsTopic": { + "description": "The SNS topic to send events to.", + "type": "string" + }, + "sourceIds": { + "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "sourceType": { + "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster, db-cluster-snapshot, or db-proxy. If not set, all sources will be subscribed to.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/globalcluster_v1beta1.json b/rds.aws.upbound.io/globalcluster_v1beta1.json new file mode 100644 index 00000000..abd30dbc --- /dev/null +++ b/rds.aws.upbound.io/globalcluster_v1beta1.json @@ -0,0 +1,532 @@ +{ + "description": "GlobalCluster is the Schema for the GlobalClusters API. Manages an RDS Global Cluster", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "GlobalClusterSpec defines the desired state of GlobalCluster", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "sourceDbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "sourceDbClusterIdentifierRef": { + "description": "Reference to a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "sourceDbClusterIdentifierSelector": { + "description": "Selector for a Cluster in rds to populate sourceDbClusterIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "GlobalClusterStatus defines the observed state of GlobalCluster.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "RDS Global Cluster Amazon Resource Name (ARN).", + "type": "string" + }, + "databaseName": { + "description": "Name for an automatically created database on cluster creation.", + "type": "string" + }, + "deletionProtection": { + "description": "If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "type": "string" + }, + "engine": { + "description": "Name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. Defaults to aurora. Conflicts with source_db_cluster_identifier.", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "Engine version of the Aurora global database. The engine, engine_version, and instance_class (on the aws_rds_cluster_instance) must together support global databases. See Using Amazon Aurora global databases for more information. NOTE: To avoid an inconsistent final plan error while upgrading, use the lifecycle ignore_changes for engine_version meta argument on the associated aws_rds_cluster resource as shown above in Upgrading Engine Versions example.", + "type": "string" + }, + "engineVersionActual": { + "type": "string" + }, + "forceDestroy": { + "description": "Enable to remove DB Cluster members from Global Cluster on destroy. Required with source_db_cluster_identifier.", + "type": "boolean" + }, + "globalClusterMembers": { + "description": "Set of objects containing Global Cluster members.", + "items": { + "properties": { + "dbClusterArn": { + "description": "Amazon Resource Name (ARN) of member DB Cluster.", + "type": "string" + }, + "isWriter": { + "description": "Whether the member is the primary DB Cluster.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "globalClusterResourceId": { + "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.", + "type": "string" + }, + "id": { + "description": "RDS Global Cluster identifier.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sourceDbClusterIdentifier": { + "description": "Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. NOTE: After initial creation, this argument can be removed and replaced with engine and engine_version. This allows upgrading the engine version of the Global Cluster.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB cluster is encrypted. The default is false unless source_db_cluster_identifier is specified and encrypted.", + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/instance_v1beta1.json b/rds.aws.upbound.io/instance_v1beta1.json new file mode 100644 index 00000000..bbb5b6f1 --- /dev/null +++ b/rds.aws.upbound.io/instance_v1beta1.json @@ -0,0 +1,2633 @@ +{ + "description": "Instance is the Schema for the Instances API. Provides an RDS instance resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceSpec defines the desired state of Instance", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nIf true, the password will be auto-generated and stored in the Secret referenced by the passwordSecretRef field.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below", + "items": { + "properties": { + "enabled": { + "description": "Enables [low-downtime updates](#Low-Downtime Updates) when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB\nencoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS\nor Server-Level Collation for Microsoft SQL Server for more information.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica contraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance.", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "name": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to\nassociate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "securityGroupNames": { + "description": "List of DB Security Groups to\nassociate. Only used for DB Instances on the .", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below", + "items": { + "properties": { + "enabled": { + "description": "Enables [low-downtime updates](#Low-Downtime Updates) when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB\nencoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS\nor Server-Level Collation for Microsoft SQL Server for more information.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica contraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance.", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "name": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to\nassociate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "securityGroupNames": { + "description": "List of DB Security Groups to\nassociate. Only used for DB Instances on the .", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStatus defines the observed state of Instance.", + "properties": { + "atProvider": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "arn": { + "description": "The ARN of the RDS instance.", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below", + "items": { + "properties": { + "enabled": { + "description": "Enables [low-downtime updates](#Low-Downtime Updates) when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB\nencoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS\nor Server-Level Collation for Microsoft SQL Server for more information.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica contraints.", + "type": "string" + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "The connection endpoint in address:port format.", + "type": "string" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "engineVersionActual": { + "description": "The running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "id": { + "description": "The RDS instance ID.", + "type": "string" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "latestRestorableTime": { + "description": "The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for this DB instance.", + "type": "string" + }, + "listenerEndpoint": { + "description": "Specifies the listener connection endpoint for SQL Server Always On. See endpoint below.", + "items": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecret": { + "description": "A block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "The status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "name": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to\nassociate.", + "type": "string" + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "resourceId": { + "description": "The RDS Resource ID of this instance.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "securityGroupNames": { + "description": "List of DB Security Groups to\nassociate. Only used for DB Instances on the .", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "status": { + "description": "The RDS instance status.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/instance_v1beta2.json b/rds.aws.upbound.io/instance_v1beta2.json new file mode 100644 index 00000000..280ac958 --- /dev/null +++ b/rds.aws.upbound.io/instance_v1beta2.json @@ -0,0 +1,2597 @@ +{ + "description": "Instance is the Schema for the Instances API. Provides an RDS instance resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceSpec defines the desired state of Instance", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nIf true, the password will be auto-generated and stored in the Secret referenced by the passwordSecretRef field.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "items": { + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "items": { + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStatus defines the observed state of Instance.", + "properties": { + "atProvider": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "arn": { + "description": "The ARN of the RDS instance.", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "items": { + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "\u2013 Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the default VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See DBSubnetGroupName in API\naction CreateDBInstanceReadReplica\nfor additional read replica constraints.", + "type": "string" + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "The connection endpoint in address:port format.", + "type": "string" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "engineVersionActual": { + "description": "The running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "id": { + "description": "RDS DBI resource ID.", + "type": "string" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\". Can only be set when storage_type is \"io1\" or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "latestRestorableTime": { + "description": "The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "listenerEndpoint": { + "description": "Specifies the listener connection endpoint for SQL Server Always On. See endpoint below.", + "items": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided.", + "type": "boolean" + }, + "masterUserSecret": { + "description": "A block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "The status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "maxAllocatedStorage": { + "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\nidentifier of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a kms_key_id. See DB Instance Replication and Working with\nPostgreSQL and MySQL Read Replicas\nfor more information on using Replication.", + "type": "string" + }, + "resourceId": { + "description": "The RDS Resource ID of this instance.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.", + "items": { + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "items": { + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "status": { + "description": "The RDS instance status.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\nor \"io1\" (provisioned IOPS SSD). The default is \"io1\" if iops is specified,\n\"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/instance_v1beta3.json b/rds.aws.upbound.io/instance_v1beta3.json new file mode 100644 index 00000000..60df97fe --- /dev/null +++ b/rds.aws.upbound.io/instance_v1beta3.json @@ -0,0 +1,2567 @@ +{ + "description": "Instance is the Schema for the Instances API. Provides an RDS instance resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceSpec defines the desired state of Instance", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoGeneratePassword": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nIf true, the password will be auto-generated and stored in the Secret referenced by the passwordSecretRef field.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dbSubnetGroupNameRef": { + "description": "Reference to a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbSubnetGroupNameSelector": { + "description": "Selector for a SubnetGroup in rds to populate dbSubnetGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "kmsKeyIdRef": { + "description": "Reference to a Key in kms to populate kmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "kmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate kmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "masterUserSecretKmsKeyIdRef": { + "description": "Reference to a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "masterUserSecretKmsKeyIdSelector": { + "description": "Selector for a Key in kms to populate masterUserSecretKmsKeyId.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "monitoringRoleArnRef": { + "description": "Reference to a Role in iam to populate monitoringRoleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "monitoringRoleArnSelector": { + "description": "Selector for a Role in iam to populate monitoringRoleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "parameterGroupNameRef": { + "description": "Reference to a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "parameterGroupNameSelector": { + "description": "Selector for a ParameterGroup in rds to populate parameterGroupName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "passwordSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.\nPassword for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoSecretRef": { + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true.", + "properties": { + "key": { + "description": "The key to select.", + "type": "string" + }, + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "key", + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "replicateSourceDbRef": { + "description": "Reference to a Instance in rds to populate replicateSourceDb.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "replicateSourceDbSelector": { + "description": "Selector for a Instance in rds to populate replicateSourceDb.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.instanceClass is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStatus defines the observed state of Instance.", + "properties": { + "atProvider": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "allocatedStorage": { + "description": "The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance.", + "type": "number" + }, + "allowMajorVersionUpgrade": { + "description": "Indicates that major version\nupgrades are allowed. Changing this parameter does not result in an outage and\nthe change is asynchronously applied as soon as possible.", + "type": "boolean" + }, + "applyImmediately": { + "description": "Specifies whether any database modifications\nare applied immediately, or during the next maintenance window. Default is\nfalse. See Amazon RDS Documentation for more\ninformation.", + "type": "boolean" + }, + "arn": { + "description": "The ARN of the RDS instance.", + "type": "string" + }, + "autoMinorVersionUpgrade": { + "description": "Indicates that minor engine upgrades\nwill be applied automatically to the DB instance during the maintenance window.\nDefaults to true.", + "type": "boolean" + }, + "availabilityZone": { + "description": "The AZ for the RDS instance.", + "type": "string" + }, + "backupRetentionPeriod": { + "description": "The days to retain backups for.\nMust be between 0 and 35.\nDefault is 0.\nMust be greater than 0 if the database is used as a source for a Read Replica,\nuses low-downtime updates,\nor will use RDS Blue/Green deployments.", + "type": "number" + }, + "backupTarget": { + "description": "Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information.", + "type": "string" + }, + "backupWindow": { + "description": "The daily time range (in UTC) during which automated backups are created if they are enabled.\nExample: \"09:46-10:16\". Must not overlap with maintenance_window.", + "type": "string" + }, + "blueGreenUpdate": { + "description": "Enables low-downtime updates using RDS Blue/Green deployments.\nSee blue_green_update below.", + "properties": { + "enabled": { + "description": "Enables low-downtime updates when true.\nDefault is false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertIdentifier": { + "description": "The identifier of the CA certificate for the DB instance.", + "type": "string" + }, + "characterSetName": { + "description": "The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation).\nThis can't be changed.\nSee Oracle Character Sets Supported in Amazon RDS or\nServer-Level Collation for Microsoft SQL Server for more information.\nCannot be set with replicate_source_db, restore_to_point_in_time, s3_import, or snapshot_identifier.", + "type": "string" + }, + "copyTagsToSnapshot": { + "description": "Copy all Instance tags to snapshots. Default is false.", + "type": "boolean" + }, + "customIamInstanceProfile": { + "description": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.", + "type": "string" + }, + "customerOwnedIpEnabled": { + "description": "Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information.", + "type": "boolean" + }, + "databaseInsightsMode": { + "description": "The mode of Database Insights that is enabled for the instance. Valid values: standard, advanced .", + "type": "string" + }, + "dbName": { + "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica.", + "type": "string" + }, + "dbSubnetGroupName": { + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the default Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the default Subnet Group.\nSee DBSubnetGroupName in API action CreateDBInstanceReadReplica for additional read replica constraints.", + "type": "string" + }, + "dedicatedLogVolume": { + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the AWS documentation for more details.", + "type": "boolean" + }, + "deleteAutomatedBackups": { + "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true.", + "type": "boolean" + }, + "deletionProtection": { + "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.", + "type": "boolean" + }, + "domain": { + "description": "The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainAuthSecretArn": { + "description": "The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainDnsIps": { + "description": "The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Conflicts with domain and domain_iam_role_name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainFqdn": { + "description": "The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "domainIamRoleName": { + "description": "The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with domain_fqdn, domain_ou, domain_auth_secret_arn and a domain_dns_ips.", + "type": "string" + }, + "domainOu": { + "description": "The self managed Active Directory organizational unit for your DB instance to join. Conflicts with domain and domain_iam_role_name.", + "type": "string" + }, + "enabledCloudwatchLogsExports": { + "description": "Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in API action CreateDBInstance.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "endpoint": { + "description": "The connection endpoint in address:port format.", + "type": "string" + }, + "engine": { + "description": "The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).", + "type": "string" + }, + "engineLifecycleSupport": { + "description": "The life cycle type for this DB instance. This setting applies only to RDS for MySQL and RDS for PostgreSQL. Valid values are open-source-rds-extended-support, open-source-rds-extended-support-disabled. Default value is open-source-rds-extended-support. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html", + "type": "string" + }, + "engineVersion": { + "description": "The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'.", + "type": "string" + }, + "engineVersionActual": { + "description": "The running version of the database.", + "type": "string" + }, + "finalSnapshotIdentifier": { + "description": "The name of your final DB snapshot\nwhen this DB instance is deleted. Must be provided if skip_final_snapshot is\nset to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "iamDatabaseAuthenticationEnabled": { + "description": "Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database\naccounts is enabled.", + "type": "boolean" + }, + "id": { + "description": "RDS DBI resource ID.", + "type": "string" + }, + "identifier": { + "description": "Required if restore_to_point_in_time is specified.", + "type": "string" + }, + "identifierPrefix": { + "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifier.", + "type": "string" + }, + "instanceClass": { + "description": "The instance type of the RDS instance.", + "type": "string" + }, + "iops": { + "description": "The amount of provisioned IOPS. Setting this implies a\nstorage_type of \"io1\" or \"io2\". Can only be set when storage_type is \"io1\", \"io2 or \"gp3\".\nCannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold.\nSee the RDS User Guide for details.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.", + "type": "string" + }, + "latestRestorableTime": { + "description": "The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for this DB instance. Valid values for this field are as follows:", + "type": "string" + }, + "listenerEndpoint": { + "description": "Specifies the listener connection endpoint for SQL Server Always On. See endpoint below.", + "items": { + "properties": { + "address": { + "description": "The hostname of the RDS instance. See also endpoint and port.", + "type": "string" + }, + "hostedZoneId": { + "description": "The canonical hosted zone ID of the DB instance (to be used\nin a Route 53 Alias record).", + "type": "string" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "maintenanceWindow": { + "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See RDS\nMaintenance Window\ndocs\nfor more information.", + "type": "string" + }, + "manageMasterUserPassword": { + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password or password_wo is provided.", + "type": "boolean" + }, + "masterUserSecret": { + "description": "A block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below.", + "items": { + "properties": { + "kmsKeyId": { + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) of the secret.", + "type": "string" + }, + "secretStatus": { + "description": "The status of the secret. Valid Values: creating | active | rotating | impaired.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "masterUserSecretKmsKeyId": { + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.", + "type": "string" + }, + "maxAllocatedStorage": { + "description": "Specifies the maximum storage (in GiB) that Amazon RDS can automatically scale to for this DB instance. By default, Storage Autoscaling is disabled. To enable Storage Autoscaling, set max_allocated_storage to greater than or equal to allocated_storage. Setting max_allocated_storage to 0 explicitly disables Storage Autoscaling. When configured, changes to allocated_storage will be automatically ignored as the storage can dynamically scale.", + "type": "number" + }, + "monitoringInterval": { + "description": "The interval, in seconds, between points\nwhen Enhanced Monitoring metrics are collected for the DB instance. To disable\ncollecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid\nValues: 0, 1, 5, 10, 15, 30, 60.", + "type": "number" + }, + "monitoringRoleArn": { + "description": "The ARN for the IAM role that permits RDS\nto send enhanced monitoring metrics to CloudWatch Logs. You can find more\ninformation on the AWS\nDocumentation\nwhat IAM permissions are needed to allow Enhanced Monitoring for RDS Instances.", + "type": "string" + }, + "multiAz": { + "description": "Specifies if the RDS instance is multi-AZ", + "type": "boolean" + }, + "ncharCharacterSetName": { + "description": "The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets\nSupported in Amazon RDS.", + "type": "string" + }, + "networkType": { + "description": "The network type of the DB instance. Valid values: IPV4, DUAL.", + "type": "string" + }, + "optionGroupName": { + "description": "Name of the DB option group to associate.", + "type": "string" + }, + "parameterGroupName": { + "description": "Name of the DB parameter group to associate.", + "type": "string" + }, + "passwordWoVersion": { + "description": "Used together with password_wo to trigger an update. Increment this value when an update to password_wo is required.", + "type": "number" + }, + "performanceInsightsEnabled": { + "description": "Specifies whether Performance Insights are enabled. Defaults to false.", + "type": "boolean" + }, + "performanceInsightsKmsKeyId": { + "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed.", + "type": "string" + }, + "performanceInsightsRetentionPeriod": { + "description": "Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'.", + "type": "number" + }, + "port": { + "description": "The port on which the DB accepts connections.", + "type": "number" + }, + "publiclyAccessible": { + "description": "Bool to control if instance is publicly\naccessible. Default is false.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "replicaMode": { + "description": "Specifies whether the replica is in either mounted or open-read-only mode. This attribute\nis only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information.", + "type": "string" + }, + "replicas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "replicateSourceDb": { + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the identifier of the source DB, unless also specifying the db_subnet_group_name.\nIf specifying the db_subnet_group_name in the same region, use the arn of the source DB.\nIf replicating an Instance in a different region, use the arn of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id.\nSee DB Instance Replication and Working with PostgreSQL and MySQL Read Replicas for more information on using Replication.", + "type": "string" + }, + "resourceId": { + "description": "The RDS Resource ID of this instance.", + "type": "string" + }, + "restoreToPointInTime": { + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the identifier argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.", + "properties": { + "restoreTime": { + "description": "The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time.", + "type": "string" + }, + "sourceDbInstanceAutomatedBackupsArn": { + "description": "The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbInstanceIdentifier": { + "description": "The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified.", + "type": "string" + }, + "sourceDbiResourceId": { + "description": "The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified.", + "type": "string" + }, + "useLatestRestorableTime": { + "description": "A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "s3Import": { + "description": "Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance", + "properties": { + "bucketName": { + "description": "The bucket name where your backup is stored", + "type": "string" + }, + "bucketPrefix": { + "description": "Can be blank, but is the path to your backup", + "type": "string" + }, + "ingestionRole": { + "description": "Role applied to load the data.", + "type": "string" + }, + "sourceEngine": { + "description": "Source engine for the backup", + "type": "string" + }, + "sourceEngineVersion": { + "description": "Version of the source engine used to make the backup", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "skipFinalSnapshot": { + "description": "Determines whether a final DB snapshot is\ncreated before the DB instance is deleted. If true is specified, no DBSnapshot\nis created. If false is specified, a DB snapshot is created before the DB\ninstance is deleted, using the value from final_snapshot_identifier. Default\nis false.", + "type": "boolean" + }, + "snapshotIdentifier": { + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.", + "type": "string" + }, + "status": { + "description": "The RDS instance status.", + "type": "string" + }, + "storageEncrypted": { + "description": "Specifies whether the DB instance is\nencrypted. Note that if you are creating a cross-region read replica this field\nis ignored and you should instead declare kms_key_id with a valid ARN. The\ndefault is false if not specified.", + "type": "boolean" + }, + "storageThroughput": { + "description": "The storage throughput value for the DB instance. Can only be set when storage_type is \"gp3\". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details.", + "type": "number" + }, + "storageType": { + "description": "One of \"standard\" (magnetic), \"gp2\" (general\npurpose SSD), \"gp3\" (general purpose SSD that needs iops independently)\n\"io1\" (provisioned IOPS SSD) or \"io2\" (block express storage provisioned IOPS\nSSD). The default is \"io1\" if iops is specified, \"gp2\" if not.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "timezone": { + "description": "Time zone of the DB instance. timezone is currently\nonly supported by Microsoft SQL Server. The timezone can only be set on\ncreation. See MSSQL User\nGuide\nfor more information.", + "type": "string" + }, + "upgradeStorageConfig": { + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with replicate_source_db.", + "type": "boolean" + }, + "username": { + "description": "Username for the master DB user. Cannot be specified for a replica.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "List of VPC security groups to\nassociate.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/instanceroleassociation_v1beta1.json b/rds.aws.upbound.io/instanceroleassociation_v1beta1.json new file mode 100644 index 00000000..464a745d --- /dev/null +++ b/rds.aws.upbound.io/instanceroleassociation_v1beta1.json @@ -0,0 +1,573 @@ +{ + "description": "InstanceRoleAssociation is the Schema for the InstanceRoleAssociations API. Manages an RDS DB Instance association with an IAM Role.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceRoleAssociationSpec defines the desired state of InstanceRoleAssociation", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.featureName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.featureName) || (has(self.initProvider) && has(self.initProvider.featureName))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceRoleAssociationStatus defines the observed state of InstanceRoleAssociation.", + "properties": { + "atProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "DB Instance Identifier to associate with the IAM Role.", + "type": "string" + }, + "featureName": { + "description": "Name of the feature for association. This can be found in the AWS documentation relevant to the integration or a full list is available in the SupportedFeatureNames list returned by AWS CLI rds describe-db-engine-versions.", + "type": "string" + }, + "id": { + "description": "DB Instance Identifier and IAM Role ARN separated by a comma (,)", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "roleArn": { + "description": "Amazon Resource Name (ARN) of the IAM Role to associate with the DB Instance.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/instancestate_v1beta1.json b/rds.aws.upbound.io/instancestate_v1beta1.json new file mode 100644 index 00000000..c68e205d --- /dev/null +++ b/rds.aws.upbound.io/instancestate_v1beta1.json @@ -0,0 +1,400 @@ +{ + "description": "InstanceState is the Schema for the InstanceStates API.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "InstanceStateSpec defines the desired state of InstanceState", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "identifierRef": { + "description": "Reference to a Instance in rds to populate identifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "identifierSelector": { + "description": "Selector for a Instance in rds to populate identifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "identifierRef": { + "description": "Reference to a Instance in rds to populate identifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "identifierSelector": { + "description": "Selector for a Instance in rds to populate identifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.state is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.state) || (has(self.initProvider) && has(self.initProvider.state))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "InstanceStateStatus defines the observed state of InstanceState.", + "properties": { + "atProvider": { + "properties": { + "id": { + "type": "string" + }, + "identifier": { + "description": "DB Instance Identifier", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "state": { + "description": "Configured state of the DB Instance. Valid values are available and stopped.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/optiongroup_v1beta1.json b/rds.aws.upbound.io/optiongroup_v1beta1.json new file mode 100644 index 00000000..523d9bb5 --- /dev/null +++ b/rds.aws.upbound.io/optiongroup_v1beta1.json @@ -0,0 +1,470 @@ +{ + "description": "OptionGroup is the Schema for the OptionGroups API. Provides an RDS DB option group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "OptionGroupSpec defines the desired state of OptionGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.engineName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineName) || (has(self.initProvider) && has(self.initProvider.engineName))" + }, + { + "message": "spec.forProvider.majorEngineVersion is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.majorEngineVersion) || (has(self.initProvider) && has(self.initProvider.majorEngineVersion))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "OptionGroupStatus defines the observed state of OptionGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "ARN of the DB option group.", + "type": "string" + }, + "engineName": { + "description": "Specifies the name of the engine that this option group should be associated with.", + "type": "string" + }, + "id": { + "description": "DB option group name.", + "type": "string" + }, + "majorEngineVersion": { + "description": "Specifies the major version of the engine that this option group should be associated with.", + "type": "string" + }, + "option": { + "description": "The options to apply. See option Block below for more details.", + "items": { + "properties": { + "dbSecurityGroupMemberships": { + "description": "List of DB Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "optionName": { + "description": "Name of the option (e.g., MEMCACHED).", + "type": "string" + }, + "optionSettings": { + "description": "The option settings to apply. See option_settings Block below for more details.", + "items": { + "properties": { + "name": { + "description": "Name of the setting.", + "type": "string" + }, + "value": { + "description": "Value of the setting.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "port": { + "description": "Port number when connecting to the option (e.g., 11211). Leaving out or removing port from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including port in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.", + "type": "number" + }, + "version": { + "description": "Version of the option (e.g., 13.1.0.0). Leaving out or removing version from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including version in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.", + "type": "string" + }, + "vpcSecurityGroupMemberships": { + "description": "List of VPC Security Groups for which the option is enabled.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "optionGroupDescription": { + "description": "Description of the option group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/parametergroup_v1beta1.json b/rds.aws.upbound.io/parametergroup_v1beta1.json new file mode 100644 index 00000000..b72218f1 --- /dev/null +++ b/rds.aws.upbound.io/parametergroup_v1beta1.json @@ -0,0 +1,352 @@ +{ + "description": "ParameterGroup is the Schema for the ParameterGroups API. Provides an RDS DB parameter group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ParameterGroupSpec defines the desired state of ParameterGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.family is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.family) || (has(self.initProvider) && has(self.initProvider.family))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ParameterGroupStatus defines the observed state of ParameterGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db parameter group.", + "type": "string" + }, + "description": { + "description": "The description of the DB parameter group.", + "type": "string" + }, + "family": { + "description": "The family of the DB parameter group.", + "type": "string" + }, + "id": { + "description": "The db parameter group name.", + "type": "string" + }, + "parameter": { + "description": "The DB parameters to apply. See parameter Block below for more details. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via aws rds describe-db-parameters after initial creation of the group.", + "items": { + "properties": { + "applyMethod": { + "description": "\"immediate\" (default), or \"pending-reboot\". Some\nengines can't apply some parameters without a reboot, and you will need to\nspecify \"pending-reboot\" here.", + "type": "string" + }, + "name": { + "description": "The name of the DB parameter.", + "type": "string" + }, + "value": { + "description": "The value of the DB parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "skipDestroy": { + "type": "boolean" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/proxy_v1beta1.json b/rds.aws.upbound.io/proxy_v1beta1.json new file mode 100644 index 00000000..1dbdd3b0 --- /dev/null +++ b/rds.aws.upbound.io/proxy_v1beta1.json @@ -0,0 +1,1127 @@ +{ + "description": "Proxy is the Schema for the Proxys API. Provides an RDS DB proxy resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxySpec defines the desired state of Proxy", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "secretArnRef": { + "description": "Reference to a Secret in secretsmanager to populate secretArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "secretArnSelector": { + "description": "Selector for a Secret in secretsmanager to populate secretArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIdsRefs": { + "description": "References to Subnet in ec2 to populate vpcSubnetIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSubnetIdsSelector": { + "description": "Selector for a list of Subnet in ec2 to populate vpcSubnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "secretArnRef": { + "description": "Reference to a Secret in secretsmanager to populate secretArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "secretArnSelector": { + "description": "Selector for a Secret in secretsmanager to populate secretArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "roleArnRef": { + "description": "Reference to a Role in iam to populate roleArn.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "roleArnSelector": { + "description": "Selector for a Role in iam to populate roleArn.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIdsRefs": { + "description": "References to Subnet in ec2 to populate vpcSubnetIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSubnetIdsSelector": { + "description": "Selector for a list of Subnet in ec2 to populate vpcSubnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.auth is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.auth) || (has(self.initProvider) && has(self.initProvider.auth))" + }, + { + "message": "spec.forProvider.engineFamily is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineFamily) || (has(self.initProvider) && has(self.initProvider.engineFamily))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyStatus defines the observed state of Proxy.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) for the proxy.", + "type": "string" + }, + "auth": { + "description": "Configuration block(s) with authorization mechanisms to connect to the associated instances or clusters. Described below.", + "items": { + "properties": { + "authScheme": { + "description": "The type of authentication that the proxy uses for connections from the proxy to the underlying database. One of SECRETS.", + "type": "string" + }, + "clientPasswordAuthType": { + "description": "The type of authentication the proxy uses for connections from clients. Valid values are MYSQL_CACHING_SHA2_PASSWORD, MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.", + "type": "string" + }, + "description": { + "description": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "type": "string" + }, + "iamAuth": { + "description": "Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. One of DISABLED, REQUIRED.", + "type": "string" + }, + "secretArn": { + "description": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "type": "string" + }, + "username": { + "description": "The name of the database user to which the proxy connects.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "debugLogging": { + "description": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.", + "type": "boolean" + }, + "endpoint": { + "description": "The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.", + "type": "string" + }, + "engineFamily": { + "description": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER. Valid values are MYSQL, POSTGRESQL, and SQLSERVER.", + "type": "string" + }, + "id": { + "description": "The Amazon Resource Name (ARN) for the proxy.", + "type": "string" + }, + "idleClientTimeout": { + "description": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "requireTls": { + "description": "A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "type": "boolean" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta1.json b/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta1.json new file mode 100644 index 00000000..251778e9 --- /dev/null +++ b/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta1.json @@ -0,0 +1,493 @@ +{ + "description": "ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups API. Manage an RDS DB proxy default target group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyDefaultTargetGroupSpec defines the desired state of ProxyDefaultTargetGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "items": { + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "items": { + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "ProxyDefaultTargetGroupStatus defines the observed state of ProxyDefaultTargetGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) representing the target group.", + "type": "string" + }, + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "items": { + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "id": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "name": { + "description": "The name of the default target group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta2.json b/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta2.json new file mode 100644 index 00000000..2bcc8651 --- /dev/null +++ b/rds.aws.upbound.io/proxydefaulttargetgroup_v1beta2.json @@ -0,0 +1,484 @@ +{ + "description": "ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups API. Manage an RDS DB proxy default target group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyDefaultTargetGroupSpec defines the desired state of ProxyDefaultTargetGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "ProxyDefaultTargetGroupStatus defines the observed state of ProxyDefaultTargetGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) representing the target group.", + "type": "string" + }, + "connectionPoolConfig": { + "description": "The settings that determine the size and behavior of the connection pool for the target group.", + "properties": { + "connectionBorrowTimeout": { + "description": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.", + "type": "number" + }, + "initQuery": { + "description": "One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.", + "type": "string" + }, + "maxConnectionsPercent": { + "description": "The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "maxIdleConnectionsPercent": { + "description": "Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.", + "type": "number" + }, + "sessionPinningFilters": { + "description": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. This setting is only supported for MySQL engine family databases. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "id": { + "description": "Name of the RDS DB Proxy.", + "type": "string" + }, + "name": { + "description": "The name of the default target group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/proxyendpoint_v1beta1.json b/rds.aws.upbound.io/proxyendpoint_v1beta1.json new file mode 100644 index 00000000..67e82742 --- /dev/null +++ b/rds.aws.upbound.io/proxyendpoint_v1beta1.json @@ -0,0 +1,580 @@ +{ + "description": "ProxyEndpoint is the Schema for the ProxyEndpoints API. Provides an RDS DB proxy endpoint resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyEndpointSpec defines the desired state of ProxyEndpoint", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbProxyName": { + "description": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcSecurityGroupIdRefs": { + "description": "References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "vpcSecurityGroupIdSelector": { + "description": "Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.vpcSubnetIds is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.vpcSubnetIds) || (has(self.initProvider) && has(self.initProvider.vpcSubnetIds))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyEndpointStatus defines the observed state of ProxyEndpoint.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The Amazon Resource Name (ARN) for the proxy endpoint.", + "type": "string" + }, + "dbProxyName": { + "description": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "type": "string" + }, + "endpoint": { + "description": "The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.", + "type": "string" + }, + "id": { + "description": "The name of the proxy and proxy endpoint separated by /, DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME.", + "type": "string" + }, + "isDefault": { + "description": "Indicates whether this endpoint is the default endpoint for the associated DB proxy.", + "type": "boolean" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "targetRole": { + "description": "Indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. Valid values are READ_WRITE and READ_ONLY.", + "type": "string" + }, + "vpcId": { + "description": "The VPC ID of the DB proxy endpoint.", + "type": "string" + }, + "vpcSecurityGroupIds": { + "description": "One or more VPC security group IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "vpcSubnetIds": { + "description": "One or more VPC subnet IDs to associate with the new proxy.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/proxytarget_v1beta1.json b/rds.aws.upbound.io/proxytarget_v1beta1.json new file mode 100644 index 00000000..93170341 --- /dev/null +++ b/rds.aws.upbound.io/proxytarget_v1beta1.json @@ -0,0 +1,609 @@ +{ + "description": "ProxyTarget is the Schema for the ProxyTargets API. Provides an RDS DB proxy target resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "ProxyTargetSpec defines the desired state of ProxyTarget", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "dbProxyNameRef": { + "description": "Reference to a Proxy in rds to populate dbProxyName.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbProxyNameSelector": { + "description": "Selector for a Proxy in rds to populate dbProxyName.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "spec.forProvider.targetGroupName is a required parameter", + "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetGroupName) || (has(self.initProvider) && has(self.initProvider.targetGroupName))" + } + ], + "additionalProperties": false + }, + "status": { + "description": "ProxyTargetStatus defines the observed state of ProxyTarget.", + "properties": { + "atProvider": { + "properties": { + "dbClusterIdentifier": { + "description": "DB cluster identifier.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "DB instance identifier.", + "type": "string" + }, + "dbProxyName": { + "description": "The name of the DB proxy.", + "type": "string" + }, + "endpoint": { + "description": "Hostname for the target RDS DB Instance. Only returned for RDS_INSTANCE type.", + "type": "string" + }, + "id": { + "description": "Identifier of db_proxy_name, target_group_name, target type (e.g., RDS_INSTANCE or TRACKED_CLUSTER), and resource identifier separated by forward slashes (/).", + "type": "string" + }, + "port": { + "description": "Port for the target RDS DB Instance or Aurora DB Cluster.", + "type": "number" + }, + "rdsResourceId": { + "description": "Identifier representing the DB Instance or DB Cluster target.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "targetArn": { + "description": "Amazon Resource Name (ARN) for the DB instance or DB cluster. Currently not returned by the RDS API.", + "type": "string" + }, + "targetGroupName": { + "description": "The name of the target group.", + "type": "string" + }, + "trackedClusterId": { + "description": "DB Cluster identifier for the DB Instance target. Not returned unless manually importing an RDS_INSTANCE target that is part of a DB Cluster.", + "type": "string" + }, + "type": { + "description": "Type of targetE.g., RDS_INSTANCE or TRACKED_CLUSTER", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/snapshot_v1beta1.json b/rds.aws.upbound.io/snapshot_v1beta1.json new file mode 100644 index 00000000..0e6b145b --- /dev/null +++ b/rds.aws.upbound.io/snapshot_v1beta1.json @@ -0,0 +1,504 @@ +{ + "description": "Snapshot is the Schema for the Snapshots API. Manages an RDS database instance snapshot.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "SnapshotSpec defines the desired state of Snapshot", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbInstanceIdentifierRef": { + "description": "Reference to a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "dbInstanceIdentifierSelector": { + "description": "Selector for a Instance in rds to populate dbInstanceIdentifier.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "SnapshotStatus defines the observed state of Snapshot.", + "properties": { + "atProvider": { + "properties": { + "allocatedStorage": { + "description": "Specifies the allocated storage size in gigabytes (GB).", + "type": "number" + }, + "availabilityZone": { + "description": "Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.", + "type": "string" + }, + "dbInstanceIdentifier": { + "description": "The DB Instance Identifier from which to take the snapshot.", + "type": "string" + }, + "dbSnapshotArn": { + "description": "The Amazon Resource Name (ARN) for the DB snapshot.", + "type": "string" + }, + "encrypted": { + "description": "Specifies whether the DB snapshot is encrypted.", + "type": "boolean" + }, + "engine": { + "description": "Specifies the name of the database engine.", + "type": "string" + }, + "engineVersion": { + "description": "Specifies the version of the database engine.", + "type": "string" + }, + "id": { + "type": "string" + }, + "iops": { + "description": "Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.", + "type": "number" + }, + "kmsKeyId": { + "description": "The ARN for the KMS encryption key.", + "type": "string" + }, + "licenseModel": { + "description": "License model information for the restored DB instance.", + "type": "string" + }, + "optionGroupName": { + "description": "Provides the option group name for the DB snapshot.", + "type": "string" + }, + "port": { + "type": "number" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "sharedAccounts": { + "description": "List of AWS Account IDs to share the snapshot with. Use all to make the snapshot public.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "snapshotType": { + "type": "string" + }, + "sourceDbSnapshotIdentifier": { + "description": "The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.", + "type": "string" + }, + "sourceRegion": { + "description": "The region that the DB snapshot was created in or copied from.", + "type": "string" + }, + "status": { + "description": "Specifies the status of this DB snapshot.", + "type": "string" + }, + "storageType": { + "description": "Specifies the storage type associated with DB snapshot.", + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "Provides the VPC ID associated with the DB snapshot.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/rds.aws.upbound.io/subnetgroup_v1beta1.json b/rds.aws.upbound.io/subnetgroup_v1beta1.json new file mode 100644 index 00000000..1491ffbc --- /dev/null +++ b/rds.aws.upbound.io/subnetgroup_v1beta1.json @@ -0,0 +1,463 @@ +{ + "description": "SubnetGroup is the Schema for the SubnetGroups API. Provides an RDS DB subnet group resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "SubnetGroupSpec defines the desired state of SubnetGroup", + "properties": { + "deletionPolicy": { + "default": "Delete", + "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223", + "enum": [ + "Orphan", + "Delete" + ], + "type": "string" + }, + "forProvider": { + "properties": { + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "subnetIdRefs": { + "description": "References to Subnet in ec2 to populate subnetIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "subnetIdSelector": { + "description": "Selector for a list of Subnet in ec2 to populate subnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "initProvider": { + "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.", + "properties": { + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "subnetIdRefs": { + "description": "References to Subnet in ec2 to populate subnetIds.", + "items": { + "description": "A Reference to a named object.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "subnetIdSelector": { + "description": "Selector for a list of Subnet in ec2 to populate subnetIds.", + "properties": { + "matchControllerRef": { + "description": "MatchControllerRef ensures an object with the same controller reference\nas the selecting object is selected.", + "type": "boolean" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "MatchLabels ensures an object with matching labels is selected.", + "type": "object" + }, + "policy": { + "description": "Policies for selection.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + } + }, + "type": "object", + "additionalProperties": false + }, + "managementPolicies": { + "default": [ + "*" + ], + "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md", + "items": { + "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.", + "enum": [ + "Observe", + "Create", + "Update", + "Delete", + "LateInitialize", + "*" + ], + "type": "string" + }, + "type": "array" + }, + "providerConfigRef": { + "default": { + "name": "default" + }, + "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.", + "properties": { + "name": { + "description": "Name of the referenced object.", + "type": "string" + }, + "policy": { + "description": "Policies for referencing.", + "properties": { + "resolution": { + "default": "Required", + "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.", + "enum": [ + "Required", + "Optional" + ], + "type": "string" + }, + "resolve": { + "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.", + "enum": [ + "Always", + "IfNotPresent" + ], + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "writeConnectionSecretToRef": { + "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.", + "properties": { + "name": { + "description": "Name of the secret.", + "type": "string" + }, + "namespace": { + "description": "Namespace of the secret.", + "type": "string" + } + }, + "required": [ + "name", + "namespace" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "forProvider" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "SubnetGroupStatus defines the observed state of SubnetGroup.", + "properties": { + "atProvider": { + "properties": { + "arn": { + "description": "The ARN of the db subnet group.", + "type": "string" + }, + "description": { + "description": "The description of the DB subnet group.", + "type": "string" + }, + "id": { + "description": "The db subnet group name.", + "type": "string" + }, + "region": { + "description": "Region where this resource will be managed. Defaults to the Region set in the provider configuration.\nRegion is the region you'd like your resource to be created in.", + "type": "string" + }, + "subnetIds": { + "description": "A list of VPC subnet IDs.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "supportedNetworkTypes": { + "description": "The network type of the db subnet group.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value map of resource tags.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "tagsAll": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.", + "type": "object", + "x-kubernetes-map-type": "granular" + }, + "vpcId": { + "description": "Provides the VPC ID of the DB subnet group.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "conditions": { + "description": "Conditions of the resource.", + "items": { + "description": "A Condition that may apply to a resource.", + "properties": { + "lastTransitionTime": { + "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.", + "format": "date-time", + "type": "string" + }, + "message": { + "description": "A Message containing details about this condition's last transition from\none status to another, if any.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.", + "format": "int64", + "type": "integer" + }, + "reason": { + "description": "A Reason for this condition's last transition from one status to another.", + "type": "string" + }, + "status": { + "description": "Status of this condition; is it currently True, False, or Unknown?", + "type": "string" + }, + "type": { + "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.", + "type": "string" + } + }, + "required": [ + "lastTransitionTime", + "reason", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "observedGeneration": { + "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +}