apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: accesscontextmanageraccesslevels.accesscontextmanager.cnrm.cloud.google.com
spec:
  group: accesscontextmanager.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: AccessContextManagerAccessLevel
    plural: accesscontextmanageraccesslevels
    shortNames:
    - gcpaccesscontextmanageraccesslevel
    - gcpaccesscontextmanageraccesslevels
    singular: accesscontextmanageraccesslevel
  scope: Namespaced
  validation:
    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:
            accessPolicyRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            basic:
              description: A set of predefined conditions for the access level and
                a combining function.
              properties:
                combiningFunction:
                  description: |-
                    How the conditions list should be combined to determine if a request
                    is granted this AccessLevel. If AND is used, each Condition in
                    conditions must be satisfied for the AccessLevel to be applied. If
                    OR is used, at least one Condition in conditions must be satisfied
                    for the AccessLevel to be applied. Defaults to AND if unspecified.
                  type: string
                conditions:
                  description: A set of requirements for the AccessLevel to be granted.
                  items:
                    properties:
                      devicePolicy:
                        description: |-
                          Device specific restrictions, all restrictions must hold for
                          the Condition to be true. If not specified, all devices are
                          allowed.
                        properties:
                          allowedDeviceManagementLevels:
                            description: |-
                              A list of allowed device management levels.
                              An empty list allows all management levels.
                            items:
                              type: string
                            type: array
                          allowedEncryptionStatuses:
                            description: |-
                              A list of allowed encryptions statuses.
                              An empty list allows all statuses.
                            items:
                              type: string
                            type: array
                          osConstraints:
                            description: |-
                              A list of allowed OS versions.
                              An empty list allows all types and all versions.
                            items:
                              properties:
                                minimumVersion:
                                  description: |-
                                    The minimum allowed OS version. If not set, any version
                                    of this OS satisfies the constraint.
                                    Format: "major.minor.patch" such as "10.5.301", "9.2.1".
                                  type: string
                                osType:
                                  description: The operating system type of the device.
                                  type: string
                              required:
                              - osType
                              type: object
                            type: array
                          requireAdminApproval:
                            description: Whether the device needs to be approved by
                              the customer admin.
                            type: boolean
                          requireCorpOwned:
                            description: Whether the device needs to be corp owned.
                            type: boolean
                          requireScreenLock:
                            description: |-
                              Whether or not screenlock is required for the DevicePolicy
                              to be true. Defaults to false.
                            type: boolean
                        type: object
                      ipSubnetworks:
                        description: |-
                          A list of CIDR block IP subnetwork specification. May be IPv4
                          or IPv6.
                          Note that for a CIDR IP address block, the specified IP address
                          portion must be properly truncated (i.e. all the host bits must
                          be zero) or the input is considered malformed. For example,
                          "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
                          for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
                          is not. The originating IP of a request must be in one of the
                          listed subnets in order for this Condition to be true.
                          If empty, all IP addresses are allowed.
                        items:
                          type: string
                        type: array
                      members:
                        items:
                          properties:
                            group:
                              type: string
                            serviceAccountRef:
                              oneOf:
                              - not:
                                  required:
                                  - external
                                required:
                                - testKptName # {"$kpt-set":"name"}
                              - not:
                                  anyOf:
                                  - required:
                                    - testKptName # {"$kpt-set":"name"}
                                  - required:
                                    - namespace
                                required:
                                - external
                              properties:
                                external:
                                  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
                            user:
                              type: string
                          type: object
                        type: array
                      negate:
                        description: |-
                          Whether to negate the Condition. If true, the Condition becomes
                          a NAND over its non-empty fields, each field must be false for
                          the Condition overall to be satisfied. Defaults to false.
                        type: boolean
                      requiredAccessLevels:
                        items:
                          oneOf:
                          - not:
                              required:
                              - external
                            required:
                            - testKptName # {"$kpt-set":"name"}
                          - not:
                              anyOf:
                              - required:
                                - testKptName # {"$kpt-set":"name"}
                              - required:
                                - namespace
                            required:
                            - external
                          properties:
                            external:
                              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
                        type: array
                    type: object
                  type: array
              required:
              - conditions
              type: object
            description:
              description: Description of the AccessLevel and its use. Does not affect
                behavior.
              type: string
            title:
              description: Human readable title. Must be unique within the Policy.
              type: string
          required:
          - accessPolicyRef
          - title
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: accesscontextmanageraccesspolicies.accesscontextmanager.cnrm.cloud.google.com
spec:
  group: accesscontextmanager.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: AccessContextManagerAccessPolicy
    plural: accesscontextmanageraccesspolicies
    shortNames:
    - gcpaccesscontextmanageraccesspolicy
    - gcpaccesscontextmanageraccesspolicies
    singular: accesscontextmanageraccesspolicy
  scope: Namespaced
  validation:
    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:
            title:
              description: Human readable title. Does not affect behavior.
              type: string
          required:
          - title
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            createTime:
              description: Time the AccessPolicy was created in UTC.
              type: string
            name:
              description: 'Resource name of the AccessPolicy. Format: {policy_id}'
              type: string
            updateTime:
              description: Time the AccessPolicy was updated in UTC.
              type: string
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: bigquerydatasets.bigquery.cnrm.cloud.google.com
spec:
  group: bigquery.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: BigQueryDataset
    plural: bigquerydatasets
    shortNames:
    - gcpbigquerydataset
    - gcpbigquerydatasets
    singular: bigquerydataset
  scope: Namespaced
  validation:
    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:
            access:
              description: An array of objects that define dataset access for one
                or more entities.
              items:
                properties:
                  domain:
                    description: |-
                      A domain to grant access to. Any users signed in with the
                      domain specified will be granted the specified access
                    type: string
                  groupByEmail:
                    description: An email address of a Google Group to grant access
                      to.
                    type: string
                  role:
                    description: |-
                      Describes the rights granted to the user specified by the other
                      member of the access object. Primitive, Predefined and custom
                      roles are supported. Predefined roles that have equivalent
                      primitive roles are swapped by the API to their Primitive
                      counterparts, and will show a diff post-create. See
                      [official docs](https://cloud.google.com/bigquery/docs/access-control).
                    type: string
                  specialGroup:
                    description: |-
                      A special group to grant access to. Possible values include:


                      * 'projectOwners': Owners of the enclosing project.


                      * 'projectReaders': Readers of the enclosing project.


                      * 'projectWriters': Writers of the enclosing project.


                      * 'allAuthenticatedUsers': All authenticated BigQuery users.
                    type: string
                  userByEmail:
                    description: |-
                      An email address of a user to grant access to. For example:
                      fred@example.com
                    type: string
                  view:
                    description: |-
                      A view from a different dataset to grant access to. Queries
                      executed against that view will have read access to tables in
                      this dataset. The role field is not required when this field is
                      set. If that view is updated by any user, access to the view
                      needs to be granted again via an update operation.
                    properties:
                      datasetId:
                        description: The ID of the dataset containing this table.
                        type: string
                      projectId:
                        description: The ID of the project containing this table.
                        type: string
                      tableId:
                        description: |-
                          The ID of the table. The ID must contain only letters (a-z,
                          A-Z), numbers (0-9), or underscores (_). The maximum length
                          is 1,024 characters.
                        type: string
                    required:
                    - datasetId
                    - projectId
                    - tableId
                    type: object
                type: object
              type: array
            defaultEncryptionConfiguration:
              description: |-
                The default encryption key for all tables in the dataset. Once this property is set,
                all newly-created partitioned tables in the dataset will have encryption key set to
                this value, unless table creation request (or query) overrides the key.
              properties:
                kmsKeyRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
              required:
              - kmsKeyRef
              type: object
            defaultPartitionExpirationMs:
              description: |-
                The default partition expiration for all partitioned tables in
                the dataset, in milliseconds.


                Once this property is set, all newly-created partitioned tables in
                the dataset will have an 'expirationMs' property in the 'timePartitioning'
                settings set to this value, and changing the value will only
                affect new tables, not existing ones. The storage in a partition will
                have an expiration time of its partition time plus this value.
                Setting this property overrides the use of 'defaultTableExpirationMs'
                for partitioned tables: only one of 'defaultTableExpirationMs' and
                'defaultPartitionExpirationMs' will be used for any new partitioned
                table. If you provide an explicit 'timePartitioning.expirationMs' when
                creating or updating a partitioned table, that value takes precedence
                over the default partition expiration time indicated by this property.
              type: integer
            defaultTableExpirationMs:
              description: |-
                The default lifetime of all tables in the dataset, in milliseconds.
                The minimum value is 3600000 milliseconds (one hour).


                Once this property is set, all newly-created tables in the dataset
                will have an 'expirationTime' property set to the creation time plus
                the value in this property, and changing the value will only affect
                new tables, not existing ones. When the 'expirationTime' for a given
                table is reached, that table will be deleted automatically.
                If a table's 'expirationTime' is modified or removed before the
                table expires, or if you provide an explicit 'expirationTime' when
                creating a table, that value takes precedence over the default
                expiration time indicated by this property.
              type: integer
            description:
              description: A user-friendly description of the dataset
              type: string
            friendlyName:
              description: A descriptive name for the dataset
              type: string
            location:
              description: |-
                The geographic location where the dataset should reside.
                See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations).


                There are two types of locations, regional or multi-regional. A regional
                location is a specific geographic place, such as Tokyo, and a multi-regional
                location is a large geographic area, such as the United States, that
                contains at least two geographic places.


                Possible regional values include: 'asia-east1', 'asia-northeast1',
                'asia-southeast1', 'australia-southeast1', 'europe-north1',
                'europe-west2' and 'us-east4'.


                Possible multi-regional values: 'EU' and 'US'.


                The default value is multi-regional location 'US'.
                Changing this forces a new resource to be created.
              type: string
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTime:
              description: |-
                The time when this dataset was created, in milliseconds since the
                epoch.
              type: integer
            etag:
              description: A hash of the resource.
              type: string
            lastModifiedTime:
              description: |-
                The date when this dataset or any of its tables was last modified, in
                milliseconds since the epoch.
              type: integer
            selfLink:
              type: string
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: bigquerytables.bigquery.cnrm.cloud.google.com
spec:
  group: bigquery.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: BigQueryTable
    plural: bigquerytables
    shortNames:
    - gcpbigquerytable
    - gcpbigquerytables
    singular: bigquerytable
  scope: Namespaced
  validation:
    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:
            clustering:
              items:
                type: string
              type: array
            datasetRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            description:
              type: string
            encryptionConfiguration:
              properties:
                kmsKeyRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
              required:
              - kmsKeyRef
              type: object
            expirationTime:
              type: integer
            externalDataConfiguration:
              properties:
                autodetect:
                  type: boolean
                compression:
                  type: string
                csvOptions:
                  properties:
                    allowJaggedRows:
                      type: boolean
                    allowQuotedNewlines:
                      type: boolean
                    encoding:
                      type: string
                    fieldDelimiter:
                      type: string
                    quote:
                      type: string
                    skipLeadingRows:
                      type: integer
                  required:
                  - quote
                  type: object
                googleSheetsOptions:
                  properties:
                    range:
                      type: string
                    skipLeadingRows:
                      type: integer
                  type: object
                ignoreUnknownValues:
                  type: boolean
                maxBadRecords:
                  type: integer
                sourceFormat:
                  type: string
                sourceUris:
                  items:
                    type: string
                  type: array
              required:
              - autodetect
              - sourceFormat
              - sourceUris
              type: object
            friendlyName:
              type: string
            schema:
              type: string
            timePartitioning:
              properties:
                expirationMs:
                  type: integer
                field:
                  type: string
                requirePartitionFilter:
                  type: boolean
                type:
                  type: string
              required:
              - type
              type: object
            view:
              properties:
                query:
                  type: string
                useLegacySql:
                  type: boolean
              required:
              - query
              type: object
          required:
          - datasetRef
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTime:
              type: integer
            etag:
              type: string
            lastModifiedTime:
              type: integer
            location:
              type: string
            numBytes:
              type: integer
            numLongTermBytes:
              type: integer
            numRows:
              type: integer
            selfLink:
              type: string
            type:
              type: string
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: bigtableinstances.bigtable.cnrm.cloud.google.com
spec:
  group: bigtable.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: BigtableInstance
    plural: bigtableinstances
    shortNames:
    - gcpbigtableinstance
    - gcpbigtableinstances
    singular: bigtableinstance
  scope: Namespaced
  validation:
    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:
            cluster:
              items:
                properties:
                  clusterId:
                    type: string
                  numNodes:
                    type: integer
                  storageType:
                    type: string
                  zone:
                    type: string
                required:
                - clusterId
                - zone
                type: object
              type: array
            displayName:
              type: string
            instanceType:
              type: string
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: cloudbuildtriggers.cloudbuild.cnrm.cloud.google.com
spec:
  group: cloudbuild.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: CloudBuildTrigger
    plural: cloudbuildtriggers
    shortNames:
    - gcpcloudbuildtrigger
    - gcpcloudbuildtriggers
    singular: cloudbuildtrigger
  scope: Namespaced
  validation:
    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:
            build:
              description: Contents of the build template. Either a filename or build
                template must be provided.
              properties:
                images:
                  description: |-
                    A list of images to be pushed upon the successful completion of all build steps.
                    The images are pushed using the builder service account's credentials.
                    The digests of the pushed images will be stored in the Build resource's results field.
                    If any of the images fail to be pushed, the build status is marked FAILURE.
                  items:
                    type: string
                  type: array
                step:
                  description: The operations to be performed on the workspace.
                  items:
                    properties:
                      args:
                        description: |-
                          A list of arguments that will be presented to the step when it is started.

                          If the image used to run the step's container has an entrypoint, the args
                          are used as arguments to that entrypoint. If the image does not define an
                          entrypoint, the first element in args is used as the entrypoint, and the
                          remainder will be used as arguments.
                        items:
                          type: string
                        type: array
                      dir:
                        description: |-
                          Working directory to use when running this step's container.

                          If this value is a relative path, it is relative to the build's working
                          directory. If this value is absolute, it may be outside the build's working
                          directory, in which case the contents of the path may not be persisted
                          across build step executions, unless a 'volume' for that path is specified.

                          If the build specifies a 'RepoSource' with 'dir' and a step with a
                          'dir',
                          which specifies an absolute path, the 'RepoSource' 'dir' is ignored
                          for the step's execution.
                        type: string
                      entrypoint:
                        description: |-
                          Entrypoint to be used instead of the build step image's
                          default entrypoint.
                          If unset, the image's default entrypoint is used
                        type: string
                      env:
                        description: |-
                          A list of environment variable definitions to be used when
                          running a step.

                          The elements are of the form "KEY=VALUE" for the environment variable
                          "KEY" being given the value "VALUE".
                        items:
                          type: string
                        type: array
                      id:
                        description: |-
                          Unique identifier for this build step, used in 'wait_for' to
                          reference this build step as a dependency.
                        type: string
                      name:
                        description: |-
                          The name of the container image that will run this particular build step.

                          If the image is available in the host's Docker daemon's cache, it will be
                          run directly. If not, the host will attempt to pull the image first, using
                          the builder service account's credentials if necessary.

                          The Docker daemon's cache will already have the latest versions of all of
                          the officially supported build steps (https://github.com/GoogleCloudPlatform/cloud-builders).
                          The Docker daemon will also have cached many of the layers for some popular
                          images, like "ubuntu", "debian", but they will be refreshed at the time
                          you attempt to use them.

                          If you built an image in a previous build step, it will be stored in the
                          host's Docker daemon's cache and is available to use as the name for a
                          later build step.
                        type: string
                      secretEnv:
                        description: |-
                          A list of environment variables which are encrypted using
                          a Cloud Key
                          Management Service crypto key. These values must be specified in
                          the build's 'Secret'.
                        items:
                          type: string
                        type: array
                      timeout:
                        description: |-
                          Time limit for executing this build step. If not defined,
                          the step has no
                          time limit and will be allowed to continue to run until either it
                          completes or the build itself times out.
                        type: string
                      timing:
                        description: |-
                          Output only. Stores timing information for executing this
                          build step.
                        type: string
                      volumes:
                        description: |-
                          List of volumes to mount into the build step.

                          Each volume is created as an empty volume prior to execution of the
                          build step. Upon completion of the build, volumes and their contents
                          are discarded.

                          Using a named volume in only one step is not valid as it is
                          indicative of a build request with an incorrect configuration.
                        items:
                          properties:
                            name:
                              description: |-
                                Name of the volume to mount.

                                Volume names must be unique per build step and must be valid names for
                                Docker volumes. Each named volume must be used by at least two build steps.
                              type: string
                            path:
                              description: |-
                                Path at which to mount the volume.

                                Paths must be absolute and cannot conflict with other volume paths on
                                the same build step or with certain reserved volume paths.
                              type: string
                          required:
                          - testKptName # {"$kpt-set":"name"}
                          - path
                          type: object
                        type: array
                      waitFor:
                        description: |-
                          The ID(s) of the step(s) that this build step depends on.

                          This build step will not start until all the build steps in 'wait_for'
                          have completed successfully. If 'wait_for' is empty, this build step
                          will start when all previous build steps in the 'Build.Steps' list
                          have completed successfully.
                        items:
                          type: string
                        type: array
                    required:
                    - testKptName # {"$kpt-set":"name"}
                    type: object
                  type: array
                tags:
                  description: Tags for annotation of a Build. These are not docker
                    tags.
                  items:
                    type: string
                  type: array
                timeout:
                  description: |-
                    Amount of time that this build should be allowed to run, to second granularity.
                    If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT.
                    This timeout must be equal to or greater than the sum of the timeouts for build steps within the build.
                    The expected format is the number of seconds followed by s.
                    Default time is ten minutes (600s).
                  type: string
              required:
              - step
              type: object
            description:
              description: Human-readable description of the trigger.
              type: string
            disabled:
              description: Whether the trigger is disabled or not. If true, the trigger
                will never result in a build.
              type: boolean
            filename:
              description: Path, from the source root, to a file whose contents is
                used for the template. Either a filename or build template must be
                provided.
              type: string
            github:
              description: |-
                Describes the configuration of a trigger that creates a build whenever a GitHub event is received.

                One of 'trigger_template' or 'github' must be provided.
              properties:
                name:
                  description: |-
                    Name of the repository. For example: The name for
                    https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
                  type: string
                owner:
                  description: |-
                    Owner of the repository. For example: The owner for
                    https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".
                  type: string
                pullRequest:
                  description: filter to match changes in pull requests.  Specify
                    only one of pullRequest or push.
                  properties:
                    branch:
                      description: Regex of branches to match.
                      type: string
                    commentControl:
                      description: Whether to block builds on a "/gcbrun" comment
                        from a repository owner or collaborator.
                      type: string
                  required:
                  - branch
                  type: object
                push:
                  description: filter to match changes in refs, like branches or tags.  Specify
                    only one of pullRequest or push.
                  properties:
                    branch:
                      description: Regex of branches to match.  Specify only one of
                        branch or tag.
                      type: string
                    tag:
                      description: Regex of tags to match.  Specify only one of branch
                        or tag.
                      type: string
                  type: object
              type: object
            ignoredFiles:
              description: |-
                ignoredFiles and includedFiles are file glob matches using http://godoc/pkg/path/filepath#Match
                extended with support for '**'.

                If ignoredFiles and changed files are both empty, then they are not
                used to determine whether or not to trigger a build.

                If ignoredFiles is not empty, then we ignore any files that match any
                of the ignored_file globs. If the change has no files that are outside
                of the ignoredFiles globs, then we do not trigger a build.
              items:
                type: string
              type: array
            includedFiles:
              description: |-
                ignoredFiles and includedFiles are file glob matches using http://godoc/pkg/path/filepath#Match
                extended with support for '**'.

                If any of the files altered in the commit pass the ignoredFiles filter
                and includedFiles is empty, then as far as this filter is concerned, we
                should trigger the build.

                If any of the files altered in the commit pass the ignoredFiles filter
                and includedFiles is not empty, then we make sure that at least one of
                those files matches a includedFiles glob. If not, then we do not trigger
                a build.
              items:
                type: string
              type: array
            substitutions:
              additionalProperties:
                type: string
              description: Substitutions data for Build resource.
              type: object
            triggerTemplate:
              description: |-
                Template describing the types of source changes to trigger a build.

                Branch and tag names in trigger templates are interpreted as regular
                expressions. Any branch or tag change that matches that regular
                expression will trigger a build.

                One of 'trigger_template' or 'github' must be provided.
              properties:
                branchName:
                  description: |-
                    Name of the branch to build. Exactly one a of branch name, tag, or commit SHA must be provided.
                    This field is a regular expression.
                  type: string
                commitSha:
                  description: Explicit commit SHA to build. Exactly one of a branch
                    name, tag, or commit SHA must be provided.
                  type: string
                dir:
                  description: |-
                    Directory, relative to the source root, in which to run the build.

                    This must be a relative path. If a step's dir is specified and
                    is an absolute path, this value is ignored for that step's
                    execution.
                  type: string
                repoRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
                tagName:
                  description: |-
                    Name of the tag to build. Exactly one of a branch name, tag, or commit SHA must be provided.
                    This field is a regular expression.
                  type: string
              type: object
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            createTime:
              description: Time when the trigger was created.
              type: string
            triggerId:
              description: The unique identifier for the trigger.
              type: string
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computeaddresses.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeAddress
    plural: computeaddresses
    shortNames:
    - gcpcomputeaddress
    - gcpcomputeaddresses
    singular: computeaddress
  scope: Namespaced
  validation:
    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:
            address:
              description: |-
                The static external IP address represented by this resource. Only
                IPv4 is supported. An address may only be specified for INTERNAL
                address types. The IP address must be inside the specified subnetwork,
                if any.
              type: string
            addressType:
              description: |-
                The type of address to reserve, either INTERNAL or EXTERNAL.
                If unspecified, defaults to EXTERNAL.
              type: string
            description:
              description: An optional description of this resource.
              type: string
            ipVersion:
              description: |-
                The IP Version that will be used by this address. Valid options are
                'IPV4' or 'IPV6'. The default value is 'IPV4'.
              type: string
            location:
              description: 'Location represents the geographical location of the ComputeAddress.
                Specify a region name or "global" for global resources. Reference:
                GCP definition of regions/zones (https://cloud.google.com/compute/docs/regions-zones/)'
              type: string
            networkRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            networkTier:
              description: |-
                The networking tier used for configuring this address. This field can
                take the following values: PREMIUM or STANDARD. If this field is not
                specified, it is assumed to be PREMIUM.
              type: string
            prefixLength:
              description: |-
                The prefix length of the IP range. If not present, it means the
                address field is a single IP address.

                This field is not applicable to addresses with addressType=EXTERNAL.
              type: integer
            purpose:
              description: |-
                The purpose of this resource, which can be one of the following values:

                - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources.

                This should only be set when using an Internal address.
              type: string
            subnetworkRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
          required:
          - location
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTimestamp:
              description: Creation timestamp in RFC3339 text format.
              type: string
            labelFingerprint:
              description: |-
                The fingerprint used for optimistic locking of this resource.  Used
                internally during updates.
              type: string
            selfLink:
              type: string
            users:
              description: The URLs of the resources that are using this address.
              items:
                type: string
              type: array
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computebackendbuckets.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeBackendBucket
    plural: computebackendbuckets
    shortNames:
    - gcpcomputebackendbucket
    - gcpcomputebackendbuckets
    singular: computebackendbucket
  scope: Namespaced
  validation:
    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:
            bucketRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            cdnPolicy:
              description: Cloud CDN configuration for this Backend Bucket.
              properties:
                signedUrlCacheMaxAgeSec:
                  description: |-
                    Maximum number of seconds the response to a signed URL request will
                    be considered fresh. After this time period,
                    the response will be revalidated before being served.
                    When serving responses to signed URL requests,
                    Cloud CDN will internally behave as though
                    all responses from this backend had a "Cache-Control: public,
                    max-age=[TTL]" header, regardless of any existing Cache-Control
                    header. The actual headers served in responses will not be altered.
                  type: integer
              required:
              - signedUrlCacheMaxAgeSec
              type: object
            description:
              description: |-
                An optional textual description of the resource; provided by the
                client when the resource is created.
              type: string
            enableCdn:
              description: If true, enable Cloud CDN for this BackendBucket.
              type: boolean
          required:
          - bucketRef
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTimestamp:
              description: Creation timestamp in RFC3339 text format.
              type: string
            selfLink:
              type: string
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computebackendservices.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeBackendService
    plural: computebackendservices
    shortNames:
    - gcpcomputebackendservice
    - gcpcomputebackendservices
    singular: computebackendservice
  scope: Namespaced
  validation:
    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:
            affinityCookieTtlSec:
              description: |-
                Lifetime of cookies in seconds if session_affinity is
                GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts
                only until the end of the browser session (or equivalent). The
                maximum allowed value for TTL is one day.

                When the load balancing scheme is INTERNAL, this field is not used.
              type: integer
            backend:
              description: The set of backends that serve this BackendService.
              items:
                properties:
                  balancingMode:
                    description: |-
                      Specifies the balancing mode for this backend.

                      For global HTTP(S) or TCP/SSL load balancing, the default is
                      UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S))
                      and CONNECTION (for TCP/SSL).
                    type: string
                  capacityScaler:
                    description: |-
                      A multiplier applied to the group's maximum servicing capacity
                      (based on UTILIZATION, RATE or CONNECTION).

                      Default value is 1, which means the group will serve up to 100%
                      of its configured capacity (depending on balancingMode). A
                      setting of 0 means the group is completely drained, offering
                      0% of its available Capacity. Valid range is [0.0,1.0].
                    type: number
                  description:
                    description: |-
                      An optional description of this resource.
                      Provide this property when you create the resource.
                    type: string
                  group:
                    properties:
                      instanceGroupRef:
                        oneOf:
                        - not:
                            required:
                            - external
                          required:
                          - testKptName # {"$kpt-set":"name"}
                        - not:
                            anyOf:
                            - required:
                              - testKptName # {"$kpt-set":"name"}
                            - required:
                              - namespace
                          required:
                          - external
                        properties:
                          external:
                            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
                      networkEndpointGroupRef:
                        oneOf:
                        - not:
                            required:
                            - external
                          required:
                          - testKptName # {"$kpt-set":"name"}
                        - not:
                            anyOf:
                            - required:
                              - testKptName # {"$kpt-set":"name"}
                            - required:
                              - namespace
                          required:
                          - external
                        properties:
                          external:
                            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
                    type: object
                  maxConnections:
                    description: |-
                      The max number of simultaneous connections for the group. Can
                      be used with either CONNECTION or UTILIZATION balancing modes.

                      For CONNECTION mode, either maxConnections or one
                      of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
                      as appropriate for group type, must be set.
                    type: integer
                  maxConnectionsPerEndpoint:
                    description: |-
                      The max number of simultaneous connections that a single backend
                      network endpoint can handle. This is used to calculate the
                      capacity of the group. Can be used in either CONNECTION or
                      UTILIZATION balancing modes.

                      For CONNECTION mode, either
                      maxConnections or maxConnectionsPerEndpoint must be set.
                    type: integer
                  maxConnectionsPerInstance:
                    description: |-
                      The max number of simultaneous connections that a single
                      backend instance can handle. This is used to calculate the
                      capacity of the group. Can be used in either CONNECTION or
                      UTILIZATION balancing modes.

                      For CONNECTION mode, either maxConnections or
                      maxConnectionsPerInstance must be set.
                    type: integer
                  maxRate:
                    description: |-
                      The max requests per second (RPS) of the group.

                      Can be used with either RATE or UTILIZATION balancing modes,
                      but required if RATE mode. For RATE mode, either maxRate or one
                      of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
                      group type, must be set.
                    type: integer
                  maxRatePerEndpoint:
                    description: |-
                      The max requests per second (RPS) that a single backend network
                      endpoint can handle. This is used to calculate the capacity of
                      the group. Can be used in either balancing mode. For RATE mode,
                      either maxRate or maxRatePerEndpoint must be set.
                    type: number
                  maxRatePerInstance:
                    description: |-
                      The max requests per second (RPS) that a single backend
                      instance can handle. This is used to calculate the capacity of
                      the group. Can be used in either balancing mode. For RATE mode,
                      either maxRate or maxRatePerInstance must be set.
                    type: number
                  maxUtilization:
                    description: |-
                      Used when balancingMode is UTILIZATION. This ratio defines the
                      CPU utilization target for the group. The default is 0.8. Valid
                      range is [0.0, 1.0].
                    type: number
                required:
                - group
                type: object
              type: array
            cdnPolicy:
              description: Cloud CDN configuration for this BackendService.
              properties:
                cacheKeyPolicy:
                  description: The CacheKeyPolicy for this CdnPolicy.
                  properties:
                    includeHost:
                      description: If true requests to different hosts will be cached
                        separately.
                      type: boolean
                    includeProtocol:
                      description: If true, http and https requests will be cached
                        separately.
                      type: boolean
                    includeQueryString:
                      description: |-
                        If true, include query string parameters in the cache key
                        according to query_string_whitelist and
                        query_string_blacklist. If neither is set, the entire query
                        string will be included.

                        If false, the query string will be excluded from the cache
                        key entirely.
                      type: boolean
                    queryStringBlacklist:
                      description: |-
                        Names of query string parameters to exclude in cache keys.

                        All other parameters will be included. Either specify
                        query_string_whitelist or query_string_blacklist, not both.
                        '&' and '=' will be percent encoded and not treated as
                        delimiters.
                      items:
                        type: string
                      type: array
                    queryStringWhitelist:
                      description: |-
                        Names of query string parameters to include in cache keys.

                        All other parameters will be excluded. Either specify
                        query_string_whitelist or query_string_blacklist, not both.
                        '&' and '=' will be percent encoded and not treated as
                        delimiters.
                      items:
                        type: string
                      type: array
                  type: object
                signedUrlCacheMaxAgeSec:
                  description: |-
                    Maximum number of seconds the response to a signed URL request
                    will be considered fresh, defaults to 1hr (3600s). After this
                    time period, the response will be revalidated before
                    being served.

                    When serving responses to signed URL requests, Cloud CDN will
                    internally behave as though all responses from this backend had a
                    "Cache-Control: public, max-age=[TTL]" header, regardless of any
                    existing Cache-Control header. The actual headers served in
                    responses will not be altered.
                  type: integer
              type: object
            circuitBreakers:
              description: |-
                Settings controlling the volume of connections to a backend service. This field
                is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED.
              properties:
                connectTimeout:
                  description: The timeout for new network connections to hosts.
                  properties:
                    nanos:
                      description: |-
                        Span of time that's a fraction of a second at nanosecond
                        resolution. Durations less than one second are represented
                        with a 0 seconds field and a positive nanos field. Must
                        be from 0 to 999,999,999 inclusive.
                      type: integer
                    seconds:
                      description: |-
                        Span of time at a resolution of a second.
                        Must be from 0 to 315,576,000,000 inclusive.
                      type: integer
                  required:
                  - seconds
                  type: object
                maxConnections:
                  description: |-
                    The maximum number of connections to the backend cluster.
                    Defaults to 1024.
                  type: integer
                maxPendingRequests:
                  description: |-
                    The maximum number of pending requests to the backend cluster.
                    Defaults to 1024.
                  type: integer
                maxRequests:
                  description: |-
                    The maximum number of parallel requests to the backend cluster.
                    Defaults to 1024.
                  type: integer
                maxRequestsPerConnection:
                  description: |-
                    Maximum requests for a single backend connection. This parameter
                    is respected by both the HTTP/1.1 and HTTP/2 implementations. If
                    not specified, there is no limit. Setting this parameter to 1
                    will effectively disable keep alive.
                  type: integer
                maxRetries:
                  description: |-
                    The maximum number of parallel retries to the backend cluster.
                    Defaults to 3.
                  type: integer
              type: object
            connectionDrainingTimeoutSec:
              description: |-
                Time for which instance will be drained (not accept new
                connections, but still work to finish started).
              type: integer
            consistentHash:
              description: |-
                Consistent Hash-based load balancing can be used to provide soft session
                affinity based on HTTP headers, cookies or other properties. This load balancing
                policy is applicable only for HTTP connections. The affinity to a particular
                destination host will be lost when one or more hosts are added/removed from the
                destination service. This field specifies parameters that control consistent
                hashing. This field only applies if the load_balancing_scheme is set to
                INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is
                set to MAGLEV or RING_HASH.
              properties:
                httpCookie:
                  description: |-
                    Hash is based on HTTP Cookie. This field describes a HTTP cookie
                    that will be used as the hash key for the consistent hash load
                    balancer. If the cookie is not present, it will be generated.
                    This field is applicable if the sessionAffinity is set to HTTP_COOKIE.
                  properties:
                    name:
                      description: Name of the cookie.
                      type: string
                    path:
                      description: Path to set for the cookie.
                      type: string
                    ttl:
                      description: Lifetime of the cookie.
                      properties:
                        nanos:
                          description: |-
                            Span of time that's a fraction of a second at nanosecond
                            resolution. Durations less than one second are represented
                            with a 0 seconds field and a positive nanos field. Must
                            be from 0 to 999,999,999 inclusive.
                          type: integer
                        seconds:
                          description: |-
                            Span of time at a resolution of a second.
                            Must be from 0 to 315,576,000,000 inclusive.
                          type: integer
                      required:
                      - seconds
                      type: object
                  type: object
                httpHeaderName:
                  description: |-
                    The hash based on the value of the specified header field.
                    This field is applicable if the sessionAffinity is set to HEADER_FIELD.
                  type: string
                minimumRingSize:
                  description: |-
                    The minimum number of virtual nodes to use for the hash ring.
                    Larger ring sizes result in more granular load
                    distributions. If the number of hosts in the load balancing pool
                    is larger than the ring size, each host will be assigned a single
                    virtual node.
                    Defaults to 1024.
                  type: integer
              type: object
            customRequestHeaders:
              description: |-
                Headers that the HTTP/S load balancer should add to proxied
                requests.
              items:
                type: string
              type: array
            description:
              description: An optional description of this resource.
              type: string
            enableCdn:
              description: If true, enable Cloud CDN for this BackendService.
              type: boolean
            failoverPolicy:
              description: Policy for failovers.
              properties:
                disableConnectionDrainOnFailover:
                  description: |-
                    On failover or failback, this field indicates whether connection drain
                    will be honored. Setting this to true has the following effect: connections
                    to the old active pool are not drained. Connections to the new active pool
                    use the timeout of 10 min (currently fixed). Setting to false has the
                    following effect: both old and new connections will have a drain timeout
                    of 10 min.
                    This can be set to true only if the protocol is TCP.
                    The default is false.
                  type: boolean
                dropTrafficIfUnhealthy:
                  description: |-
                    This option is used only when no healthy VMs are detected in the primary
                    and backup instance groups. When set to true, traffic is dropped. When
                    set to false, new connections are sent across all VMs in the primary group.
                    The default is false.
                  type: boolean
                failoverRatio:
                  description: |-
                    The value of the field must be in [0, 1]. If the ratio of the healthy
                    VMs in the primary backend is at or below this number, traffic arriving
                    at the load-balanced IP will be directed to the failover backend.
                    In case where 'failoverRatio' is not set or all the VMs in the backup
                    backend are unhealthy, the traffic will be directed back to the primary
                    backend in the "force" mode, where traffic will be spread to the healthy
                    VMs with the best effort, or to all VMs when no VM is healthy.
                    This field is only used with l4 load balancing.
                  type: number
              type: object
            healthChecks:
              items:
                properties:
                  healthCheckRef:
                    oneOf:
                    - not:
                        required:
                        - external
                      required:
                      - testKptName # {"$kpt-set":"name"}
                    - not:
                        anyOf:
                        - required:
                          - testKptName # {"$kpt-set":"name"}
                        - required:
                          - namespace
                      required:
                      - external
                    properties:
                      external:
                        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
                  httpHealthCheckRef:
                    oneOf:
                    - not:
                        required:
                        - external
                      required:
                      - testKptName # {"$kpt-set":"name"}
                    - not:
                        anyOf:
                        - required:
                          - testKptName # {"$kpt-set":"name"}
                        - required:
                          - namespace
                      required:
                      - external
                    properties:
                      external:
                        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
                type: object
              type: array
            iap:
              description: Settings for enabling Cloud Identity Aware Proxy
              properties:
                oauth2ClientId:
                  description: OAuth2 Client ID for IAP
                  type: string
                oauth2ClientSecret:
                  description: OAuth2 Client Secret for IAP
                  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:
                          - testKptName # {"$kpt-set":"name"}
                          - key
                          type: object
                      type: object
                  type: object
                oauth2ClientSecretSha256:
                  description: OAuth2 Client Secret SHA-256 for IAP
                  type: string
              required:
              - oauth2ClientId
              - oauth2ClientSecret
              type: object
            loadBalancingScheme:
              description: |-
                Indicates whether the backend service will be used with internal or
                external load balancing. A backend service created for one type of
                load balancing cannot be used with the other. Must be 'EXTERNAL' or
                'INTERNAL_SELF_MANAGED' for a global backend service. Defaults to 'EXTERNAL'.
              type: string
            localityLbPolicy:
              description: |-
                The load balancing algorithm used within the scope of the locality.
                The possible values are -

                ROUND_ROBIN - This is a simple policy in which each healthy backend
                              is selected in round robin order.

                LEAST_REQUEST - An O(1) algorithm which selects two random healthy
                                hosts and picks the host which has fewer active requests.

                RING_HASH - The ring/modulo hash load balancer implements consistent
                            hashing to backends. The algorithm has the property that the
                            addition/removal of a host from a set of N hosts only affects
                            1/N of the requests.

                RANDOM - The load balancer selects a random healthy host.

                ORIGINAL_DESTINATION - Backend host is selected based on the client
                                       connection metadata, i.e., connections are opened
                                       to the same address as the destination address of
                                       the incoming connection before the connection
                                       was redirected to the load balancer.

                MAGLEV - used as a drop in replacement for the ring hash load balancer.
                         Maglev is not as stable as ring hash but has faster table lookup
                         build times and host selection times. For more information about
                         Maglev, refer to https://ai.google/research/pubs/pub44824

                This field is applicable only when the load_balancing_scheme is set to
                INTERNAL_SELF_MANAGED.
              type: string
            location:
              description: 'Location represents the geographical location of the ComputeBackendService.
                Specify a region name or "global" for global resources. Reference:
                GCP definition of regions/zones (https://cloud.google.com/compute/docs/regions-zones/)'
              type: string
            logConfig:
              description: |-
                This field denotes the logging options for the load balancer traffic served by this backend service.
                If logging is enabled, logs will be exported to Stackdriver.
              properties:
                enable:
                  description: Whether to enable logging for the load balancer traffic
                    served by this backend service.
                  type: boolean
                sampleRate:
                  description: |-
                    This field can only be specified if logging is enabled for this backend service. The value of
                    the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
                    where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
                    The default value is 1.0.
                  type: number
              type: object
            networkRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            outlierDetection:
              description: |-
                Settings controlling eviction of unhealthy hosts from the load balancing pool.
                This field is applicable only when the load_balancing_scheme is set
                to INTERNAL_SELF_MANAGED.
              properties:
                baseEjectionTime:
                  description: |-
                    The base time that a host is ejected for. The real time is equal to the base
                    time multiplied by the number of times the host has been ejected. Defaults to
                    30000ms or 30s.
                  properties:
                    nanos:
                      description: |-
                        Span of time that's a fraction of a second at nanosecond resolution. Durations
                        less than one second are represented with a 0 'seconds' field and a positive
                        'nanos' field. Must be from 0 to 999,999,999 inclusive.
                      type: integer
                    seconds:
                      description: |-
                        Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
                        inclusive.
                      type: integer
                  required:
                  - seconds
                  type: object
                consecutiveErrors:
                  description: |-
                    Number of errors before a host is ejected from the connection pool. When the
                    backend host is accessed over HTTP, a 5xx return code qualifies as an error.
                    Defaults to 5.
                  type: integer
                consecutiveGatewayFailure:
                  description: |-
                    The number of consecutive gateway failures (502, 503, 504 status or connection
                    errors that are mapped to one of those status codes) before a consecutive
                    gateway failure ejection occurs. Defaults to 5.
                  type: integer
                enforcingConsecutiveErrors:
                  description: |-
                    The percentage chance that a host will be actually ejected when an outlier
                    status is detected through consecutive 5xx. This setting can be used to disable
                    ejection or to ramp it up slowly. Defaults to 100.
                  type: integer
                enforcingConsecutiveGatewayFailure:
                  description: |-
                    The percentage chance that a host will be actually ejected when an outlier
                    status is detected through consecutive gateway failures. This setting can be
                    used to disable ejection or to ramp it up slowly. Defaults to 0.
                  type: integer
                enforcingSuccessRate:
                  description: |-
                    The percentage chance that a host will be actually ejected when an outlier
                    status is detected through success rate statistics. This setting can be used to
                    disable ejection or to ramp it up slowly. Defaults to 100.
                  type: integer
                interval:
                  description: |-
                    Time interval between ejection sweep analysis. This can result in both new
                    ejections as well as hosts being returned to service. Defaults to 10 seconds.
                  properties:
                    nanos:
                      description: |-
                        Span of time that's a fraction of a second at nanosecond resolution. Durations
                        less than one second are represented with a 0 'seconds' field and a positive
                        'nanos' field. Must be from 0 to 999,999,999 inclusive.
                      type: integer
                    seconds:
                      description: |-
                        Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
                        inclusive.
                      type: integer
                  required:
                  - seconds
                  type: object
                maxEjectionPercent:
                  description: |-
                    Maximum percentage of hosts in the load balancing pool for the backend service
                    that can be ejected. Defaults to 10%.
                  type: integer
                successRateMinimumHosts:
                  description: |-
                    The number of hosts in a cluster that must have enough request volume to detect
                    success rate outliers. If the number of hosts is less than this setting, outlier
                    detection via success rate statistics is not performed for any host in the
                    cluster. Defaults to 5.
                  type: integer
                successRateRequestVolume:
                  description: |-
                    The minimum number of total requests that must be collected in one interval (as
                    defined by the interval duration above) to include this host in success rate
                    based outlier detection. If the volume is lower than this setting, outlier
                    detection via success rate statistics is not performed for that host. Defaults
                    to 100.
                  type: integer
                successRateStdevFactor:
                  description: |-
                    This factor is used to determine the ejection threshold for success rate outlier
                    ejection. The ejection threshold is the difference between the mean success
                    rate, and the product of this factor and the standard deviation of the mean
                    success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
                    by a thousand to get a double. That is, if the desired factor is 1.9, the
                    runtime value should be 1900. Defaults to 1900.
                  type: integer
              type: object
            portName:
              description: |-
                Name of backend port. The same name should appear in the instance
                groups referenced by this service. Required when the load balancing
                scheme is EXTERNAL.
              type: string
            protocol:
              description: |-
                The protocol this BackendService uses to communicate with backends.
                Possible values are HTTP, HTTPS, HTTP2, TCP, and SSL. The default is
                HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer
                types and may result in errors if used with the GA API.
              type: string
            securityPolicyRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            sessionAffinity:
              description: |-
                Type of session affinity to use. The default is NONE. Session affinity is
                not applicable if the protocol is UDP.
              type: string
            timeoutSec:
              description: |-
                How many seconds to wait for the backend before considering it a
                failed request. Default is 30 seconds. Valid range is [1, 86400].
              type: integer
          required:
          - healthChecks
          - location
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTimestamp:
              description: Creation timestamp in RFC3339 text format.
              type: string
            fingerprint:
              description: |-
                Fingerprint of this resource. A hash of the contents stored in this
                object. This field is used in optimistic locking.
              type: string
            selfLink:
              type: string
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computedisks.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeDisk
    plural: computedisks
    shortNames:
    - gcpcomputedisk
    - gcpcomputedisks
    singular: computedisk
  scope: Namespaced
  validation:
    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:
            description:
              description: |-
                An optional description of this resource. Provide this property when
                you create the resource.
              type: string
            diskEncryptionKey:
              description: |-
                Encrypts the disk using a customer-supplied encryption key.

                After you encrypt a disk with a customer-supplied key, you must
                provide the same key if you use the disk later (e.g. to create a disk
                snapshot or an image, or to attach the disk to a virtual machine).

                Customer-supplied encryption keys do not protect access to metadata of
                the disk.

                If you do not provide an encryption key when creating the disk, then
                the disk will be encrypted using an automatically generated key and
                you do not need to provide a key to use the disk later.
              properties:
                kmsKeyRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
                rawKey:
                  description: |-
                    Specifies a 256-bit customer-supplied encryption key, encoded in
                    RFC 4648 base64 to either encrypt or decrypt this resource.
                  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:
                          - testKptName # {"$kpt-set":"name"}
                          - key
                          type: object
                      type: object
                  type: object
                sha256:
                  description: |-
                    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
                    encryption key that protects this resource.
                  type: string
              type: object
            imageRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            location:
              description: 'Location represents the geographical location of the ComputeDisk.
                Specify a region name or a zone name. Reference: GCP definition of
                regions/zones (https://cloud.google.com/compute/docs/regions-zones/)'
              type: string
            physicalBlockSizeBytes:
              description: |-
                Physical block size of the persistent disk, in bytes. If not present
                in a request, a default value is used. Currently supported sizes
                are 4096 and 16384, other sizes may be added in the future.
                If an unsupported value is requested, the error message will list
                the supported values for the caller's project.
              type: integer
            replicaZones:
              description: URLs of the zones where the disk should be replicated to.
              items:
                type: string
              type: array
            resourcePolicies:
              items:
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - testKptName # {"$kpt-set":"name"}
                - not:
                    anyOf:
                    - required:
                      - testKptName # {"$kpt-set":"name"}
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    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
              type: array
            size:
              description: |-
                Size of the persistent disk, specified in GB. You can specify this
                field when creating a persistent disk using the 'image' or
                'snapshot' parameter, or specify it alone to create an empty
                persistent disk.

                If you specify this field along with 'image' or 'snapshot',
                the value must not be less than the size of the image
                or the size of the snapshot.
              type: integer
            snapshotRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            sourceImageEncryptionKey:
              description: |-
                The customer-supplied encryption key of the source image. Required if
                the source image is protected by a customer-supplied encryption key.
              properties:
                kmsKeyRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
                rawKey:
                  description: |-
                    Specifies a 256-bit customer-supplied encryption key, encoded in
                    RFC 4648 base64 to either encrypt or decrypt this resource.
                  type: string
                sha256:
                  description: |-
                    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
                    encryption key that protects this resource.
                  type: string
              type: object
            sourceSnapshotEncryptionKey:
              description: |-
                The customer-supplied encryption key of the source snapshot. Required
                if the source snapshot is protected by a customer-supplied encryption
                key.
              properties:
                kmsKeyRef:
                  oneOf:
                  - not:
                      required:
                      - external
                    required:
                    - testKptName # {"$kpt-set":"name"}
                  - not:
                      anyOf:
                      - required:
                        - testKptName # {"$kpt-set":"name"}
                      - required:
                        - namespace
                    required:
                    - external
                  properties:
                    external:
                      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
                rawKey:
                  description: |-
                    Specifies a 256-bit customer-supplied encryption key, encoded in
                    RFC 4648 base64 to either encrypt or decrypt this resource.
                  type: string
                sha256:
                  description: |-
                    The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
                    encryption key that protects this resource.
                  type: string
              type: object
            type:
              description: |-
                URL of the disk type resource describing which disk type to use to
                create the disk. Provide this when creating the disk.
              type: string
          required:
          - location
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTimestamp:
              description: Creation timestamp in RFC3339 text format.
              type: string
            labelFingerprint:
              description: |-
                The fingerprint used for optimistic locking of this resource.  Used
                internally during updates.
              type: string
            lastAttachTimestamp:
              description: Last attach timestamp in RFC3339 text format.
              type: string
            lastDetachTimestamp:
              description: Last detach timestamp in RFC3339 text format.
              type: string
            selfLink:
              type: string
            sourceImageId:
              description: |-
                The ID value of the image used to create this disk. This value
                identifies the exact image that was used to create this persistent
                disk. For example, if you created the persistent disk from an image
                that was later deleted and recreated under the same name, the source
                image ID would identify the exact version of the image that was used.
              type: string
            sourceSnapshotId:
              description: |-
                The unique ID of the snapshot used to create this disk. This value
                identifies the exact snapshot that was used to create this persistent
                disk. For example, if you created the persistent disk from a snapshot
                that was later deleted and recreated under the same name, the source
                snapshot ID would identify the exact version of the snapshot that was
                used.
              type: string
            users:
              description: |-
                Links to the users of the disk (attached instances) in form:
                project/zones/zone/instances/instance
              items:
                type: string
              type: array
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computeexternalvpngateways.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeExternalVPNGateway
    plural: computeexternalvpngateways
    shortNames:
    - gcpcomputeexternalvpngateway
    - gcpcomputeexternalvpngateways
    singular: computeexternalvpngateway
  scope: Namespaced
  validation:
    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:
            description:
              description: An optional description of this resource.
              type: string
            interface:
              description: A list of interfaces on this external VPN gateway.
              items:
                properties:
                  id:
                    description: |-
                      The numberic ID for this interface. Allowed values are based on the redundancy type
                      of this external VPN gateway
                      * '0 - SINGLE_IP_INTERNALLY_REDUNDANT'
                      * '0, 1 - TWO_IPS_REDUNDANCY'
                      * '0, 1, 2, 3 - FOUR_IPS_REDUNDANCY'
                    type: integer
                  ipAddress:
                    description: |-
                      IP address of the interface in the external VPN gateway.
                      Only IPv4 is supported. This IP address can be either from
                      your on-premise gateway or another Cloud provider’s VPN gateway,
                      it cannot be an IP address from Google Compute Engine.
                    type: string
                type: object
              type: array
            redundancyType:
              description: Indicates the redundancy type of this external VPN gateway
              type: string
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            selfLink:
              type: string
          type: object
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    cnrm.cloud.google.com/version: 1.7.1
  creationTimestamp: null
  labels:
    cnrm.cloud.google.com/managed-by-kcc: "true"
    cnrm.cloud.google.com/system: "true"
    cnrm.cloud.google.com/tf2crd: "true"
  name: computefirewalls.compute.cnrm.cloud.google.com
spec:
  group: compute.cnrm.cloud.google.com
  names:
    categories:
    - gcp
    kind: ComputeFirewall
    plural: computefirewalls
    shortNames:
    - gcpcomputefirewall
    - gcpcomputefirewalls
    singular: computefirewall
  scope: Namespaced
  validation:
    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:
            allow:
              description: |-
                The list of ALLOW rules specified by this firewall. Each rule
                specifies a protocol and port-range tuple that describes a permitted
                connection.
              items:
                properties:
                  ports:
                    description: |-
                      An optional list of ports to which this rule applies. This field
                      is only applicable for UDP or TCP protocol. Each entry must be
                      either an integer or a range. If not specified, this rule
                      applies to connections through any port.

                      Example inputs include: ["22"], ["80","443"], and
                      ["12345-12349"].
                    items:
                      type: string
                    type: array
                  protocol:
                    description: |-
                      The IP protocol to which this rule applies. The protocol type is
                      required when creating a firewall rule. This value can either be
                      one of the following well known protocol strings (tcp, udp,
                      icmp, esp, ah, sctp), or the IP protocol number.
                    type: string
                required:
                - protocol
                type: object
              type: array
            deny:
              description: |-
                The list of DENY rules specified by this firewall. Each rule specifies
                a protocol and port-range tuple that describes a denied connection.
              items:
                properties:
                  ports:
                    description: |-
                      An optional list of ports to which this rule applies. This field
                      is only applicable for UDP or TCP protocol. Each entry must be
                      either an integer or a range. If not specified, this rule
                      applies to connections through any port.

                      Example inputs include: ["22"], ["80","443"], and
                      ["12345-12349"].
                    items:
                      type: string
                    type: array
                  protocol:
                    description: |-
                      The IP protocol to which this rule applies. The protocol type is
                      required when creating a firewall rule. This value can either be
                      one of the following well known protocol strings (tcp, udp,
                      icmp, esp, ah, sctp), or the IP protocol number.
                    type: string
                required:
                - protocol
                type: object
              type: array
            description:
              description: |-
                An optional description of this resource. Provide this property when
                you create the resource.
              type: string
            destinationRanges:
              description: |-
                If destination ranges are specified, the firewall will apply only to
                traffic that has destination IP address in these ranges. These ranges
                must be expressed in CIDR format. Only IPv4 is supported.
              items:
                type: string
              type: array
            direction:
              description: |-
                Direction of traffic to which this firewall applies; default is
                INGRESS. Note: For INGRESS traffic, it is NOT supported to specify
                destinationRanges; For EGRESS traffic, it is NOT supported to specify
                sourceRanges OR sourceTags.
              type: string
            disabled:
              description: |-
                Denotes whether the firewall rule is disabled, i.e not applied to the
                network it is associated with. When set to true, the firewall rule is
                not enforced and the network behaves as if it did not exist. If this
                is unspecified, the firewall rule will be enabled.
              type: boolean
            enableLogging:
              description: |-
                This field denotes whether to enable logging for a particular
                firewall rule. If logging is enabled, logs will be exported to
                Stackdriver.
              type: boolean
            networkRef:
              oneOf:
              - not:
                  required:
                  - external
                required:
                - testKptName # {"$kpt-set":"name"}
              - not:
                  anyOf:
                  - required:
                    - testKptName # {"$kpt-set":"name"}
                  - required:
                    - namespace
                required:
                - external
              properties:
                external:
                  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
            priority:
              description: |-
                Priority for this rule. This is an integer between 0 and 65535, both
                inclusive. When not specified, the value assumed is 1000. Relative
                priorities determine precedence of conflicting rules. Lower value of
                priority implies higher precedence (eg, a rule with priority 0 has
                higher precedence than a rule with priority 1). DENY rules take
                precedence over ALLOW rules having equal priority.
              type: integer
            sourceRanges:
              description: |-
                If source ranges are specified, the firewall will apply only to
                traffic that has source IP address in these ranges. These ranges must
                be expressed in CIDR format. One or both of sourceRanges and
                sourceTags may be set. If both properties are set, the firewall will
                apply to traffic that has source IP address within sourceRanges OR the
                source IP that belongs to a tag listed in the sourceTags property. The
                connection does not need to match both properties for the firewall to
                apply. Only IPv4 is supported.
              items:
                type: string
              type: array
            sourceServiceAccounts:
              items:
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - testKptName # {"$kpt-set":"name"}
                - not:
                    anyOf:
                    - required:
                      - testKptName # {"$kpt-set":"name"}
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    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
              type: array
            sourceTags:
              description: |-
                If source tags are specified, the firewall will apply only to traffic
                with source IP that belongs to a tag listed in source tags. Source
                tags cannot be used to control traffic to an instance's external IP
                address. Because tags are associated with an instance, not an IP
                address. One or both of sourceRanges and sourceTags may be set. If
                both properties are set, the firewall will apply to traffic that has
                source IP address within sourceRanges OR the source IP that belongs to
                a tag listed in the sourceTags property. The connection does not need
                to match both properties for the firewall to apply.
              items:
                type: string
              type: array
            targetServiceAccounts:
              items:
                oneOf:
                - not:
                    required:
                    - external
                  required:
                  - testKptName # {"$kpt-set":"name"}
                - not:
                    anyOf:
                    - required:
                      - testKptName # {"$kpt-set":"name"}
                    - required:
                      - namespace
                  required:
                  - external
                properties:
                  external:
                    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
              type: array
            targetTags:
              description: |-
                A list of instance tags indicating sets of instances located in the
                network that may make network connections as specified in allowed[].
                If no targetTags are specified, the firewall rule applies to all
                instances on the specified network.
              items:
                type: string
              type: array
          required:
          - networkRef
          type: object
        status:
          properties:
            conditions:
              description: Conditions represents 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
            creationTimestamp:
              description: Creation timestamp in RFC3339 text format.
              type: string
            selfLink:
              type: string
          type: object
      required:
      - spec
      type: object
  version: v1beta1
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
