# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: cnrm.cloud.google.com/version: 1.106.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" cnrm.cloud.google.com/stability-level: alpha 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 plural: alloydbclusters shortNames: - gcpalloydbcluster - gcpalloydbclusters singular: alloydbcluster 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: 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/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/api-conventions.md#types-kinds' type: string metadata: type: object spec: properties: automatedBackupPolicy: description: |- The automated backup policy for this cluster. If no policy is provided then the default policy will be used. The default policy takes one backup a day, has a backup window of 1 hour, and retains backups for 14 days. 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 will default to 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". type: string enabled: description: Whether automated backups are enabled. type: boolean encryptionConfig: description: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). properties: kmsKeyName: 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].' type: string 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. type: string quantityBasedRetention: description: Quantity-based Backup retention policy to retain recent backups. Conflicts with 'time_based_retention', both can't be set together. properties: count: description: The number of backups to retain. type: integer type: object timeBasedRetention: description: Time-based Backup retention policy. Conflicts with 'quantity_based_retention', both can't be set together. properties: retentionPeriod: description: |- The retention period. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". type: string type: object weeklySchedule: description: Weekly schedule for the Backup. properties: daysOfWeek: description: 'The days of the week to perform a backup. At least one day of the week must be provided. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].' items: type: string type: array startTimes: description: The times during the day to start a backup. At least one start time must be provided. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). 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. type: integer minutes: description: Minutes of hour of day. Currently, only the value 0 is supported. type: integer nanos: description: Fractions of seconds in nanoseconds. Currently, only the value 0 is supported. type: integer seconds: description: Seconds of minutes of the time. Currently, only the value 0 is supported. type: integer type: object type: array required: - startTimes type: object type: object displayName: description: User-settable and human-readable display name for the Cluster. type: string encryptionConfig: description: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). properties: kmsKeyName: description: 'Immutable. 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].' type: string type: object initialUser: description: Initial user to setup during cluster creation. properties: password: description: The initial password for the user. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom 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: - name - key 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 network: description: |- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}". type: string 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: 'Allowed value: The `name` field of a `Project` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object resourceID: description: Immutable. Optional. The clusterId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string required: - location - network - projectRef type: object status: properties: backupSource: description: 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 observation of the resource'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 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: EncryptionInfo describes the encryption information of a cluster or a backup. 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 migrationSource: description: Cluster created via DMS migration. items: properties: hostPort: description: The host and port of the on-premises instance in host:port format. type: string referenceId: description: Place holder for the external source identifier(e.g DMS job name) that created the cluster. type: string sourceType: description: Type of migration source. type: string type: object type: array name: description: The name of the cluster resource. 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. type: integer uid: description: The system-generated UID of the resource. type: string type: object required: - spec type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []