crds/sql_v1beta1_sqluser.yaml (194 lines of code) (raw):
# Copyright 2025 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.128.0
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: sqlusers.sql.cnrm.cloud.google.com
spec:
group: sql.cnrm.cloud.google.com
names:
categories:
- gcp
kind: SQLUser
plural: sqlusers
shortNames:
- gcpsqluser
- gcpsqlusers
singular: sqluser
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: v1beta1
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:
host:
description: Immutable. The host the user can connect from. This is
only supported for MySQL instances. Don't set this field for PostgreSQL
instances. Can be an IP address. Changing this forces a new resource
to be created.
type: string
instanceRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field of a `SQLInstance`
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
password:
description: |-
The password for the user. Can be updated. For Postgres instances this is a Required field, unless type is set to
either CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT.
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
passwordPolicy:
properties:
allowedFailedAttempts:
description: Number of failed attempts allowed before the user
get locked.
type: integer
enableFailedAttemptsCheck:
description: If true, the check that will lock user after too
many failed login attempts will be enabled.
type: boolean
enablePasswordVerification:
description: If true, the user must specify the current password
before changing the password. This flag is supported only for
MySQL.
type: boolean
passwordExpirationDuration:
description: Password expiration duration with one week grace
period.
type: string
status:
items:
properties:
locked:
description: If true, user does not have login privileges.
type: boolean
passwordExpirationTime:
description: Password expiration duration with one week
grace period.
type: string
type: object
type: array
type: object
resourceID:
description: Immutable. Optional. The name of the resource. Used for
creation and acquisition. When unset, the value of `metadata.name`
is used as the default.
type: string
type:
description: |-
Immutable. The user type. It determines the method to authenticate the user during login.
The default is the database's built-in user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".
type: string
required:
- instanceRef
type: object
status:
properties:
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
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
sqlServerUserDetails:
items:
properties:
disabled:
description: If the user has been disabled.
type: boolean
serverRoles:
description: The server roles for this user in the database.
items:
type: string
type: array
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []