config/crds/resources/apiextensions.k8s.io_v1_customresourcedefinition_alloydbclusters.alloydb.cnrm.cloud.google.com.yaml (1,534 lines of code) (raw):
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 0.0.0-dev
creationTimestamp: null
labels:
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/stability-level: stable
cnrm.cloud.google.com/system: "true"
cnrm.cloud.google.com/tf2crd: "true"
name: alloydbclusters.alloydb.cnrm.cloud.google.com
spec:
group: alloydb.cnrm.cloud.google.com
names:
categories:
- gcp
kind: AlloyDBCluster
listKind: AlloyDBClusterList
plural: alloydbclusters
shortNames:
- gcpalloydbcluster
- gcpalloydbclusters
singular: alloydbcluster
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: AlloyDBCluster is the Schema for the AlloyDBCluster API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More 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. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: AlloyDBClusterSpec defines the desired state of AlloyDBCluster
properties:
automatedBackupPolicy:
description: |-
The automated backup policy for this cluster.
If no policy is provided then the default policy will be used. If backups
are supported for the cluster, the default policy takes one backup a day,
has a backup window of 1 hour, and retains backups for 14 days.
For more information on the defaults, consult the
documentation for the message type.
properties:
backupWindow:
description: |-
The length of the time window during which a backup can be
taken. If a backup does not succeed within this time window, it will be
canceled and considered failed.
The backup window must be at least 5 minutes long. There is no upper bound
on the window. If not set, it defaults to 1 hour.
type: string
enabled:
description: Whether automated automated backups are enabled.
If not set, defaults to true.
type: boolean
encryptionConfig:
description: Optional. The encryption config can be specified
to encrypt the backups with a customer-managed encryption key
(CMEK). When this field is not specified, the backup will then
use default encryption scheme to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS
key. Each Cloud KMS key is regionalized and has the following
format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
labels:
additionalProperties:
type: string
description: Labels to apply to backups created using this configuration.
type: object
location:
description: |-
The location where the backup will be stored. Currently, the only supported
option is to store the backup in the same region as the cluster.
If empty, defaults to the region of the cluster.
type: string
quantityBasedRetention:
description: Quantity-based Backup retention policy to retain
recent backups.
properties:
count:
description: The number of backups to retain.
format: int32
type: integer
type: object
timeBasedRetention:
description: Time-based Backup retention policy.
properties:
retentionPeriod:
description: The retention period.
type: string
type: object
weeklySchedule:
description: Weekly schedule for the Backup.
properties:
daysOfWeek:
description: |-
The days of the week to perform a backup.
If this field is left empty, the default of every day of the week is
used.
items:
type: string
type: array
startTimes:
description: |-
The times during the day to start a backup. The start times are assumed
to be in UTC and to be an exact hour (e.g., 04:00:00).
If no start times are provided, a single fixed start time is chosen
arbitrarily.
items:
properties:
hours:
description: Hours of day in 24 hour format. Should
be from 0 to 23. An API may choose to allow the value
"24:00:00" for scenarios like business closing time.
format: int32
type: integer
minutes:
description: Minutes of hour of day. Must be from 0
to 59.
format: int32
type: integer
nanos:
description: Fractions of seconds in nanoseconds. Must
be from 0 to 999,999,999.
format: int32
type: integer
seconds:
description: Seconds of minutes of the time. Must normally
be from 0 to 59. An API may allow the value 60 if
it allows leap-seconds.
format: int32
type: integer
type: object
type: array
required:
- startTimes
type: object
type: object
clusterType:
description: 'The type of cluster. If not set, defaults to PRIMARY.
Default value: "PRIMARY" Possible values: ["PRIMARY", "SECONDARY"].'
type: string
continuousBackupConfig:
description: Optional. Continuous backup configuration for this cluster.
properties:
enabled:
description: Whether ContinuousBackup is enabled.
type: boolean
encryptionConfig:
description: The encryption config can be specified to encrypt
the backups with a customer-managed encryption key (CMEK). When
this field is not specified, the backup will then use default
encryption scheme to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS
key. Each Cloud KMS key is regionalized and has the following
format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
recoveryWindowDays:
description: The number of days that are eligible to restore from
using PITR. To support the entire recovery window, backups and
logs are retained for one day more than the recovery window.
If not set, defaults to 14 days.
format: int32
type: integer
type: object
deletionPolicy:
description: Policy to determine if the cluster should be deleted
forcefully. Deleting a cluster forcefully, deletes the cluster and
all its associated instances within the cluster. Deleting a Secondary
cluster with a secondary instance REQUIRES setting deletion_policy
= "FORCE" otherwise an error is returned. This is needed as there
is no support to delete just the secondary instance, and the only
way to delete secondary instance is to delete the associated secondary
cluster forcefully which also deletes the secondary instance.
type: string
displayName:
description: User-settable and human-readable display name for the
Cluster.
type: string
encryptionConfig:
description: Optional. The encryption config can be specified to encrypt
the data disks and other persistent data resources of a cluster
with a customer-managed encryption key (CMEK). When this field is
not specified, the cluster will then use default encryption scheme
to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS key.
Each Cloud KMS key is regionalized and has the following format:
projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
initialUser:
description: Input only. Initial user to setup during cluster creation.
Required. If used in `RestoreCluster` this is ignored.
properties:
password:
description: The initial password for the user.
properties:
value:
description: Value of the field. Cannot be used if 'valueFrom'
is specified.
type: string
valueFrom:
description: Source for the field's value. Cannot be used
if 'value' is specified.
properties:
secretKeyRef:
description: Reference to a value with the given key in
the given Secret in the resource's namespace.
properties:
key:
description: Key that identifies the value to be extracted.
type: string
name:
description: Name of the Secret to extract a value
from.
type: string
required:
- key
- name
type: object
type: object
type: object
user:
description: The database username.
type: string
required:
- password
type: object
location:
description: Immutable. The location where the alloydb cluster should
reside.
type: string
maintenanceUpdatePolicy:
description: Optional. The maintenance update policy determines when
to allow or deny updates.
properties:
maintenanceWindows:
description: Preferred windows to perform maintenance. Currently
limited to 1.
items:
properties:
day:
description: Preferred day of the week for maintenance,
e.g. MONDAY, TUESDAY, etc.
type: string
startTime:
description: Preferred time to start the maintenance operation
on the specified day. Maintenance will start within 1
hour of this time.
properties:
hours:
description: Hours of day in 24 hour format. Should
be from 0 to 23. An API may choose to allow the value
"24:00:00" for scenarios like business closing time.
format: int32
type: integer
minutes:
description: Minutes of hour of day. Must be from 0
to 59.
format: int32
type: integer
nanos:
description: Fractions of seconds in nanoseconds. Must
be from 0 to 999,999,999.
format: int32
type: integer
seconds:
description: Seconds of minutes of the time. Must normally
be from 0 to 59. An API may allow the value 60 if
it allows leap-seconds.
format: int32
type: integer
type: object
required:
- day
- startTime
type: object
type: array
type: object
networkConfig:
properties:
allocatedIpRange:
description: 'Optional. Name of the allocated IP range for the
private IP AlloyDB cluster, for example: "google-managed-services-default".
If set, the instance IPs for this cluster will be created in
the allocated range. The range name must comply with RFC 1035.
Specifically, the name must be 1-63 characters long and match
the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. Field name
is intended to be consistent with Cloud SQL.'
type: string
networkRef:
description: 'Optional. The resource link for the VPC network
in which cluster resources are created and from which they are
accessible via Private IP. The network must belong to the same
project as the cluster. It is specified in the form: `projects/{project_number}/global/networks/{network_id}`.
This is required to create a cluster.'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed Compute
Network resource. Should be in the format `projects/{{projectID}}/global/networks/{{network}}`.
type: string
name:
description: The `name` field of a `ComputeNetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeNetwork` resource.
type: string
type: object
type: object
networkRef:
description: 'Required. The resource link for the VPC network in which
cluster resources are created and from which they are accessible
via Private IP. The network must belong to the same project as the
cluster. It is specified in the form: `projects/{project}/global/networks/{network_id}`.
This is required to create a cluster. Deprecated, use network_config.network
instead.'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed Compute Network
resource. Should be in the format `projects/{{projectID}}/global/networks/{{network}}`.
type: string
name:
description: The `name` field of a `ComputeNetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeNetwork` resource.
type: string
type: object
projectRef:
description: The project that this resource belongs to.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: The `projectID` field of a project, when not managed
by Config Connector.
type: string
kind:
description: The kind of the Project resource; optional but must
be `Project` if provided.
type: string
name:
description: The `name` field of a `Project` resource.
type: string
namespace:
description: The `namespace` field of a `Project` resource.
type: string
type: object
resourceID:
description: The AlloyDBCluster name. If not given, the metadata.name
will be used.
type: string
restoreBackupSource:
description: Immutable. The source when restoring from a backup. Conflicts
with 'restoreContinuousBackupSource', both can't be set together.
properties:
backupNameRef:
description: 'Required. The name of the backup resource with the
format: * projects/{project}/locations/{region}/backups/{backup_id}'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: If provided must be in the format `projects/[projectId]/locations/[location]/backups/[backupId]`.
type: string
name:
description: The `metadata.name` field of a `AlloyDBBackup`
resource.
type: string
namespace:
description: The `metadata.namespace` field of a `AlloyDBBackup`
resource.
type: string
type: object
required:
- backupNameRef
type: object
restoreContinuousBackupSource:
description: Immutable. The source when restoring via point in time
recovery (PITR). Conflicts with 'restoreBackupSource', both can't
be set together.
properties:
clusterRef:
description: (Required) The name of the source cluster that this
cluster is restored from.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed AlloyDBCluster
resource. Should be in the format "projects/{{projectID}}/locations/{{location}}/clusters/{{clusterID}}".
type: string
name:
description: The name of a AlloyDBCluster resource.
type: string
namespace:
description: The namespace of a AlloyDBCluster resource.
type: string
type: object
pointInTime:
description: Immutable. The point in time that this cluster is
restored to, in RFC 3339 format.
type: string
required:
- clusterRef
- pointInTime
type: object
secondaryConfig:
description: Cross Region replication config specific to SECONDARY
cluster.
properties:
primaryClusterNameRef:
description: 'The name of the primary cluster name with the format:
* projects/{project}/locations/{region}/clusters/{cluster_id}'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed AlloyDBCluster
resource. Should be in the format "projects/{{projectID}}/locations/{{location}}/clusters/{{clusterID}}".
type: string
name:
description: The name of a AlloyDBCluster resource.
type: string
namespace:
description: The namespace of a AlloyDBCluster resource.
type: string
type: object
required:
- primaryClusterNameRef
type: object
required:
- location
- projectRef
type: object
status:
description: AlloyDBClusterStatus defines the config connector machine
state of AlloyDBCluster
properties:
backupSource:
description: Output only. Cluster created from backup.
items:
properties:
backupName:
description: The name of the backup resource.
type: string
type: object
type: array
conditions:
description: Conditions represent the latest available observations
of the object's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
continuousBackupInfo:
description: Output only. Continuous backup properties for this cluster.
items:
properties:
earliestRestorableTime:
description: Output only. The earliest restorable time that
can be restored to. Output only field.
type: string
enabledTime:
description: Output only. When ContinuousBackup was most recently
enabled. Set to null if ContinuousBackup is not enabled.
type: string
encryptionInfo:
description: Output only. The encryption information for the
WALs and backups required for ContinuousBackup.
items:
properties:
encryptionType:
description: Output only. Type of encryption.
type: string
kmsKeyVersions:
description: Output only. Cloud KMS key versions that
are being used to protect the database or the backup.
items:
type: string
type: array
type: object
type: array
schedule:
description: Output only. Days of the week on which a continuous
backup is taken. Output only field. Ignored if passed into
the request.
items:
type: string
type: array
type: object
type: array
databaseVersion:
description: The database engine major version. This is an output-only
field and it's populated at the Cluster creation time. This field
cannot be changed after cluster creation.
type: string
encryptionInfo:
description: Output only. The encryption information for the cluster.
items:
properties:
encryptionType:
description: Output only. Type of encryption.
type: string
kmsKeyVersions:
description: Output only. Cloud KMS key versions that are being
used to protect the database or the backup.
items:
type: string
type: array
type: object
type: array
externalRef:
description: A unique specifier for the AlloyDBCluster resource in
GCP.
type: string
migrationSource:
description: Output only. Cluster created via DMS migration.
items:
properties:
hostPort:
description: Output only. The host and port of the on-premises
instance in host:port format
type: string
referenceId:
description: Output only. Place holder for the external source
identifier(e.g DMS job name) that created the cluster.
type: string
sourceType:
description: Output only. Type of migration source.
type: string
type: object
type: array
name:
description: 'Output only. The name of the cluster resource with the
format: * projects/{project}/locations/{region}/clusters/{cluster_id}
where the cluster ID segment should satisfy the regex expression
`[a-z0-9-]+`. For more details see https://google.aip.dev/122. The
prefix of the cluster resource name is the name of the parent resource:
* projects/{project}/locations/{region}'
type: string
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
format: int64
type: integer
observedState:
description: ObservedState is the state of the resource as most recently
observed in GCP.
properties:
clusterType:
description: Output only. The type of the cluster. This is an
output-only field and it's populated at the Cluster creation
time or the Cluster promotion time. The cluster type is determined
by which RPC was used to create the cluster (i.e. `CreateCluster`
vs. `CreateSecondaryCluster`
type: string
type: object
uid:
description: Output only. The system-generated UID of the resource.
The UID is assigned when the resource is created, and it is retained
until it is deleted.
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources: {}
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: AlloyDBCluster is the Schema for the AlloyDBCluster API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More 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. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: AlloyDBClusterSpec defines the desired state of AlloyDBCluster
properties:
automatedBackupPolicy:
description: |-
The automated backup policy for this cluster.
If no policy is provided then the default policy will be used. If backups
are supported for the cluster, the default policy takes one backup a day,
has a backup window of 1 hour, and retains backups for 14 days.
For more information on the defaults, consult the
documentation for the message type.
properties:
backupWindow:
description: |-
The length of the time window during which a backup can be
taken. If a backup does not succeed within this time window, it will be
canceled and considered failed.
The backup window must be at least 5 minutes long. There is no upper bound
on the window. If not set, it defaults to 1 hour.
type: string
enabled:
description: Whether automated automated backups are enabled.
If not set, defaults to true.
type: boolean
encryptionConfig:
description: Optional. The encryption config can be specified
to encrypt the backups with a customer-managed encryption key
(CMEK). When this field is not specified, the backup will then
use default encryption scheme to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS
key. Each Cloud KMS key is regionalized and has the following
format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
labels:
additionalProperties:
type: string
description: Labels to apply to backups created using this configuration.
type: object
location:
description: |-
The location where the backup will be stored. Currently, the only supported
option is to store the backup in the same region as the cluster.
If empty, defaults to the region of the cluster.
type: string
quantityBasedRetention:
description: Quantity-based Backup retention policy to retain
recent backups.
properties:
count:
description: The number of backups to retain.
format: int32
type: integer
type: object
timeBasedRetention:
description: Time-based Backup retention policy.
properties:
retentionPeriod:
description: The retention period.
type: string
type: object
weeklySchedule:
description: Weekly schedule for the Backup.
properties:
daysOfWeek:
description: |-
The days of the week to perform a backup.
If this field is left empty, the default of every day of the week is
used.
items:
type: string
type: array
startTimes:
description: |-
The times during the day to start a backup. The start times are assumed
to be in UTC and to be an exact hour (e.g., 04:00:00).
If no start times are provided, a single fixed start time is chosen
arbitrarily.
items:
properties:
hours:
description: Hours of day in 24 hour format. Should
be from 0 to 23. An API may choose to allow the value
"24:00:00" for scenarios like business closing time.
format: int32
type: integer
minutes:
description: Minutes of hour of day. Must be from 0
to 59.
format: int32
type: integer
nanos:
description: Fractions of seconds in nanoseconds. Must
be from 0 to 999,999,999.
format: int32
type: integer
seconds:
description: Seconds of minutes of the time. Must normally
be from 0 to 59. An API may allow the value 60 if
it allows leap-seconds.
format: int32
type: integer
type: object
type: array
required:
- startTimes
type: object
type: object
clusterType:
description: 'The type of cluster. If not set, defaults to PRIMARY.
Default value: "PRIMARY" Possible values: ["PRIMARY", "SECONDARY"].'
type: string
continuousBackupConfig:
description: Optional. Continuous backup configuration for this cluster.
properties:
enabled:
description: Whether ContinuousBackup is enabled.
type: boolean
encryptionConfig:
description: The encryption config can be specified to encrypt
the backups with a customer-managed encryption key (CMEK). When
this field is not specified, the backup will then use default
encryption scheme to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS
key. Each Cloud KMS key is regionalized and has the following
format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
recoveryWindowDays:
description: The number of days that are eligible to restore from
using PITR. To support the entire recovery window, backups and
logs are retained for one day more than the recovery window.
If not set, defaults to 14 days.
format: int32
type: integer
type: object
deletionPolicy:
description: Policy to determine if the cluster should be deleted
forcefully. Deleting a cluster forcefully, deletes the cluster and
all its associated instances within the cluster. Deleting a Secondary
cluster with a secondary instance REQUIRES setting deletion_policy
= "FORCE" otherwise an error is returned. This is needed as there
is no support to delete just the secondary instance, and the only
way to delete secondary instance is to delete the associated secondary
cluster forcefully which also deletes the secondary instance.
type: string
displayName:
description: User-settable and human-readable display name for the
Cluster.
type: string
encryptionConfig:
description: Optional. The encryption config can be specified to encrypt
the data disks and other persistent data resources of a cluster
with a customer-managed encryption key (CMEK). When this field is
not specified, the cluster will then use default encryption scheme
to protect the user data.
properties:
kmsKeyNameRef:
description: 'The fully-qualified resource name of the KMS key.
Each Cloud KMS key is regionalized and has the following format:
projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
type: object
initialUser:
description: Input only. Initial user to setup during cluster creation.
Required. If used in `RestoreCluster` this is ignored.
properties:
password:
description: The initial password for the user.
properties:
value:
description: Value of the field. Cannot be used if 'valueFrom'
is specified.
type: string
valueFrom:
description: Source for the field's value. Cannot be used
if 'value' is specified.
properties:
secretKeyRef:
description: Reference to a value with the given key in
the given Secret in the resource's namespace.
properties:
key:
description: Key that identifies the value to be extracted.
type: string
name:
description: Name of the Secret to extract a value
from.
type: string
required:
- key
- name
type: object
type: object
type: object
user:
description: The database username.
type: string
required:
- password
type: object
location:
description: Immutable. The location where the alloydb cluster should
reside.
type: string
maintenanceUpdatePolicy:
description: Optional. The maintenance update policy determines when
to allow or deny updates.
properties:
maintenanceWindows:
description: Preferred windows to perform maintenance. Currently
limited to 1.
items:
properties:
day:
description: Preferred day of the week for maintenance,
e.g. MONDAY, TUESDAY, etc.
type: string
startTime:
description: Preferred time to start the maintenance operation
on the specified day. Maintenance will start within 1
hour of this time.
properties:
hours:
description: Hours of day in 24 hour format. Should
be from 0 to 23. An API may choose to allow the value
"24:00:00" for scenarios like business closing time.
format: int32
type: integer
minutes:
description: Minutes of hour of day. Must be from 0
to 59.
format: int32
type: integer
nanos:
description: Fractions of seconds in nanoseconds. Must
be from 0 to 999,999,999.
format: int32
type: integer
seconds:
description: Seconds of minutes of the time. Must normally
be from 0 to 59. An API may allow the value 60 if
it allows leap-seconds.
format: int32
type: integer
type: object
required:
- day
- startTime
type: object
type: array
type: object
networkConfig:
properties:
allocatedIpRange:
description: 'Optional. Name of the allocated IP range for the
private IP AlloyDB cluster, for example: "google-managed-services-default".
If set, the instance IPs for this cluster will be created in
the allocated range. The range name must comply with RFC 1035.
Specifically, the name must be 1-63 characters long and match
the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. Field name
is intended to be consistent with Cloud SQL.'
type: string
networkRef:
description: 'The resource link for the VPC network in which cluster
resources are created and from which they are accessible via
Private IP. The network must belong to the same project as the
cluster. It is specified in the form: `projects/{project_number}/global/networks/{network_id}`.
This is required to create a cluster.'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed Compute
Network resource. Should be in the format `projects/{{projectID}}/global/networks/{{network}}`.
type: string
name:
description: The `name` field of a `ComputeNetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeNetwork` resource.
type: string
type: object
type: object
networkRef:
description: 'The resource link for the VPC network in which cluster
resources are created and from which they are accessible via Private
IP. The network must belong to the same project as the cluster.
It is specified in the form: `projects/{project}/global/networks/{network_id}`.
This is required to create a cluster. Deprecated, use network_config.network
instead.'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed Compute Network
resource. Should be in the format `projects/{{projectID}}/global/networks/{{network}}`.
type: string
name:
description: The `name` field of a `ComputeNetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeNetwork` resource.
type: string
type: object
projectRef:
description: The project that this resource belongs to.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: The `projectID` field of a project, when not managed
by Config Connector.
type: string
kind:
description: The kind of the Project resource; optional but must
be `Project` if provided.
type: string
name:
description: The `name` field of a `Project` resource.
type: string
namespace:
description: The `namespace` field of a `Project` resource.
type: string
type: object
resourceID:
description: The AlloyDBCluster name. If not given, the metadata.name
will be used.
type: string
restoreBackupSource:
description: Immutable. The source when restoring from a backup. Conflicts
with 'restoreContinuousBackupSource', both can't be set together.
properties:
backupNameRef:
description: 'Required. The name of the backup resource with the
format: * projects/{project}/locations/{region}/backups/{backup_id}'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: If provided must be in the format `projects/[projectId]/locations/[location]/backups/[backupId]`.
type: string
name:
description: The `metadata.name` field of a `AlloyDBBackup`
resource.
type: string
namespace:
description: The `metadata.namespace` field of a `AlloyDBBackup`
resource.
type: string
type: object
required:
- backupNameRef
type: object
restoreContinuousBackupSource:
description: Immutable. The source when restoring via point in time
recovery (PITR). Conflicts with 'restoreBackupSource', both can't
be set together.
properties:
clusterRef:
description: (Required) The name of the source cluster that this
cluster is restored from.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed AlloyDBCluster
resource. Should be in the format "projects/{{projectID}}/locations/{{location}}/clusters/{{clusterID}}".
type: string
name:
description: The name of a AlloyDBCluster resource.
type: string
namespace:
description: The namespace of a AlloyDBCluster resource.
type: string
type: object
pointInTime:
description: Immutable. The point in time that this cluster is
restored to, in RFC 3339 format.
type: string
required:
- clusterRef
- pointInTime
type: object
secondaryConfig:
description: Cross Region replication config specific to SECONDARY
cluster.
properties:
primaryClusterNameRef:
description: 'The name of the primary cluster name with the format:
* projects/{project}/locations/{region}/clusters/{cluster_id}'
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed AlloyDBCluster
resource. Should be in the format "projects/{{projectID}}/locations/{{location}}/clusters/{{clusterID}}".
type: string
name:
description: The name of a AlloyDBCluster resource.
type: string
namespace:
description: The namespace of a AlloyDBCluster resource.
type: string
type: object
required:
- primaryClusterNameRef
type: object
required:
- location
- projectRef
type: object
status:
description: AlloyDBClusterStatus defines the config connector machine
state of AlloyDBCluster
properties:
backupSource:
description: Output only. Cluster created from backup.
items:
properties:
backupName:
description: The name of the backup resource.
type: string
type: object
type: array
conditions:
description: Conditions represent the latest available observations
of the object's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
continuousBackupInfo:
description: Output only. Continuous backup properties for this cluster.
items:
properties:
earliestRestorableTime:
description: Output only. The earliest restorable time that
can be restored to. Output only field.
type: string
enabledTime:
description: Output only. When ContinuousBackup was most recently
enabled. Set to null if ContinuousBackup is not enabled.
type: string
encryptionInfo:
description: Output only. The encryption information for the
WALs and backups required for ContinuousBackup.
items:
properties:
encryptionType:
description: Output only. Type of encryption.
type: string
kmsKeyVersions:
description: Output only. Cloud KMS key versions that
are being used to protect the database or the backup.
items:
type: string
type: array
type: object
type: array
schedule:
description: Output only. Days of the week on which a continuous
backup is taken. Output only field. Ignored if passed into
the request.
items:
type: string
type: array
type: object
type: array
databaseVersion:
description: The database engine major version. This is an output-only
field and it's populated at the Cluster creation time. This field
cannot be changed after cluster creation.
type: string
encryptionInfo:
description: Output only. The encryption information for the cluster.
items:
properties:
encryptionType:
description: Output only. Type of encryption.
type: string
kmsKeyVersions:
description: Output only. Cloud KMS key versions that are being
used to protect the database or the backup.
items:
type: string
type: array
type: object
type: array
externalRef:
description: A unique specifier for the AlloyDBCluster resource in
GCP.
type: string
migrationSource:
description: Output only. Cluster created via DMS migration.
items:
properties:
hostPort:
description: Output only. The host and port of the on-premises
instance in host:port format
type: string
referenceId:
description: Output only. Place holder for the external source
identifier(e.g DMS job name) that created the cluster.
type: string
sourceType:
description: Output only. Type of migration source.
type: string
type: object
type: array
name:
description: 'Output only. The name of the cluster resource with the
format: * projects/{project}/locations/{region}/clusters/{cluster_id}
where the cluster ID segment should satisfy the regex expression
`[a-z0-9-]+`. For more details see https://google.aip.dev/122. The
prefix of the cluster resource name is the name of the parent resource:
* projects/{project}/locations/{region}'
type: string
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
format: int64
type: integer
observedState:
description: ObservedState is the state of the resource as most recently
observed in GCP.
properties:
clusterType:
description: Output only. The type of the cluster. This is an
output-only field and it's populated at the Cluster creation
time or the Cluster promotion time. The cluster type is determined
by which RPC was used to create the cluster (i.e. `CreateCluster`
vs. `CreateSecondaryCluster`
type: string
type: object
uid:
description: Output only. The system-generated UID of the resource.
The UID is assigned when the resource is created, and it is retained
until it is deleted.
type: string
type: object
required:
- spec
type: object
served: true
storage: false
subresources:
status: {}