diff --git a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml index 7c3e0f951a..354cef88ee 100644 --- a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml +++ b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml index 894876aff5..09fd8290b4 100644 --- a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml +++ b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml b/crds/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml index fa93c95dd0..b1c4b2c033 100644 --- a/crds/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml +++ b/crds/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml b/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml index 3dcb69101d..6456d1085c 100644 --- a/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml +++ b/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigquery_v1beta1_bigquerydataset.yaml b/crds/bigquery_v1beta1_bigquerydataset.yaml index f099575b70..fd1ec20181 100644 --- a/crds/bigquery_v1beta1_bigquerydataset.yaml +++ b/crds/bigquery_v1beta1_bigquerydataset.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigquery_v1beta1_bigqueryjob.yaml b/crds/bigquery_v1beta1_bigqueryjob.yaml index 7b1fbcf504..5c9cf2d0a6 100644 --- a/crds/bigquery_v1beta1_bigqueryjob.yaml +++ b/crds/bigquery_v1beta1_bigqueryjob.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigquery_v1beta1_bigquerytable.yaml b/crds/bigquery_v1beta1_bigquerytable.yaml index 849a345c5e..8227d1df2f 100644 --- a/crds/bigquery_v1beta1_bigquerytable.yaml +++ b/crds/bigquery_v1beta1_bigquerytable.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigtable_v1beta1_bigtableappprofile.yaml b/crds/bigtable_v1beta1_bigtableappprofile.yaml index 610fe33183..0d0a2b4647 100644 --- a/crds/bigtable_v1beta1_bigtableappprofile.yaml +++ b/crds/bigtable_v1beta1_bigtableappprofile.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigtable_v1beta1_bigtablegcpolicy.yaml b/crds/bigtable_v1beta1_bigtablegcpolicy.yaml index c470fda78e..10d0aee608 100644 --- a/crds/bigtable_v1beta1_bigtablegcpolicy.yaml +++ b/crds/bigtable_v1beta1_bigtablegcpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigtable_v1beta1_bigtableinstance.yaml b/crds/bigtable_v1beta1_bigtableinstance.yaml index d8b09ece90..feba1ee8cf 100644 --- a/crds/bigtable_v1beta1_bigtableinstance.yaml +++ b/crds/bigtable_v1beta1_bigtableinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/bigtable_v1beta1_bigtabletable.yaml b/crds/bigtable_v1beta1_bigtabletable.yaml index e56f09d5a5..a6509073c0 100644 --- a/crds/bigtable_v1beta1_bigtabletable.yaml +++ b/crds/bigtable_v1beta1_bigtabletable.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/binaryauthorization_v1beta1_binaryauthorizationattestor.yaml b/crds/binaryauthorization_v1beta1_binaryauthorizationattestor.yaml index f3570950ac..a882e3348b 100644 --- a/crds/binaryauthorization_v1beta1_binaryauthorizationattestor.yaml +++ b/crds/binaryauthorization_v1beta1_binaryauthorizationattestor.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/binaryauthorization_v1beta1_binaryauthorizationpolicy.yaml b/crds/binaryauthorization_v1beta1_binaryauthorizationpolicy.yaml index 9dc5434406..182ff05e6d 100644 --- a/crds/binaryauthorization_v1beta1_binaryauthorizationpolicy.yaml +++ b/crds/binaryauthorization_v1beta1_binaryauthorizationpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/cloudbuild_v1beta1_cloudbuildtrigger.yaml b/crds/cloudbuild_v1beta1_cloudbuildtrigger.yaml index f1764cecfd..986b190ef6 100644 --- a/crds/cloudbuild_v1beta1_cloudbuildtrigger.yaml +++ b/crds/cloudbuild_v1beta1_cloudbuildtrigger.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -782,6 +782,41 @@ spec: required: - topicRef type: object + serviceAccountRef: + description: |- + The service account used for all user-controlled operations including + triggers.patch, triggers.run, builds.create, and builds.cancel. + + If no service account is set, then the standard Cloud Build service account + ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + + When populating via the external field, the following format is supported: + projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The email of an IAMServiceAccount. + 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 substitutions: additionalProperties: type: string diff --git a/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml b/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml index 4e835acd58..30dd02514f 100644 --- a/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml +++ b/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml b/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml index f3f2e398d6..913bdb0885 100644 --- a/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml +++ b/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computeaddress.yaml b/crds/compute_v1beta1_computeaddress.yaml index b5d1c1d5e5..35c8a2b675 100644 --- a/crds/compute_v1beta1_computeaddress.yaml +++ b/crds/compute_v1beta1_computeaddress.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computebackendbucket.yaml b/crds/compute_v1beta1_computebackendbucket.yaml index ed8fa9cde6..140c616fb8 100644 --- a/crds/compute_v1beta1_computebackendbucket.yaml +++ b/crds/compute_v1beta1_computebackendbucket.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computebackendservice.yaml b/crds/compute_v1beta1_computebackendservice.yaml index 09963a4c25..8630f6533b 100644 --- a/crds/compute_v1beta1_computebackendservice.yaml +++ b/crds/compute_v1beta1_computebackendservice.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -415,6 +415,48 @@ spec: Time for which instance will be drained (not accept new connections, but still work to finish started). type: integer + connectionTrackingPolicy: + description: |- + Connection Tracking configuration for this BackendService. + This is available only for Layer 4 Internal Load Balancing and + Network Load Balancing. + properties: + connectionPersistenceOnUnhealthyBackends: + description: |- + Specifies connection persistence when backends are unhealthy. + + If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on + unhealthy backends only for connection-oriented protocols (TCP and SCTP) + and only if the Tracking Mode is PER_CONNECTION (default tracking mode) + or the Session Affinity is configured for 5-tuple. They do not persist + for UDP. + + If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing + connections on the unhealthy backend are never persisted on the unhealthy + backend. They are always diverted to newly selected healthy backends + (unless all backends are unhealthy). + + If set to 'ALWAYS_PERSIST', existing connections always persist on + unhealthy backends regardless of protocol and session affinity. It is + generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"] + type: string + idleTimeoutSec: + description: "Specifies how long to keep a Connection Tracking + entry while there is\nno matching traffic (in seconds). \n\nFor + L4 ILB the minimum(default) is 10 minutes and maximum is 16 + hours.\n\nFor NLB the minimum(default) is 60 seconds and the + maximum is 16 hours." + type: integer + trackingMode: + description: |- + Specifies the key used for connection tracking. There are two options: + 'PER_CONNECTION': The Connection Tracking is performed as per the + Connection Key (default Hash Method) for the specific protocol. + + 'PER_SESSION': The Connection Tracking is performed as per the + configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"] + type: string + type: object consistentHash: description: |- Consistent Hash-based load balancing can be used to provide soft session @@ -632,8 +674,8 @@ spec: from. type: string required: - - name - key + - name type: object type: object type: object diff --git a/crds/compute_v1beta1_computedisk.yaml b/crds/compute_v1beta1_computedisk.yaml index e3d948ba24..f0f36a36d2 100644 --- a/crds/compute_v1beta1_computedisk.yaml +++ b/crds/compute_v1beta1_computedisk.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeexternalvpngateway.yaml b/crds/compute_v1beta1_computeexternalvpngateway.yaml index 21a6e1cde6..d0260dde06 100644 --- a/crds/compute_v1beta1_computeexternalvpngateway.yaml +++ b/crds/compute_v1beta1_computeexternalvpngateway.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computefirewall.yaml b/crds/compute_v1beta1_computefirewall.yaml index 9e35f89eef..dea3a1fd3b 100644 --- a/crds/compute_v1beta1_computefirewall.yaml +++ b/crds/compute_v1beta1_computefirewall.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computefirewallpolicy.yaml b/crds/compute_v1beta1_computefirewallpolicy.yaml index 23587056a3..4cb952faa8 100644 --- a/crds/compute_v1beta1_computefirewallpolicy.yaml +++ b/crds/compute_v1beta1_computefirewallpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computefirewallpolicyrule.yaml b/crds/compute_v1beta1_computefirewallpolicyrule.yaml new file mode 100644 index 0000000000..b6fed808a3 --- /dev/null +++ b/crds/compute_v1beta1_computefirewallpolicyrule.yaml @@ -0,0 +1,294 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: computefirewallpolicyrules.compute.cnrm.cloud.google.com +spec: + group: compute.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ComputeFirewallPolicyRule + plural: computefirewallpolicyrules + shortNames: + - gcpcomputefirewallpolicyrule + - gcpcomputefirewallpolicyrules + singular: computefirewallpolicyrule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + action: + description: The Action to perform when the client connection triggers + the rule. Can currently be either "allow" or "deny()" where valid + values for status are 403, 404, and 502. + type: string + description: + description: An optional description for this resource. + type: string + direction: + description: 'The direction in which this rule applies. Possible values: + INGRESS, EGRESS' + type: string + disabled: + description: Denotes whether the firewall policy rule is disabled. + When set to true, the firewall policy rule is not enforced and traffic + behaves as if it did not exist. If this is unspecified, the firewall + policy rule will be enabled. + type: boolean + enableLogging: + description: 'Denotes whether to enable logging for a particular rule. + If logging is enabled, logs will be exported to the configured export + destination in Stackdriver. Logs may be exported to BigQuery or + Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' + type: boolean + firewallPolicyRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The firewall policy of the resource. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + match: + description: A match condition that incoming traffic is evaluated + against. If it evaluates to true, the corresponding 'action' is + enforced. + properties: + destIPRanges: + description: CIDR IP address range. Maximum number of destination + CIDR IP ranges allowed is 256. + items: + type: string + type: array + layer4Configs: + description: Pairs of IP protocols and ports that the rule should + match. + items: + properties: + ipProtocol: + 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`, + `ipip`, `sctp`), or the IP protocol number. + type: string + 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: ``.' + items: + type: string + type: array + required: + - ipProtocol + type: object + type: array + srcIPRanges: + description: CIDR IP address range. Maximum number of source CIDR + IP ranges allowed is 256. + items: + type: string + type: array + required: + - layer4Configs + type: object + priority: + description: An integer indicating the priority of a rule in the list. + The priority must be a positive value between 0 and 2147483647. + Rules are evaluated from highest to lowest priority where 0 is the + highest priority and 2147483647 is the lowest prority. + format: int64 + type: integer + targetResources: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + targetServiceAccounts: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + required: + - action + - direction + - firewallPolicyRef + - match + - priority + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + kind: + description: Type of the resource. Always `compute#firewallPolicyRule` + for firewall policy rules + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + ruleTupleCount: + description: Calculation of the complexity of a single firewall policy + rule. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/compute_v1beta1_computeforwardingrule.yaml b/crds/compute_v1beta1_computeforwardingrule.yaml index be8ef78222..770c036140 100644 --- a/crds/compute_v1beta1_computeforwardingrule.yaml +++ b/crds/compute_v1beta1_computeforwardingrule.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -72,19 +72,20 @@ spec: spec: properties: allPorts: - description: |- - Immutable. This field can be used with internal load balancer or network load balancer - when the forwarding rule references a backend service, or with the target - field when it references a TargetInstance. Set this to true to - allow packets addressed to any ports to be forwarded to the backends configured - with this forwarding rule. This can be used when the protocol is TCP/UDP, and it - must be set to true when the protocol is set to L3_DEFAULT. - Cannot be set if port or portRange are set. + description: Immutable. This field is used along with the `backend_service` + field for internal load balancing or with the `target` field for + internal TargetInstance. This field cannot be used with `port` or + `portRange` fields. When the load balancing scheme is `INTERNAL` + and protocol is TCP/UDP, specify this field to allow packets addressed + to any ports will be forwarded to the backends configured with this + forwarding rule. type: boolean allowGlobalAccess: - description: |- - If true, clients can access ILB from all regions. - Otherwise only allows from the local region the ILB is located at. + description: This field is used along with the `backend_service` field + for internal load balancing or with the `target` field for internal + TargetInstance. If the field is set to `TRUE`, clients can access + ILB from all regions. Otherwise only allows access from clients + in the same region as the internal load balancer. type: boolean backendServiceRef: description: |- @@ -116,9 +117,8 @@ spec: type: string type: object description: - description: |- - Immutable. An optional description of this resource. Provide this property when - you create the resource. + description: Immutable. An optional description of this resource. + Provide this property when you create the resource. type: string ipAddress: description: |- @@ -177,34 +177,49 @@ spec: type: string type: object ipProtocol: - description: |- - Immutable. The IP protocol to which this rule applies. - - When the load balancing scheme is INTERNAL, only TCP and UDP are - valid. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] + description: Immutable. The IP protocol to which this rule applies. + For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, + `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the + load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are + valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the + load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. + For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing + scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP + Load Balancing, the load balancing scheme is `EXTERNAL`, and one + of `TCP` or `UDP` is valid. type: string ipVersion: description: 'Immutable. The IP Version that will be used by this - global forwarding rule. Possible values: ["IPV4", "IPV6"]' + forwarding rule. Valid options are `IPV4` or `IPV6`. This can only + be specified for an external global forwarding rule. Possible values: + UNSPECIFIED_VERSION, IPV4, IPV6' type: string isMirroringCollector: - description: |- - Immutable. Indicates whether or not this load balancer can be used - as a collector for packet mirroring. To prevent mirroring loops, - instances behind this load balancer will not have their traffic - mirrored even if a PacketMirroring rule applies to them. This - can only be set to true for load balancers that have their - loadBalancingScheme set to INTERNAL. + description: Immutable. Indicates whether or not this load balancer + can be used as a collector for packet mirroring. To prevent mirroring + loops, instances behind this load balancer will not have their traffic + mirrored even if a `PacketMirroring` rule applies to them. This + can only be set to true for load balancers that have their `loadBalancingScheme` + set to `INTERNAL`. type: boolean loadBalancingScheme: description: |- - Immutable. This signifies what the ForwardingRule will be used for and can be - EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic - Cloud VPN gateways, protocol forwarding to VMs from an external IP address, - and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. - INTERNAL is used for protocol forwarding to VMs from an internal IP address, - and internal TCP/UDP load balancers. - INTERNAL_MANAGED is used for internal HTTP(S) load balancers. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] + Immutable. Specifies the forwarding rule type. + + * `EXTERNAL` is used for: + * Classic Cloud VPN gateways + * Protocol forwarding to VMs from an external IP address + * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + * `INTERNAL` is used for: + * Protocol forwarding to VMs from an internal IP address + * Internal TCP/UDP load balancers + * `INTERNAL_MANAGED` is used for: + * Internal HTTP(S) load balancers + * `INTERNAL_SELF_MANAGED` is used for: + * Traffic Director + + For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL type: string location: description: 'Location represents the geographical location of the @@ -213,42 +228,33 @@ spec: type: string metadataFilters: description: |- - Immutable. Opaque filter criteria used by Loadbalancer to restrict routing - configuration to a limited set xDS compliant clients. In their xDS - requests to Loadbalancer, xDS clients present node metadata. If a - match takes place, the relevant routing configuration is made available - to those proxies. + Immutable. Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. - For each metadataFilter in this list, if its filterMatchCriteria is set - to MATCH_ANY, at least one of the filterLabels must match the - corresponding label provided in the metadata. If its filterMatchCriteria - is set to MATCH_ALL, then all of its filterLabels must match with - corresponding labels in the provided metadata. + For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. - metadataFilters specified here can be overridden by those specified in - the UrlMap that this ForwardingRule references. + `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. - metadataFilters only applies to Loadbalancers that have their - loadBalancingScheme set to INTERNAL_SELF_MANAGED. + `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. items: properties: filterLabels: description: |- - Immutable. The list of label value pairs that must match labels in the - provided metadata based on filterMatchCriteria + Immutable. The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` This list must not be empty and can have at the most 64 entries. items: properties: name: description: |- - Immutable. Name of the metadata label. The length must be between - 1 and 1024 characters, inclusive. + Immutable. Name of metadata label. + + The name can have a maximum length of 1024 characters and must be at least 1 character long. type: string value: description: |- - Immutable. The value that the label must match. The value has a maximum - length of 1024 characters. + Immutable. The value of the label must match the specified value. + + value can have a maximum length of 1024 characters. type: string required: - name @@ -257,13 +263,12 @@ spec: type: array filterMatchCriteria: description: |- - Immutable. Specifies how individual filterLabel matches within the list of - filterLabels contribute towards the overall metadataFilter match. + Immutable. Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + + Supported values are: - MATCH_ANY - At least one of the filterLabels must have a matching - label in the provided metadata. - MATCH_ALL - All filterLabels must have matching labels in the - provided metadata. Possible values: ["MATCH_ANY", "MATCH_ALL"] + * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY type: string required: - filterLabels @@ -302,46 +307,37 @@ spec: type: string type: object networkTier: - description: |- - Immutable. The networking tier used for configuring this address. If this field is not - specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"] + description: 'Immutable. This signifies the networking tier used for + configuring this load balancer and can only take the following values: + `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values + are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid + value is `PREMIUM`. If this field is not specified, it is assumed + to be `PREMIUM`. If `IPAddress` is specified, this value must be + equal to the networkTier of the Address.' type: string portRange: description: |- - Immutable. This field is used along with the target field for TargetHttpProxy, - TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, - TargetPool, TargetInstance. + Immutable. When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: - Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets - addressed to ports in the specified range will be forwarded to target. - Forwarding rules with the same [IPAddress, IPProtocol] pair must have - disjoint port ranges. + * TargetHttpProxy: 80, 8080 + * TargetHttpsProxy: 443 + * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetVpnGateway: 500, 4500 - Some types of forwarding target have constraints on the acceptable - ports: - - * TargetHttpProxy: 80, 8080 - * TargetHttpsProxy: 443 - * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetVpnGateway: 500, 4500 + @pattern: d+(?:-d+)? type: string ports: - description: |- - Immutable. This field is used along with internal load balancing and network - load balancer when the forwarding rule references a backend service - and when protocol is not L3_DEFAULT. - - A single port or a comma separated list of ports can be configured. - Only packets addressed to these ports will be forwarded to the backends - configured with this forwarding rule. - - You can only use one of ports and portRange, or allPorts. - The three are mutually exclusive. - - You may specify a maximum of up to 5 ports, which can be non-contiguous. + description: 'Immutable. This field is used along with the `backend_service` + field for internal load balancing. When the load balancing scheme + is `INTERNAL`, a list of ports can be configured, for example, [''80''], + [''8000'',''9000'']. Only packets addressed to these ports are forwarded + to the backends configured with the forwarding rule. If the forwarding + rule''s loadBalancingScheme is INTERNAL, you can specify ports in + one of the following ways: * A list of up to five ports, which can + be non-contiguous * Keyword `ALL`, which causes the forwarding rule + to forward traffic on any port of the forwarding rule''s protocol. + @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).' items: type: string type: array @@ -351,19 +347,16 @@ spec: is used as the default. type: string serviceLabel: - description: |- - Immutable. An optional prefix to the service name for this Forwarding Rule. - If specified, will be the first label of the fully qualified service - name. - - The label must be 1-63 characters long, and comply with RFC1035. + description: Immutable. An optional prefix to the service name for + this Forwarding Rule. If specified, the prefix is the first label + of the fully qualified service name. The label must be 1-63 characters + long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the - regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first - character must be a lowercase letter, and all following characters - must be a dash, lowercase letter, or digit, except the last - character, which cannot be a dash. - - This field is only used for INTERNAL load balancing. + regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + first character must be a lowercase letter, and all following characters + must be a dash, lowercase letter, or digit, except the last character, + which cannot be a dash. This field is only used for internal load + balancing. type: string subnetworkRef: description: |- @@ -608,12 +601,11 @@ spec: type: object type: array creationTimestamp: - description: Creation timestamp in RFC3339 text format. + description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + text format.' type: string labelFingerprint: - description: |- - The fingerprint used for optimistic locking of this resource. Used - internally during updates. + description: Used internally during label updates. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -623,11 +615,12 @@ spec: the resource. type: integer selfLink: + description: '[Output Only] Server-defined URL for the resource.' type: string serviceName: - description: |- - The internal fully qualified service name for this Forwarding Rule. - This field is only used for INTERNAL load balancing. + description: '[Output Only] The internal fully qualified service name + for this Forwarding Rule. This field is only used for internal load + balancing.' type: string type: object required: diff --git a/crds/compute_v1beta1_computehealthcheck.yaml b/crds/compute_v1beta1_computehealthcheck.yaml index f454b1d65c..53b0c1bbbd 100644 --- a/crds/compute_v1beta1_computehealthcheck.yaml +++ b/crds/compute_v1beta1_computehealthcheck.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computehttphealthcheck.yaml b/crds/compute_v1beta1_computehttphealthcheck.yaml index f5e33d9699..ea7530a72b 100644 --- a/crds/compute_v1beta1_computehttphealthcheck.yaml +++ b/crds/compute_v1beta1_computehttphealthcheck.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computehttpshealthcheck.yaml b/crds/compute_v1beta1_computehttpshealthcheck.yaml index 4d2f025668..fee13a0dfe 100644 --- a/crds/compute_v1beta1_computehttpshealthcheck.yaml +++ b/crds/compute_v1beta1_computehttpshealthcheck.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeimage.yaml b/crds/compute_v1beta1_computeimage.yaml index 9070891395..d92ca9c289 100644 --- a/crds/compute_v1beta1_computeimage.yaml +++ b/crds/compute_v1beta1_computeimage.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeinstance.yaml b/crds/compute_v1beta1_computeinstance.yaml index a51670d4a2..69197d53f2 100644 --- a/crds/compute_v1beta1_computeinstance.yaml +++ b/crds/compute_v1beta1_computeinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -527,6 +527,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the interface type: string @@ -563,6 +598,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: The project in which the subnetwork belongs. type: string diff --git a/crds/compute_v1beta1_computeinstancegroup.yaml b/crds/compute_v1beta1_computeinstancegroup.yaml index 91d25ff6b7..5dba6960e8 100644 --- a/crds/compute_v1beta1_computeinstancegroup.yaml +++ b/crds/compute_v1beta1_computeinstancegroup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeinstancegroupmanager.yaml b/crds/compute_v1beta1_computeinstancegroupmanager.yaml index 6163b9cb78..a1b58b8fda 100644 --- a/crds/compute_v1beta1_computeinstancegroupmanager.yaml +++ b/crds/compute_v1beta1_computeinstancegroupmanager.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computeinstancetemplate.yaml b/crds/compute_v1beta1_computeinstancetemplate.yaml index 51e6d23fc5..4892ce12b6 100644 --- a/crds/compute_v1beta1_computeinstancetemplate.yaml +++ b/crds/compute_v1beta1_computeinstancetemplate.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -405,6 +405,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the network_interface. type: string @@ -443,6 +478,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: Immutable. The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. diff --git a/crds/compute_v1beta1_computeinterconnectattachment.yaml b/crds/compute_v1beta1_computeinterconnectattachment.yaml index e96dfe04bb..c4b0133230 100644 --- a/crds/compute_v1beta1_computeinterconnectattachment.yaml +++ b/crds/compute_v1beta1_computeinterconnectattachment.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computenetwork.yaml b/crds/compute_v1beta1_computenetwork.yaml index 4152108274..c298af9631 100644 --- a/crds/compute_v1beta1_computenetwork.yaml +++ b/crds/compute_v1beta1_computenetwork.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computenetworkendpointgroup.yaml b/crds/compute_v1beta1_computenetworkendpointgroup.yaml index fac93ff24a..5f3cbc99f9 100644 --- a/crds/compute_v1beta1_computenetworkendpointgroup.yaml +++ b/crds/compute_v1beta1_computenetworkendpointgroup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computenetworkpeering.yaml b/crds/compute_v1beta1_computenetworkpeering.yaml index 684575e744..66a278d3f6 100644 --- a/crds/compute_v1beta1_computenetworkpeering.yaml +++ b/crds/compute_v1beta1_computenetworkpeering.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computenodegroup.yaml b/crds/compute_v1beta1_computenodegroup.yaml index 267597b0f3..9b03040b9c 100644 --- a/crds/compute_v1beta1_computenodegroup.yaml +++ b/crds/compute_v1beta1_computenodegroup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computenodetemplate.yaml b/crds/compute_v1beta1_computenodetemplate.yaml index fccdbd2db7..7d500e414f 100644 --- a/crds/compute_v1beta1_computenodetemplate.yaml +++ b/crds/compute_v1beta1_computenodetemplate.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeprojectmetadata.yaml b/crds/compute_v1beta1_computeprojectmetadata.yaml index 4abff015d7..b6a1ef35b1 100644 --- a/crds/compute_v1beta1_computeprojectmetadata.yaml +++ b/crds/compute_v1beta1_computeprojectmetadata.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computereservation.yaml b/crds/compute_v1beta1_computereservation.yaml index b6c85543e1..b806003155 100644 --- a/crds/compute_v1beta1_computereservation.yaml +++ b/crds/compute_v1beta1_computereservation.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeresourcepolicy.yaml b/crds/compute_v1beta1_computeresourcepolicy.yaml index 1fe8b66d15..54547d3d1e 100644 --- a/crds/compute_v1beta1_computeresourcepolicy.yaml +++ b/crds/compute_v1beta1_computeresourcepolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeroute.yaml b/crds/compute_v1beta1_computeroute.yaml index df7bbd0a46..f55568103c 100644 --- a/crds/compute_v1beta1_computeroute.yaml +++ b/crds/compute_v1beta1_computeroute.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computerouter.yaml b/crds/compute_v1beta1_computerouter.yaml index 34deb484ef..fa66bd8612 100644 --- a/crds/compute_v1beta1_computerouter.yaml +++ b/crds/compute_v1beta1_computerouter.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computerouterinterface.yaml b/crds/compute_v1beta1_computerouterinterface.yaml index a06321d7b8..2ccb630174 100644 --- a/crds/compute_v1beta1_computerouterinterface.yaml +++ b/crds/compute_v1beta1_computerouterinterface.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computerouternat.yaml b/crds/compute_v1beta1_computerouternat.yaml index 698c5bfbc9..ad52251c56 100644 --- a/crds/compute_v1beta1_computerouternat.yaml +++ b/crds/compute_v1beta1_computerouternat.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computerouterpeer.yaml b/crds/compute_v1beta1_computerouterpeer.yaml index a539ac98a5..06c62263b2 100644 --- a/crds/compute_v1beta1_computerouterpeer.yaml +++ b/crds/compute_v1beta1_computerouterpeer.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesecuritypolicy.yaml b/crds/compute_v1beta1_computesecuritypolicy.yaml index 395754db4d..7786585c5b 100644 --- a/crds/compute_v1beta1_computesecuritypolicy.yaml +++ b/crds/compute_v1beta1_computesecuritypolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesharedvpchostproject.yaml b/crds/compute_v1beta1_computesharedvpchostproject.yaml index 5dbc9b112b..9a24fad7af 100644 --- a/crds/compute_v1beta1_computesharedvpchostproject.yaml +++ b/crds/compute_v1beta1_computesharedvpchostproject.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesharedvpcserviceproject.yaml b/crds/compute_v1beta1_computesharedvpcserviceproject.yaml index 5e28a8d2a8..f86e20515d 100644 --- a/crds/compute_v1beta1_computesharedvpcserviceproject.yaml +++ b/crds/compute_v1beta1_computesharedvpcserviceproject.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesnapshot.yaml b/crds/compute_v1beta1_computesnapshot.yaml index 302fcbe590..ee2b15f283 100644 --- a/crds/compute_v1beta1_computesnapshot.yaml +++ b/crds/compute_v1beta1_computesnapshot.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesslcertificate.yaml b/crds/compute_v1beta1_computesslcertificate.yaml index 8080258c88..0a97ae2cc6 100644 --- a/crds/compute_v1beta1_computesslcertificate.yaml +++ b/crds/compute_v1beta1_computesslcertificate.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesslpolicy.yaml b/crds/compute_v1beta1_computesslpolicy.yaml index a3c351635e..704c9203ab 100644 --- a/crds/compute_v1beta1_computesslpolicy.yaml +++ b/crds/compute_v1beta1_computesslpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computesubnetwork.yaml b/crds/compute_v1beta1_computesubnetwork.yaml index 91982d4244..4dd61e6063 100644 --- a/crds/compute_v1beta1_computesubnetwork.yaml +++ b/crds/compute_v1beta1_computesubnetwork.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -84,6 +84,12 @@ spec: 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. type: string + ipv6AccessType: + description: |- + Immutable. The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation + or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet + cannot enable direct path. Possible values: ["EXTERNAL"] + type: string logConfig: description: |- Denotes the logging options for the subnetwork flow logs. If logging is enabled @@ -211,6 +217,11 @@ spec: - rangeName type: object type: array + stackType: + description: |- + The stack type for this subnet to identify whether the IPv6 feature is enabled or not. + If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"] + type: string required: - ipCidrRange - networkRef @@ -247,6 +258,10 @@ spec: creationTimestamp: description: Creation timestamp in RFC3339 text format. type: string + externalIpv6Prefix: + description: The range of external IPv6 addresses that are owned by + this subnetwork. + type: string fingerprint: description: DEPRECATED — This field is not useful for users, and has been removed as an output. Fingerprint of this resource. This @@ -257,6 +272,10 @@ spec: The gateway address for default routes to reach destination addresses outside this subnetwork. type: string + ipv6CidrRange: + description: The range of internal IPv6 addresses that are owned by + this subnetwork. + type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. diff --git a/crds/compute_v1beta1_computetargetgrpcproxy.yaml b/crds/compute_v1beta1_computetargetgrpcproxy.yaml index b1e328d4e3..44a2af2893 100644 --- a/crds/compute_v1beta1_computetargetgrpcproxy.yaml +++ b/crds/compute_v1beta1_computetargetgrpcproxy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargethttpproxy.yaml b/crds/compute_v1beta1_computetargethttpproxy.yaml index b14fff256d..e6fb36d4d5 100644 --- a/crds/compute_v1beta1_computetargethttpproxy.yaml +++ b/crds/compute_v1beta1_computetargethttpproxy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargethttpsproxy.yaml b/crds/compute_v1beta1_computetargethttpsproxy.yaml index 22ae59b727..34853c406f 100644 --- a/crds/compute_v1beta1_computetargethttpsproxy.yaml +++ b/crds/compute_v1beta1_computetargethttpsproxy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargetinstance.yaml b/crds/compute_v1beta1_computetargetinstance.yaml index a3d6564690..9a7656fd2a 100644 --- a/crds/compute_v1beta1_computetargetinstance.yaml +++ b/crds/compute_v1beta1_computetargetinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargetpool.yaml b/crds/compute_v1beta1_computetargetpool.yaml index b68bbb4b98..546ce451aa 100644 --- a/crds/compute_v1beta1_computetargetpool.yaml +++ b/crds/compute_v1beta1_computetargetpool.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargetsslproxy.yaml b/crds/compute_v1beta1_computetargetsslproxy.yaml index b1087470b1..29cfd9212b 100644 --- a/crds/compute_v1beta1_computetargetsslproxy.yaml +++ b/crds/compute_v1beta1_computetargetsslproxy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargettcpproxy.yaml b/crds/compute_v1beta1_computetargettcpproxy.yaml index 7fc303acb5..e90ab80b7f 100644 --- a/crds/compute_v1beta1_computetargettcpproxy.yaml +++ b/crds/compute_v1beta1_computetargettcpproxy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargetvpngateway.yaml b/crds/compute_v1beta1_computetargetvpngateway.yaml index d41bb91e88..2116e1a9ee 100644 --- a/crds/compute_v1beta1_computetargetvpngateway.yaml +++ b/crds/compute_v1beta1_computetargetvpngateway.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeurlmap.yaml b/crds/compute_v1beta1_computeurlmap.yaml index 901199c07e..56c1284631 100644 --- a/crds/compute_v1beta1_computeurlmap.yaml +++ b/crds/compute_v1beta1_computeurlmap.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computevpngateway.yaml b/crds/compute_v1beta1_computevpngateway.yaml index 04263a292e..5f73fc6437 100644 --- a/crds/compute_v1beta1_computevpngateway.yaml +++ b/crds/compute_v1beta1_computevpngateway.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computevpntunnel.yaml b/crds/compute_v1beta1_computevpntunnel.yaml index 69c89bbf20..1c2742e466 100644 --- a/crds/compute_v1beta1_computevpntunnel.yaml +++ b/crds/compute_v1beta1_computevpntunnel.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/container_v1beta1_containercluster.yaml b/crds/container_v1beta1_containercluster.yaml index 1f44e544a7..cb19cdf28c 100644 --- a/crds/container_v1beta1_containercluster.yaml +++ b/crds/container_v1beta1_containercluster.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -340,6 +340,20 @@ spec: description: description: Immutable. Description of the cluster. type: string + dnsConfig: + description: Immutable. Configuration for Cloud DNS for Kubernetes + Engine. + properties: + clusterDns: + description: Which in-cluster DNS provider should be used. + type: string + clusterDnsDomain: + description: The suffix used for all cluster service records. + type: string + clusterDnsScope: + description: The scope of access to cluster DNS records. + type: string + type: object enableAutopilot: description: Immutable. Enable Autopilot for this cluster. type: boolean @@ -424,6 +438,18 @@ spec: with multiple masters spread across zones in the region, and with default node locations in those zones as well. type: string + loggingConfig: + description: Logging configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing logs. Valid values include + SYSTEM_COMPONENTS and WORKLOADS. + items: + type: string + type: array + required: + - enableComponents + type: object loggingService: description: The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), @@ -584,6 +610,18 @@ spec: version of the most recent official release (which is not necessarily the latest version). type: string + monitoringConfig: + description: Monitoring configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing metrics. Valid values include + SYSTEM_COMPONENTS. + items: + type: string + type: array + required: + - enableComponents + type: object monitoringService: description: The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster @@ -845,12 +883,15 @@ spec: description: Immutable. The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeLocations: diff --git a/crds/container_v1beta1_containernodepool.yaml b/crds/container_v1beta1_containernodepool.yaml index 01607308c8..58aa2445b9 100644 --- a/crds/container_v1beta1_containernodepool.yaml +++ b/crds/container_v1beta1_containernodepool.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -378,12 +378,15 @@ spec: workloadMetadataConfig: description: The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeCount: diff --git a/crds/containeranalysis_v1beta1_containeranalysisnote.yaml b/crds/containeranalysis_v1beta1_containeranalysisnote.yaml index c0d068fe8a..79afb3c2af 100644 --- a/crds/containeranalysis_v1beta1_containeranalysisnote.yaml +++ b/crds/containeranalysis_v1beta1_containeranalysisnote.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/dataflow_v1beta1_dataflowflextemplatejob.yaml b/crds/dataflow_v1beta1_dataflowflextemplatejob.yaml index 176499fc4b..03350d0acc 100644 --- a/crds/dataflow_v1beta1_dataflowflextemplatejob.yaml +++ b/crds/dataflow_v1beta1_dataflowflextemplatejob.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/dataflow_v1beta1_dataflowjob.yaml b/crds/dataflow_v1beta1_dataflowjob.yaml index b96cea6abc..ce2979abc1 100644 --- a/crds/dataflow_v1beta1_dataflowjob.yaml +++ b/crds/dataflow_v1beta1_dataflowjob.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/datafusion_v1beta1_datafusioninstance.yaml b/crds/datafusion_v1beta1_datafusioninstance.yaml index 6eeb370583..279c69e439 100644 --- a/crds/datafusion_v1beta1_datafusioninstance.yaml +++ b/crds/datafusion_v1beta1_datafusioninstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/dataproc_v1beta1_dataprocautoscalingpolicy.yaml b/crds/dataproc_v1beta1_dataprocautoscalingpolicy.yaml index c1002b8bc7..ae4588833c 100644 --- a/crds/dataproc_v1beta1_dataprocautoscalingpolicy.yaml +++ b/crds/dataproc_v1beta1_dataprocautoscalingpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/dataproc_v1beta1_dataproccluster.yaml b/crds/dataproc_v1beta1_dataproccluster.yaml index c319eb6f41..9b2bcf9fd8 100644 --- a/crds/dataproc_v1beta1_dataproccluster.yaml +++ b/crds/dataproc_v1beta1_dataproccluster.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/dataproc_v1beta1_dataprocworkflowtemplate.yaml b/crds/dataproc_v1beta1_dataprocworkflowtemplate.yaml index 827d12ce87..043a8df7cd 100644 --- a/crds/dataproc_v1beta1_dataprocworkflowtemplate.yaml +++ b/crds/dataproc_v1beta1_dataprocworkflowtemplate.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -1746,18 +1746,6 @@ spec: creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string - version: - description: Optional. Used to perform a consistent read-modify-write. - This field should be left blank for a `CreateWorkflowTemplate` request. - It is required for an `UpdateWorkflowTemplate` request, and must - match the current server version. A typical update template flow - would fetch the current template with a `GetWorkflowTemplate` request, - which will return the current template with the `version` field - filled in with the current server version. The user updates other - fields in the template, then returns it as part of the `UpdateWorkflowTemplate` - request. - format: int64 - type: integer required: - jobs - location @@ -1919,6 +1907,10 @@ spec: description: Output only. The time template was last updated. format: date-time type: string + version: + description: Output only. The current version of this workflow template. + format: int64 + type: integer type: object required: - spec diff --git a/crds/dns_v1beta1_dnsmanagedzone.yaml b/crds/dns_v1beta1_dnsmanagedzone.yaml index 2c87fc2407..28117d0f14 100644 --- a/crds/dns_v1beta1_dnsmanagedzone.yaml +++ b/crds/dns_v1beta1_dnsmanagedzone.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/dns_v1beta1_dnspolicy.yaml b/crds/dns_v1beta1_dnspolicy.yaml index f3a5ecf4b9..98bb3dc751 100644 --- a/crds/dns_v1beta1_dnspolicy.yaml +++ b/crds/dns_v1beta1_dnspolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/dns_v1beta1_dnsrecordset.yaml b/crds/dns_v1beta1_dnsrecordset.yaml index f998d927cf..0fac692644 100644 --- a/crds/dns_v1beta1_dnsrecordset.yaml +++ b/crds/dns_v1beta1_dnsrecordset.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -114,7 +114,6 @@ spec: - managedZoneRef - name - rrdatas - - ttl - type type: object status: diff --git a/crds/filestore_v1beta1_filestorebackup.yaml b/crds/filestore_v1beta1_filestorebackup.yaml new file mode 100644 index 0000000000..dbbdeb345e --- /dev/null +++ b/crds/filestore_v1beta1_filestorebackup.yaml @@ -0,0 +1,229 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestorebackups.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreBackup + plural: filestorebackups + shortNames: + - gcpfilestorebackup + - gcpfilestorebackups + singular: filestorebackup + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: A description of the backup with 2048 characters or less. + Requests with longer descriptions will be rejected. + type: string + location: + description: The location for the resource + type: string + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + sourceFileShare: + description: Name of the file share in the source Cloud Filestore + instance that the backup is created from. + type: string + sourceInstanceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the source Cloud Filestore instance, + in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, + used to create this backup. + 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 + - projectRef + - sourceFileShare + - sourceInstanceRef + type: object + status: + properties: + capacityGb: + description: Output only. Capacity of the source file share when the + backup was created. + format: int64 + type: integer + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the backup was created. + format: date-time + type: string + downloadBytes: + description: Output only. Amount of bytes that will be downloaded + if the backup is restored. This may be different than storage bytes, + since sequential backups of the same disk will share storage. + format: int64 + type: integer + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + sourceInstanceTier: + description: 'Output only. The service tier of the source Cloud Filestore + instance that this backup is created from. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + state: + description: 'Output only. The backup state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR, RESTORING' + type: string + storageBytes: + description: Output only. The size of the storage used by the backup. + As backups share storage, this number is expected to change with + backup creation/deletion. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/filestore_v1beta1_filestoreinstance.yaml b/crds/filestore_v1beta1_filestoreinstance.yaml new file mode 100644 index 0000000000..6dabecf36d --- /dev/null +++ b/crds/filestore_v1beta1_filestoreinstance.yaml @@ -0,0 +1,333 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestoreinstances.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreInstance + plural: filestoreinstances + shortNames: + - gcpfilestoreinstance + - gcpfilestoreinstances + singular: filestoreinstance + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: The description of the instance (2048 characters or less). + type: string + fileShares: + description: File system shares on the instance. For this version, + only a single file share is supported. + items: + properties: + capacityGb: + description: File share capacity in gigabytes (GB). Cloud Filestore + defines 1 GB as 1024^3 bytes. + format: int64 + type: integer + name: + description: The name of the file share (must be 16 characters + or less). + type: string + nfsExportOptions: + description: Nfs Export Options. There is a limit of 10 export + options per file share. + items: + properties: + accessMode: + description: 'Either READ_ONLY, for allowing only read + requests on the exported directory, or READ_WRITE, for + allowing both read and write requests. The default is + READ_WRITE. Possible values: ACCESS_MODE_UNSPECIFIED, + READ_ONLY, READ_WRITE' + type: string + anonGid: + description: An integer representing the anonymous group + id with a default value of 65534. Anon_gid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + anonUid: + description: An integer representing the anonymous user + id with a default value of 65534. Anon_uid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + ipRanges: + description: List of either an IPv4 addresses in the format + `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges + in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask + size}` which may mount the file share. Overlapping IP + ranges are not allowed, both within and across NfsExportOptions. + An error will be returned. The limit is 64 IP ranges/addresses + for each FileShareConfig among all NfsExportOptions. + items: + type: string + type: array + squashMode: + description: 'Either NO_ROOT_SQUASH, for allowing root + access on the exported directory, or ROOT_SQUASH, for + not allowing root access. The default is NO_ROOT_SQUASH. + Possible values: SQUASH_MODE_UNSPECIFIED, NO_ROOT_SQUASH, + ROOT_SQUASH' + type: string + type: object + type: array + sourceBackupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the backup, in the format + `projects/{project_number}/locations/{location_id}/backups/{backup_id}`, + that this file share has been restored from. + 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 + location: + description: The location for the resource + type: string + networks: + description: VPC networks to which the instance is connected. For + this version, only a single network is supported. + items: + properties: + ipAddresses: + description: Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` + or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`. + items: + type: string + type: array + modes: + description: Internet protocol versions for which the instance + has IP addresses assigned. For this version, only MODE_IPV4 + is supported. + items: + type: string + type: array + networkRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of the Google Compute Engine [VPC + network](https://cloud.google.com/vpc/docs/vpc) to which + the instance is connected. + 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 + reservedIPRange: + description: A /29 CIDR block in one of the [internal IP address + ranges](https://www.arin.net/reference/research/statistics/address_filters/) + that identifies the range of IP addresses reserved for this + instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The + range you specify can't overlap with either existing subnets + or assigned IP address ranges for other Cloud Filestore instances + in the selected VPC network. + type: string + type: object + type: array + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + tier: + description: 'The service tier of the instance. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + required: + - location + - projectRef + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the instance was created. + format: date-time + type: string + etag: + description: Server-specified ETag for the instance resource to prevent + simultaneous updates from overwriting each other. + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + state: + description: 'Output only. The instance state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR' + type: string + statusMessage: + description: Output only. Additional information about the instance + state, if available. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/firestore_v1beta1_firestoreindex.yaml b/crds/firestore_v1beta1_firestoreindex.yaml index 7423582ba6..ac7b2e173c 100644 --- a/crds/firestore_v1beta1_firestoreindex.yaml +++ b/crds/firestore_v1beta1_firestoreindex.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/gameservices_v1beta1_gameservicesrealm.yaml b/crds/gameservices_v1beta1_gameservicesrealm.yaml index 7ed5656799..180475b1a3 100644 --- a/crds/gameservices_v1beta1_gameservicesrealm.yaml +++ b/crds/gameservices_v1beta1_gameservicesrealm.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/gkehub_v1beta1_gkehubfeature.yaml b/crds/gkehub_v1beta1_gkehubfeature.yaml index 2ae38a9130..3043e68cea 100644 --- a/crds/gkehub_v1beta1_gkehubfeature.yaml +++ b/crds/gkehub_v1beta1_gkehubfeature.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/gkehub_v1beta1_gkehubfeaturemembership.yaml b/crds/gkehub_v1beta1_gkehubfeaturemembership.yaml index 7cb4331ec2..37415fc245 100644 --- a/crds/gkehub_v1beta1_gkehubfeaturemembership.yaml +++ b/crds/gkehub_v1beta1_gkehubfeaturemembership.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/gkehub_v1beta1_gkehubmembership.yaml b/crds/gkehub_v1beta1_gkehubmembership.yaml index 6843ee8477..9ec176d7cb 100644 --- a/crds/gkehub_v1beta1_gkehubmembership.yaml +++ b/crds/gkehub_v1beta1_gkehubmembership.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/iam_v1beta1_iamauditconfig.yaml b/crds/iam_v1beta1_iamauditconfig.yaml index b9c78b316e..56c9762867 100644 --- a/crds/iam_v1beta1_iamauditconfig.yaml +++ b/crds/iam_v1beta1_iamauditconfig.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iamcustomrole.yaml b/crds/iam_v1beta1_iamcustomrole.yaml index 72b99cd12e..2c8cb8135e 100644 --- a/crds/iam_v1beta1_iamcustomrole.yaml +++ b/crds/iam_v1beta1_iamcustomrole.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iampartialpolicy.yaml b/crds/iam_v1beta1_iampartialpolicy.yaml index edc3ae7329..6087304695 100644 --- a/crds/iam_v1beta1_iampartialpolicy.yaml +++ b/crds/iam_v1beta1_iampartialpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iampolicy.yaml b/crds/iam_v1beta1_iampolicy.yaml index 72ceedd862..f892f07129 100644 --- a/crds/iam_v1beta1_iampolicy.yaml +++ b/crds/iam_v1beta1_iampolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iampolicymember.yaml b/crds/iam_v1beta1_iampolicymember.yaml index c50cd648eb..2517bcd386 100644 --- a/crds/iam_v1beta1_iampolicymember.yaml +++ b/crds/iam_v1beta1_iampolicymember.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iamserviceaccount.yaml b/crds/iam_v1beta1_iamserviceaccount.yaml index b273b24a0d..5aaedc7e91 100644 --- a/crds/iam_v1beta1_iamserviceaccount.yaml +++ b/crds/iam_v1beta1_iamserviceaccount.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -75,6 +75,10 @@ spec: description: A text description of the service account. Must be less than or equal to 256 UTF-8 bytes. type: string + disabled: + description: Whether the service account is disabled. Defaults to + false + type: boolean displayName: description: The display name for the service account. Can be updated without creating a new resource. diff --git a/crds/iam_v1beta1_iamserviceaccountkey.yaml b/crds/iam_v1beta1_iamserviceaccountkey.yaml index 43cacbd647..e1895ac1d0 100644 --- a/crds/iam_v1beta1_iamserviceaccountkey.yaml +++ b/crds/iam_v1beta1_iamserviceaccountkey.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iap_v1beta1_iapbrand.yaml b/crds/iap_v1beta1_iapbrand.yaml index c5d4f500d6..18d4728ba9 100644 --- a/crds/iap_v1beta1_iapbrand.yaml +++ b/crds/iap_v1beta1_iapbrand.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/iap_v1beta1_iapidentityawareproxyclient.yaml b/crds/iap_v1beta1_iapidentityawareproxyclient.yaml index d3090c4115..84272980e0 100644 --- a/crds/iap_v1beta1_iapidentityawareproxyclient.yaml +++ b/crds/iap_v1beta1_iapidentityawareproxyclient.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/identityplatform_v1beta1_identityplatformoauthidpconfig.yaml b/crds/identityplatform_v1beta1_identityplatformoauthidpconfig.yaml index 3c4d719c30..2f662d2c99 100644 --- a/crds/identityplatform_v1beta1_identityplatformoauthidpconfig.yaml +++ b/crds/identityplatform_v1beta1_identityplatformoauthidpconfig.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/identityplatform_v1beta1_identityplatformtenant.yaml b/crds/identityplatform_v1beta1_identityplatformtenant.yaml index ee95055c1a..e136cefa67 100644 --- a/crds/identityplatform_v1beta1_identityplatformtenant.yaml +++ b/crds/identityplatform_v1beta1_identityplatformtenant.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/identityplatform_v1beta1_identityplatformtenantoauthidpconfig.yaml b/crds/identityplatform_v1beta1_identityplatformtenantoauthidpconfig.yaml index a08e6db855..473cc029c7 100644 --- a/crds/identityplatform_v1beta1_identityplatformtenantoauthidpconfig.yaml +++ b/crds/identityplatform_v1beta1_identityplatformtenantoauthidpconfig.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/kms_v1beta1_kmscryptokey.yaml b/crds/kms_v1beta1_kmscryptokey.yaml index b8619cd043..7371dcc1be 100644 --- a/crds/kms_v1beta1_kmscryptokey.yaml +++ b/crds/kms_v1beta1_kmscryptokey.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -76,6 +76,10 @@ spec: Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. type: string + importOnly: + description: Immutable. Whether this key may contain imported versions + only. + type: boolean keyRingRef: description: The KMSKeyRing that this key belongs to. oneOf: diff --git a/crds/kms_v1beta1_kmskeyring.yaml b/crds/kms_v1beta1_kmskeyring.yaml index 2d498c89a2..d4b8b3933b 100644 --- a/crds/kms_v1beta1_kmskeyring.yaml +++ b/crds/kms_v1beta1_kmskeyring.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/logging_v1beta1_logginglogexclusion.yaml b/crds/logging_v1beta1_logginglogexclusion.yaml index 4e8e702123..30ab9be48a 100644 --- a/crds/logging_v1beta1_logginglogexclusion.yaml +++ b/crds/logging_v1beta1_logginglogexclusion.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/logging_v1beta1_logginglogsink.yaml b/crds/logging_v1beta1_logginglogsink.yaml index 205910e80b..0ff924a378 100644 --- a/crds/logging_v1beta1_logginglogsink.yaml +++ b/crds/logging_v1beta1_logginglogsink.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/memcache_v1beta1_memcacheinstance.yaml b/crds/memcache_v1beta1_memcacheinstance.yaml index d5f40c4c7e..9e12af63fa 100644 --- a/crds/memcache_v1beta1_memcacheinstance.yaml +++ b/crds/memcache_v1beta1_memcacheinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/monitoring_v1beta1_monitoringalertpolicy.yaml b/crds/monitoring_v1beta1_monitoringalertpolicy.yaml index 74689e9418..1a8dc087a8 100644 --- a/crds/monitoring_v1beta1_monitoringalertpolicy.yaml +++ b/crds/monitoring_v1beta1_monitoringalertpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/monitoring_v1beta1_monitoringdashboard.yaml b/crds/monitoring_v1beta1_monitoringdashboard.yaml index 7437894c77..302648307f 100644 --- a/crds/monitoring_v1beta1_monitoringdashboard.yaml +++ b/crds/monitoring_v1beta1_monitoringdashboard.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/monitoring_v1beta1_monitoringgroup.yaml b/crds/monitoring_v1beta1_monitoringgroup.yaml index 6c82b43cd4..f92fe00f91 100644 --- a/crds/monitoring_v1beta1_monitoringgroup.yaml +++ b/crds/monitoring_v1beta1_monitoringgroup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/monitoring_v1beta1_monitoringmetricdescriptor.yaml b/crds/monitoring_v1beta1_monitoringmetricdescriptor.yaml index f716a32218..291e527d23 100644 --- a/crds/monitoring_v1beta1_monitoringmetricdescriptor.yaml +++ b/crds/monitoring_v1beta1_monitoringmetricdescriptor.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/monitoring_v1beta1_monitoringnotificationchannel.yaml b/crds/monitoring_v1beta1_monitoringnotificationchannel.yaml index 5c17cd08eb..9a98d766c3 100644 --- a/crds/monitoring_v1beta1_monitoringnotificationchannel.yaml +++ b/crds/monitoring_v1beta1_monitoringnotificationchannel.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml b/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml index 2872a9e451..b7167c0f07 100644 --- a/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml +++ b/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/networksecurity_v1beta1_networksecurityclienttlspolicy.yaml b/crds/networksecurity_v1beta1_networksecurityclienttlspolicy.yaml index 480dedb007..b66cd845b3 100644 --- a/crds/networksecurity_v1beta1_networksecurityclienttlspolicy.yaml +++ b/crds/networksecurity_v1beta1_networksecurityclienttlspolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/networksecurity_v1beta1_networksecurityservertlspolicy.yaml b/crds/networksecurity_v1beta1_networksecurityservertlspolicy.yaml index 90f2a9ff1b..4b0d0be6ce 100644 --- a/crds/networksecurity_v1beta1_networksecurityservertlspolicy.yaml +++ b/crds/networksecurity_v1beta1_networksecurityservertlspolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/networkservices_v1beta1_networkservicesendpointpolicy.yaml b/crds/networkservices_v1beta1_networkservicesendpointpolicy.yaml index d8cd7df1d3..ca76d84f0c 100644 --- a/crds/networkservices_v1beta1_networkservicesendpointpolicy.yaml +++ b/crds/networkservices_v1beta1_networkservicesendpointpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/osconfig_v1beta1_osconfigguestpolicy.yaml b/crds/osconfig_v1beta1_osconfigguestpolicy.yaml index c7fef7eece..16c69fee44 100644 --- a/crds/osconfig_v1beta1_osconfigguestpolicy.yaml +++ b/crds/osconfig_v1beta1_osconfigguestpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/pubsub_v1beta1_pubsubsubscription.yaml b/crds/pubsub_v1beta1_pubsubsubscription.yaml index 5aaa3d4554..1afac9438d 100644 --- a/crds/pubsub_v1beta1_pubsubsubscription.yaml +++ b/crds/pubsub_v1beta1_pubsubsubscription.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/pubsub_v1beta1_pubsubtopic.yaml b/crds/pubsub_v1beta1_pubsubtopic.yaml index 91c2c20ee6..5719752d9e 100644 --- a/crds/pubsub_v1beta1_pubsubtopic.yaml +++ b/crds/pubsub_v1beta1_pubsubtopic.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/redis_v1beta1_redisinstance.yaml b/crds/redis_v1beta1_redisinstance.yaml index 55611ee010..8dce9db5f1 100644 --- a/crds/redis_v1beta1_redisinstance.yaml +++ b/crds/redis_v1beta1_redisinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/resourcemanager_v1beta1_folder.yaml b/crds/resourcemanager_v1beta1_folder.yaml index e7c78a63d4..57ea68cb67 100644 --- a/crds/resourcemanager_v1beta1_folder.yaml +++ b/crds/resourcemanager_v1beta1_folder.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/resourcemanager_v1beta1_project.yaml b/crds/resourcemanager_v1beta1_project.yaml index 68967e8a7d..2b279c10a8 100644 --- a/crds/resourcemanager_v1beta1_project.yaml +++ b/crds/resourcemanager_v1beta1_project.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/resourcemanager_v1beta1_resourcemanagerlien.yaml b/crds/resourcemanager_v1beta1_resourcemanagerlien.yaml index fcb4b040c5..326f040a89 100644 --- a/crds/resourcemanager_v1beta1_resourcemanagerlien.yaml +++ b/crds/resourcemanager_v1beta1_resourcemanagerlien.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml b/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml index 0de0174616..8d20ae9d9e 100644 --- a/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml +++ b/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/secretmanager_v1beta1_secretmanagersecret.yaml b/crds/secretmanager_v1beta1_secretmanagersecret.yaml index 9fc84b366b..16675f0967 100644 --- a/crds/secretmanager_v1beta1_secretmanagersecret.yaml +++ b/crds/secretmanager_v1beta1_secretmanagersecret.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml b/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml index 55605ea4e4..5e9789f27b 100644 --- a/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml +++ b/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/servicenetworking_v1beta1_servicenetworkingconnection.yaml b/crds/servicenetworking_v1beta1_servicenetworkingconnection.yaml index 79890c360a..fa435ef63a 100644 --- a/crds/servicenetworking_v1beta1_servicenetworkingconnection.yaml +++ b/crds/servicenetworking_v1beta1_servicenetworkingconnection.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/serviceusage_v1beta1_service.yaml b/crds/serviceusage_v1beta1_service.yaml index ecc3e5ccee..089def1875 100644 --- a/crds/serviceusage_v1beta1_service.yaml +++ b/crds/serviceusage_v1beta1_service.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/sourcerepo_v1beta1_sourcereporepository.yaml b/crds/sourcerepo_v1beta1_sourcereporepository.yaml index 7c42ccdb30..27f2b2630d 100644 --- a/crds/sourcerepo_v1beta1_sourcereporepository.yaml +++ b/crds/sourcerepo_v1beta1_sourcereporepository.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/spanner_v1beta1_spannerdatabase.yaml b/crds/spanner_v1beta1_spannerdatabase.yaml index 6fee0c3833..66edba548f 100644 --- a/crds/spanner_v1beta1_spannerdatabase.yaml +++ b/crds/spanner_v1beta1_spannerdatabase.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/spanner_v1beta1_spannerinstance.yaml b/crds/spanner_v1beta1_spannerinstance.yaml index 595ae63c2f..ebf30a1e5c 100644 --- a/crds/spanner_v1beta1_spannerinstance.yaml +++ b/crds/spanner_v1beta1_spannerinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/sql_v1beta1_sqldatabase.yaml b/crds/sql_v1beta1_sqldatabase.yaml index 3c39ada2b4..2c60b006f3 100644 --- a/crds/sql_v1beta1_sqldatabase.yaml +++ b/crds/sql_v1beta1_sqldatabase.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/sql_v1beta1_sqlinstance.yaml b/crds/sql_v1beta1_sqlinstance.yaml index f52a52b9ed..2ff3acdfdf 100644 --- a/crds/sql_v1beta1_sqlinstance.yaml +++ b/crds/sql_v1beta1_sqlinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/sql_v1beta1_sqlsslcert.yaml b/crds/sql_v1beta1_sqlsslcert.yaml index 62e3915ec6..69c8fc1590 100644 --- a/crds/sql_v1beta1_sqlsslcert.yaml +++ b/crds/sql_v1beta1_sqlsslcert.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/sql_v1beta1_sqluser.yaml b/crds/sql_v1beta1_sqluser.yaml index 43c68c03d5..33191e8ab5 100644 --- a/crds/sql_v1beta1_sqluser.yaml +++ b/crds/sql_v1beta1_sqluser.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/storage_v1beta1_storagebucket.yaml b/crds/storage_v1beta1_storagebucket.yaml index 053bc1e656..cab174bccc 100644 --- a/crds/storage_v1beta1_storagebucket.yaml +++ b/crds/storage_v1beta1_storagebucket.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/storage_v1beta1_storagebucketaccesscontrol.yaml b/crds/storage_v1beta1_storagebucketaccesscontrol.yaml index 2320c3095e..b8d570447e 100644 --- a/crds/storage_v1beta1_storagebucketaccesscontrol.yaml +++ b/crds/storage_v1beta1_storagebucketaccesscontrol.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/storage_v1beta1_storagedefaultobjectaccesscontrol.yaml b/crds/storage_v1beta1_storagedefaultobjectaccesscontrol.yaml index 76b573e7e9..bd4773ab99 100644 --- a/crds/storage_v1beta1_storagedefaultobjectaccesscontrol.yaml +++ b/crds/storage_v1beta1_storagedefaultobjectaccesscontrol.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/storage_v1beta1_storagenotification.yaml b/crds/storage_v1beta1_storagenotification.yaml index 7f03ac3c38..5a751f716b 100644 --- a/crds/storage_v1beta1_storagenotification.yaml +++ b/crds/storage_v1beta1_storagenotification.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/storagetransfer_v1beta1_storagetransferjob.yaml b/crds/storagetransfer_v1beta1_storagetransferjob.yaml index 7f2614a3d4..1d0731bcc7 100644 --- a/crds/storagetransfer_v1beta1_storagetransferjob.yaml +++ b/crds/storagetransfer_v1beta1_storagetransferjob.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -362,6 +362,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object @@ -394,6 +397,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object diff --git a/install-bundles/install-bundle-gcp-identity/0-cnrm-system.yaml b/install-bundles/install-bundle-gcp-identity/0-cnrm-system.yaml index 368bf82423..db7693a653 100644 --- a/install-bundles/install-bundle-gcp-identity/0-cnrm-system.yaml +++ b/install-bundles/install-bundle-gcp-identity/0-cnrm-system.yaml @@ -16,7 +16,7 @@ apiVersion: v1 kind: Namespace metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-system @@ -25,7 +25,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-controller-manager @@ -35,7 +35,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -45,7 +45,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-resource-stats-recorder @@ -55,7 +55,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-manager @@ -65,7 +65,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-cnrm-system-role @@ -86,7 +86,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-cnrm-system-role @@ -107,7 +107,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -131,6 +131,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -170,7 +171,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -220,7 +221,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -278,7 +279,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -303,7 +304,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -333,7 +334,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -356,6 +357,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -391,7 +393,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -454,7 +456,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -472,7 +474,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -490,7 +492,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -513,7 +515,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -530,7 +532,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-binding @@ -547,7 +549,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-watcher-binding @@ -564,7 +566,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -581,7 +583,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -598,7 +600,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -615,7 +617,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -637,7 +639,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -658,7 +660,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -676,7 +678,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -689,8 +691,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.63.0 - image: gcr.io/cnrm-eap/recorder:f225236 + value: 1.64.0 + image: gcr.io/cnrm-eap/recorder:7d30457 imagePullPolicy: Always name: recorder ports: @@ -722,7 +724,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -737,7 +739,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -752,7 +754,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:f225236 + image: gcr.io/cnrm-eap/webhook:7d30457 imagePullPolicy: Always name: webhook ports: @@ -780,7 +782,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -795,7 +797,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -809,7 +811,7 @@ spec: env: - name: GOOGLE_APPLICATION_CREDENTIALS value: /var/secrets/google/key.json - image: gcr.io/cnrm-eap/controller:f225236 + image: gcr.io/cnrm-eap/controller:7d30457 imagePullPolicy: Always name: manager ports: @@ -844,7 +846,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -859,7 +861,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -869,7 +871,7 @@ spec: - --stderrthreshold=INFO command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:f225236 + image: gcr.io/cnrm-eap/deletiondefender:7d30457 imagePullPolicy: Always name: deletiondefender ports: @@ -897,7 +899,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook diff --git a/install-bundles/install-bundle-gcp-identity/crds.yaml b/install-bundles/install-bundle-gcp-identity/crds.yaml index 9370c02111..f66669ae44 100644 --- a/install-bundles/install-bundle-gcp-identity/crds.yaml +++ b/install-bundles/install-bundle-gcp-identity/crds.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -396,7 +396,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1676,7 +1676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1854,7 +1854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2174,7 +2174,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3000,7 +3000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3439,7 +3439,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3608,7 +3608,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3811,7 +3811,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4005,7 +4005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4166,7 +4166,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4432,7 +4432,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4852,7 +4852,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5619,6 +5619,41 @@ spec: required: - topicRef type: object + serviceAccountRef: + description: |- + The service account used for all user-controlled operations including + triggers.patch, triggers.run, builds.create, and builds.cancel. + + If no service account is set, then the standard Cloud Build service account + ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + + When populating via the external field, the following format is supported: + projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The email of an IAMServiceAccount. + 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 substitutions: additionalProperties: type: string @@ -5795,7 +5830,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5989,7 +6024,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6531,7 +6566,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6778,7 +6813,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7003,7 +7038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7403,6 +7438,48 @@ spec: Time for which instance will be drained (not accept new connections, but still work to finish started). type: integer + connectionTrackingPolicy: + description: |- + Connection Tracking configuration for this BackendService. + This is available only for Layer 4 Internal Load Balancing and + Network Load Balancing. + properties: + connectionPersistenceOnUnhealthyBackends: + description: |- + Specifies connection persistence when backends are unhealthy. + + If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on + unhealthy backends only for connection-oriented protocols (TCP and SCTP) + and only if the Tracking Mode is PER_CONNECTION (default tracking mode) + or the Session Affinity is configured for 5-tuple. They do not persist + for UDP. + + If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing + connections on the unhealthy backend are never persisted on the unhealthy + backend. They are always diverted to newly selected healthy backends + (unless all backends are unhealthy). + + If set to 'ALWAYS_PERSIST', existing connections always persist on + unhealthy backends regardless of protocol and session affinity. It is + generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"] + type: string + idleTimeoutSec: + description: "Specifies how long to keep a Connection Tracking + entry while there is\nno matching traffic (in seconds). \n\nFor + L4 ILB the minimum(default) is 10 minutes and maximum is 16 + hours.\n\nFor NLB the minimum(default) is 60 seconds and the + maximum is 16 hours." + type: integer + trackingMode: + description: |- + Specifies the key used for connection tracking. There are two options: + 'PER_CONNECTION': The Connection Tracking is performed as per the + Connection Key (default Hash Method) for the specific protocol. + + 'PER_SESSION': The Connection Tracking is performed as per the + configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"] + type: string + type: object consistentHash: description: |- Consistent Hash-based load balancing can be used to provide soft session @@ -7620,8 +7697,8 @@ spec: from. type: string required: - - name - key + - name type: object type: object type: object @@ -7998,7 +8075,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8606,7 +8683,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8752,7 +8829,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -8969,7 +9046,289 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: computefirewallpolicyrules.compute.cnrm.cloud.google.com +spec: + group: compute.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ComputeFirewallPolicyRule + plural: computefirewallpolicyrules + shortNames: + - gcpcomputefirewallpolicyrule + - gcpcomputefirewallpolicyrules + singular: computefirewallpolicyrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + action: + description: The Action to perform when the client connection triggers + the rule. Can currently be either "allow" or "deny()" where valid + values for status are 403, 404, and 502. + type: string + description: + description: An optional description for this resource. + type: string + direction: + description: 'The direction in which this rule applies. Possible values: + INGRESS, EGRESS' + type: string + disabled: + description: Denotes whether the firewall policy rule is disabled. + When set to true, the firewall policy rule is not enforced and traffic + behaves as if it did not exist. If this is unspecified, the firewall + policy rule will be enabled. + type: boolean + enableLogging: + description: 'Denotes whether to enable logging for a particular rule. + If logging is enabled, logs will be exported to the configured export + destination in Stackdriver. Logs may be exported to BigQuery or + Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' + type: boolean + firewallPolicyRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The firewall policy of the resource. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + match: + description: A match condition that incoming traffic is evaluated + against. If it evaluates to true, the corresponding 'action' is + enforced. + properties: + destIPRanges: + description: CIDR IP address range. Maximum number of destination + CIDR IP ranges allowed is 256. + items: + type: string + type: array + layer4Configs: + description: Pairs of IP protocols and ports that the rule should + match. + items: + properties: + ipProtocol: + 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`, + `ipip`, `sctp`), or the IP protocol number. + type: string + 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: ``.' + items: + type: string + type: array + required: + - ipProtocol + type: object + type: array + srcIPRanges: + description: CIDR IP address range. Maximum number of source CIDR + IP ranges allowed is 256. + items: + type: string + type: array + required: + - layer4Configs + type: object + priority: + description: An integer indicating the priority of a rule in the list. + The priority must be a positive value between 0 and 2147483647. + Rules are evaluated from highest to lowest priority where 0 is the + highest priority and 2147483647 is the lowest prority. + format: int64 + type: integer + targetResources: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + targetServiceAccounts: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + required: + - action + - direction + - firewallPolicyRef + - match + - priority + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + kind: + description: Type of the resource. Always `compute#firewallPolicyRule` + for firewall policy rules + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + ruleTupleCount: + description: Calculation of the complexity of a single firewall policy + rule. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9343,7 +9702,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9400,19 +9759,20 @@ spec: spec: properties: allPorts: - description: |- - Immutable. This field can be used with internal load balancer or network load balancer - when the forwarding rule references a backend service, or with the target - field when it references a TargetInstance. Set this to true to - allow packets addressed to any ports to be forwarded to the backends configured - with this forwarding rule. This can be used when the protocol is TCP/UDP, and it - must be set to true when the protocol is set to L3_DEFAULT. - Cannot be set if port or portRange are set. + description: Immutable. This field is used along with the `backend_service` + field for internal load balancing or with the `target` field for + internal TargetInstance. This field cannot be used with `port` or + `portRange` fields. When the load balancing scheme is `INTERNAL` + and protocol is TCP/UDP, specify this field to allow packets addressed + to any ports will be forwarded to the backends configured with this + forwarding rule. type: boolean allowGlobalAccess: - description: |- - If true, clients can access ILB from all regions. - Otherwise only allows from the local region the ILB is located at. + description: This field is used along with the `backend_service` field + for internal load balancing or with the `target` field for internal + TargetInstance. If the field is set to `TRUE`, clients can access + ILB from all regions. Otherwise only allows access from clients + in the same region as the internal load balancer. type: boolean backendServiceRef: description: |- @@ -9444,9 +9804,8 @@ spec: type: string type: object description: - description: |- - Immutable. An optional description of this resource. Provide this property when - you create the resource. + description: Immutable. An optional description of this resource. + Provide this property when you create the resource. type: string ipAddress: description: |- @@ -9505,34 +9864,49 @@ spec: type: string type: object ipProtocol: - description: |- - Immutable. The IP protocol to which this rule applies. - - When the load balancing scheme is INTERNAL, only TCP and UDP are - valid. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] + description: Immutable. The IP protocol to which this rule applies. + For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, + `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the + load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are + valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the + load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. + For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing + scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP + Load Balancing, the load balancing scheme is `EXTERNAL`, and one + of `TCP` or `UDP` is valid. type: string ipVersion: description: 'Immutable. The IP Version that will be used by this - global forwarding rule. Possible values: ["IPV4", "IPV6"]' + forwarding rule. Valid options are `IPV4` or `IPV6`. This can only + be specified for an external global forwarding rule. Possible values: + UNSPECIFIED_VERSION, IPV4, IPV6' type: string isMirroringCollector: - description: |- - Immutable. Indicates whether or not this load balancer can be used - as a collector for packet mirroring. To prevent mirroring loops, - instances behind this load balancer will not have their traffic - mirrored even if a PacketMirroring rule applies to them. This - can only be set to true for load balancers that have their - loadBalancingScheme set to INTERNAL. + description: Immutable. Indicates whether or not this load balancer + can be used as a collector for packet mirroring. To prevent mirroring + loops, instances behind this load balancer will not have their traffic + mirrored even if a `PacketMirroring` rule applies to them. This + can only be set to true for load balancers that have their `loadBalancingScheme` + set to `INTERNAL`. type: boolean loadBalancingScheme: description: |- - Immutable. This signifies what the ForwardingRule will be used for and can be - EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic - Cloud VPN gateways, protocol forwarding to VMs from an external IP address, - and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. - INTERNAL is used for protocol forwarding to VMs from an internal IP address, - and internal TCP/UDP load balancers. - INTERNAL_MANAGED is used for internal HTTP(S) load balancers. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] + Immutable. Specifies the forwarding rule type. + + * `EXTERNAL` is used for: + * Classic Cloud VPN gateways + * Protocol forwarding to VMs from an external IP address + * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + * `INTERNAL` is used for: + * Protocol forwarding to VMs from an internal IP address + * Internal TCP/UDP load balancers + * `INTERNAL_MANAGED` is used for: + * Internal HTTP(S) load balancers + * `INTERNAL_SELF_MANAGED` is used for: + * Traffic Director + + For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL type: string location: description: 'Location represents the geographical location of the @@ -9541,42 +9915,33 @@ spec: type: string metadataFilters: description: |- - Immutable. Opaque filter criteria used by Loadbalancer to restrict routing - configuration to a limited set xDS compliant clients. In their xDS - requests to Loadbalancer, xDS clients present node metadata. If a - match takes place, the relevant routing configuration is made available - to those proxies. + Immutable. Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. - For each metadataFilter in this list, if its filterMatchCriteria is set - to MATCH_ANY, at least one of the filterLabels must match the - corresponding label provided in the metadata. If its filterMatchCriteria - is set to MATCH_ALL, then all of its filterLabels must match with - corresponding labels in the provided metadata. + For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. - metadataFilters specified here can be overridden by those specified in - the UrlMap that this ForwardingRule references. + `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. - metadataFilters only applies to Loadbalancers that have their - loadBalancingScheme set to INTERNAL_SELF_MANAGED. + `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. items: properties: filterLabels: description: |- - Immutable. The list of label value pairs that must match labels in the - provided metadata based on filterMatchCriteria + Immutable. The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` This list must not be empty and can have at the most 64 entries. items: properties: name: description: |- - Immutable. Name of the metadata label. The length must be between - 1 and 1024 characters, inclusive. + Immutable. Name of metadata label. + + The name can have a maximum length of 1024 characters and must be at least 1 character long. type: string value: description: |- - Immutable. The value that the label must match. The value has a maximum - length of 1024 characters. + Immutable. The value of the label must match the specified value. + + value can have a maximum length of 1024 characters. type: string required: - name @@ -9585,13 +9950,12 @@ spec: type: array filterMatchCriteria: description: |- - Immutable. Specifies how individual filterLabel matches within the list of - filterLabels contribute towards the overall metadataFilter match. + Immutable. Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + + Supported values are: - MATCH_ANY - At least one of the filterLabels must have a matching - label in the provided metadata. - MATCH_ALL - All filterLabels must have matching labels in the - provided metadata. Possible values: ["MATCH_ANY", "MATCH_ALL"] + * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY type: string required: - filterLabels @@ -9630,46 +9994,37 @@ spec: type: string type: object networkTier: - description: |- - Immutable. The networking tier used for configuring this address. If this field is not - specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"] + description: 'Immutable. This signifies the networking tier used for + configuring this load balancer and can only take the following values: + `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values + are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid + value is `PREMIUM`. If this field is not specified, it is assumed + to be `PREMIUM`. If `IPAddress` is specified, this value must be + equal to the networkTier of the Address.' type: string portRange: description: |- - Immutable. This field is used along with the target field for TargetHttpProxy, - TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, - TargetPool, TargetInstance. - - Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets - addressed to ports in the specified range will be forwarded to target. - Forwarding rules with the same [IPAddress, IPProtocol] pair must have - disjoint port ranges. + Immutable. When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: - Some types of forwarding target have constraints on the acceptable - ports: + * TargetHttpProxy: 80, 8080 + * TargetHttpsProxy: 443 + * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetVpnGateway: 500, 4500 - * TargetHttpProxy: 80, 8080 - * TargetHttpsProxy: 443 - * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetVpnGateway: 500, 4500 + @pattern: d+(?:-d+)? type: string ports: - description: |- - Immutable. This field is used along with internal load balancing and network - load balancer when the forwarding rule references a backend service - and when protocol is not L3_DEFAULT. - - A single port or a comma separated list of ports can be configured. - Only packets addressed to these ports will be forwarded to the backends - configured with this forwarding rule. - - You can only use one of ports and portRange, or allPorts. - The three are mutually exclusive. - - You may specify a maximum of up to 5 ports, which can be non-contiguous. + description: 'Immutable. This field is used along with the `backend_service` + field for internal load balancing. When the load balancing scheme + is `INTERNAL`, a list of ports can be configured, for example, [''80''], + [''8000'',''9000'']. Only packets addressed to these ports are forwarded + to the backends configured with the forwarding rule. If the forwarding + rule''s loadBalancingScheme is INTERNAL, you can specify ports in + one of the following ways: * A list of up to five ports, which can + be non-contiguous * Keyword `ALL`, which causes the forwarding rule + to forward traffic on any port of the forwarding rule''s protocol. + @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).' items: type: string type: array @@ -9679,19 +10034,16 @@ spec: is used as the default. type: string serviceLabel: - description: |- - Immutable. An optional prefix to the service name for this Forwarding Rule. - If specified, will be the first label of the fully qualified service - name. - - The label must be 1-63 characters long, and comply with RFC1035. + description: Immutable. An optional prefix to the service name for + this Forwarding Rule. If specified, the prefix is the first label + of the fully qualified service name. The label must be 1-63 characters + long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the - regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first - character must be a lowercase letter, and all following characters - must be a dash, lowercase letter, or digit, except the last - character, which cannot be a dash. - - This field is only used for INTERNAL load balancing. + regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + first character must be a lowercase letter, and all following characters + must be a dash, lowercase letter, or digit, except the last character, + which cannot be a dash. This field is only used for internal load + balancing. type: string subnetworkRef: description: |- @@ -9936,12 +10288,11 @@ spec: type: object type: array creationTimestamp: - description: Creation timestamp in RFC3339 text format. + description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + text format.' type: string labelFingerprint: - description: |- - The fingerprint used for optimistic locking of this resource. Used - internally during updates. + description: Used internally during label updates. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -9951,11 +10302,12 @@ spec: the resource. type: integer selfLink: + description: '[Output Only] Server-defined URL for the resource.' type: string serviceName: - description: |- - The internal fully qualified service name for this Forwarding Rule. - This field is only used for INTERNAL load balancing. + description: '[Output Only] The internal fully qualified service name + for this Forwarding Rule. This field is only used for internal load + balancing.' type: string type: object required: @@ -9976,7 +10328,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10440,7 +10792,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10601,7 +10953,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10762,7 +11114,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11038,7 +11390,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -11780,7 +12132,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11981,7 +12333,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12493,6 +12845,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the interface type: string @@ -12529,6 +12916,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: The project in which the subnetwork belongs. type: string @@ -12810,7 +13202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13200,6 +13592,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the network_interface. type: string @@ -13238,6 +13665,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: Immutable. The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. @@ -13489,7 +13921,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13813,7 +14245,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14014,7 +14446,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14207,7 +14639,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14357,7 +14789,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14565,7 +14997,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14746,7 +15178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14864,7 +15296,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15078,7 +15510,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15376,7 +15808,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15583,7 +16015,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15910,7 +16342,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16178,7 +16610,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16393,7 +16825,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16668,7 +17100,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16885,7 +17317,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16991,7 +17423,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17130,7 +17562,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17507,7 +17939,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17721,7 +18153,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17884,7 +18316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17953,6 +18385,12 @@ spec: 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. type: string + ipv6AccessType: + description: |- + Immutable. The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation + or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet + cannot enable direct path. Possible values: ["EXTERNAL"] + type: string logConfig: description: |- Denotes the logging options for the subnetwork flow logs. If logging is enabled @@ -18080,6 +18518,11 @@ spec: - rangeName type: object type: array + stackType: + description: |- + The stack type for this subnet to identify whether the IPv6 feature is enabled or not. + If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"] + type: string required: - ipCidrRange - networkRef @@ -18116,6 +18559,10 @@ spec: creationTimestamp: description: Creation timestamp in RFC3339 text format. type: string + externalIpv6Prefix: + description: The range of external IPv6 addresses that are owned by + this subnetwork. + type: string fingerprint: description: DEPRECATED — This field is not useful for users, and has been removed as an output. Fingerprint of this resource. This @@ -18126,6 +18573,10 @@ spec: The gateway address for default routes to reach destination addresses outside this subnetwork. type: string + ipv6CidrRange: + description: The range of internal IPv6 addresses that are owned by + this subnetwork. + type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -18154,7 +18605,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18331,7 +18782,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18499,7 +18950,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18739,7 +19190,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18933,7 +19384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19156,7 +19607,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19381,7 +19832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19547,7 +19998,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19707,7 +20158,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22402,7 +22853,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22599,7 +23050,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22966,7 +23417,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -23554,7 +24005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23879,6 +24330,20 @@ spec: description: description: Immutable. Description of the cluster. type: string + dnsConfig: + description: Immutable. Configuration for Cloud DNS for Kubernetes + Engine. + properties: + clusterDns: + description: Which in-cluster DNS provider should be used. + type: string + clusterDnsDomain: + description: The suffix used for all cluster service records. + type: string + clusterDnsScope: + description: The scope of access to cluster DNS records. + type: string + type: object enableAutopilot: description: Immutable. Enable Autopilot for this cluster. type: boolean @@ -23963,6 +24428,18 @@ spec: with multiple masters spread across zones in the region, and with default node locations in those zones as well. type: string + loggingConfig: + description: Logging configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing logs. Valid values include + SYSTEM_COMPONENTS and WORKLOADS. + items: + type: string + type: array + required: + - enableComponents + type: object loggingService: description: The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), @@ -24123,6 +24600,18 @@ spec: version of the most recent official release (which is not necessarily the latest version). type: string + monitoringConfig: + description: Monitoring configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing metrics. Valid values include + SYSTEM_COMPONENTS. + items: + type: string + type: array + required: + - enableComponents + type: object monitoringService: description: The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster @@ -24384,12 +24873,15 @@ spec: description: Immutable. The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeLocations: @@ -24695,7 +25187,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25058,12 +25550,15 @@ spec: workloadMetadataConfig: description: The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeCount: @@ -25174,7 +25669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25300,7 +25795,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25582,7 +26077,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25861,7 +26356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -26153,7 +26648,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27376,7 +27871,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29107,18 +29602,6 @@ spec: creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string - version: - description: Optional. Used to perform a consistent read-modify-write. - This field should be left blank for a `CreateWorkflowTemplate` request. - It is required for an `UpdateWorkflowTemplate` request, and must - match the current server version. A typical update template flow - would fetch the current template with a `GetWorkflowTemplate` request, - which will return the current template with the `version` field - filled in with the current server version. The user updates other - fields in the template, then returns it as part of the `UpdateWorkflowTemplate` - request. - format: int64 - type: integer required: - jobs - location @@ -29280,6 +29763,10 @@ spec: description: Output only. The time template was last updated. format: date-time type: string + version: + description: Output only. The current version of this workflow template. + format: int64 + type: integer type: object required: - spec @@ -29299,7 +29786,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29625,7 +30112,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29820,7 +30307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29919,7 +30406,6 @@ spec: - managedZoneRef - name - rrdatas - - ttl - type type: object status: @@ -29976,7 +30462,545 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestorebackups.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreBackup + plural: filestorebackups + shortNames: + - gcpfilestorebackup + - gcpfilestorebackups + singular: filestorebackup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: A description of the backup with 2048 characters or less. + Requests with longer descriptions will be rejected. + type: string + location: + description: The location for the resource + type: string + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + sourceFileShare: + description: Name of the file share in the source Cloud Filestore + instance that the backup is created from. + type: string + sourceInstanceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the source Cloud Filestore instance, + in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, + used to create this backup. + 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 + - projectRef + - sourceFileShare + - sourceInstanceRef + type: object + status: + properties: + capacityGb: + description: Output only. Capacity of the source file share when the + backup was created. + format: int64 + type: integer + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the backup was created. + format: date-time + type: string + downloadBytes: + description: Output only. Amount of bytes that will be downloaded + if the backup is restored. This may be different than storage bytes, + since sequential backups of the same disk will share storage. + format: int64 + type: integer + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + sourceInstanceTier: + description: 'Output only. The service tier of the source Cloud Filestore + instance that this backup is created from. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + state: + description: 'Output only. The backup state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR, RESTORING' + type: string + storageBytes: + description: Output only. The size of the storage used by the backup. + As backups share storage, this number is expected to change with + backup creation/deletion. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestoreinstances.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreInstance + plural: filestoreinstances + shortNames: + - gcpfilestoreinstance + - gcpfilestoreinstances + singular: filestoreinstance + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: The description of the instance (2048 characters or less). + type: string + fileShares: + description: File system shares on the instance. For this version, + only a single file share is supported. + items: + properties: + capacityGb: + description: File share capacity in gigabytes (GB). Cloud Filestore + defines 1 GB as 1024^3 bytes. + format: int64 + type: integer + name: + description: The name of the file share (must be 16 characters + or less). + type: string + nfsExportOptions: + description: Nfs Export Options. There is a limit of 10 export + options per file share. + items: + properties: + accessMode: + description: 'Either READ_ONLY, for allowing only read + requests on the exported directory, or READ_WRITE, for + allowing both read and write requests. The default is + READ_WRITE. Possible values: ACCESS_MODE_UNSPECIFIED, + READ_ONLY, READ_WRITE' + type: string + anonGid: + description: An integer representing the anonymous group + id with a default value of 65534. Anon_gid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + anonUid: + description: An integer representing the anonymous user + id with a default value of 65534. Anon_uid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + ipRanges: + description: List of either an IPv4 addresses in the format + `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges + in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask + size}` which may mount the file share. Overlapping IP + ranges are not allowed, both within and across NfsExportOptions. + An error will be returned. The limit is 64 IP ranges/addresses + for each FileShareConfig among all NfsExportOptions. + items: + type: string + type: array + squashMode: + description: 'Either NO_ROOT_SQUASH, for allowing root + access on the exported directory, or ROOT_SQUASH, for + not allowing root access. The default is NO_ROOT_SQUASH. + Possible values: SQUASH_MODE_UNSPECIFIED, NO_ROOT_SQUASH, + ROOT_SQUASH' + type: string + type: object + type: array + sourceBackupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the backup, in the format + `projects/{project_number}/locations/{location_id}/backups/{backup_id}`, + that this file share has been restored from. + 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 + location: + description: The location for the resource + type: string + networks: + description: VPC networks to which the instance is connected. For + this version, only a single network is supported. + items: + properties: + ipAddresses: + description: Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` + or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`. + items: + type: string + type: array + modes: + description: Internet protocol versions for which the instance + has IP addresses assigned. For this version, only MODE_IPV4 + is supported. + items: + type: string + type: array + networkRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of the Google Compute Engine [VPC + network](https://cloud.google.com/vpc/docs/vpc) to which + the instance is connected. + 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 + reservedIPRange: + description: A /29 CIDR block in one of the [internal IP address + ranges](https://www.arin.net/reference/research/statistics/address_filters/) + that identifies the range of IP addresses reserved for this + instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The + range you specify can't overlap with either existing subnets + or assigned IP address ranges for other Cloud Filestore instances + in the selected VPC network. + type: string + type: object + type: array + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + tier: + description: 'The service tier of the instance. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + required: + - location + - projectRef + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the instance was created. + format: date-time + type: string + etag: + description: Server-specified ETag for the instance resource to prevent + simultaneous updates from overwriting each other. + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + state: + description: 'Output only. The instance state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR' + type: string + statusMessage: + description: Output only. Additional information about the instance + state, if available. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30130,7 +31154,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30341,7 +31365,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30479,7 +31503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30807,7 +31831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31042,7 +32066,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31406,7 +32430,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31568,7 +32592,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31708,7 +32732,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31942,7 +32966,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32172,7 +33196,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32388,7 +33412,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32566,7 +33590,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32626,6 +33650,10 @@ spec: description: A text description of the service account. Must be less than or equal to 256 UTF-8 bytes. type: string + disabled: + description: Whether the service account is disabled. Defaults to + false + type: boolean displayName: description: The display name for the service account. Can be updated without creating a new resource. @@ -32699,7 +33727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32823,7 +33851,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32973,7 +34001,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33156,7 +34184,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33369,7 +34397,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33522,7 +34550,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33583,6 +34611,10 @@ spec: Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. type: string + importOnly: + description: Immutable. Whether this key may contain imported versions + only. + type: boolean keyRingRef: description: The KMSKeyRing that this key belongs to. oneOf: @@ -33712,7 +34744,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33841,7 +34873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -34111,7 +35143,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34476,7 +35508,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34710,7 +35742,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35471,7 +36503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42189,7 +43221,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42376,7 +43408,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42664,7 +43696,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -42957,7 +43989,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43212,7 +44244,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43438,7 +44470,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43679,7 +44711,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44005,7 +45037,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44771,7 +45803,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -44993,7 +46025,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45354,7 +46386,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45520,7 +46552,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45791,7 +46823,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45968,7 +47000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46248,7 +47280,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46499,7 +47531,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46693,7 +47725,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46869,7 +47901,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47010,7 +48042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47207,7 +48239,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47399,7 +48431,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47539,7 +48571,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47702,7 +48734,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48274,7 +49306,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48449,7 +49481,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48644,7 +49676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48813,7 +49845,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49139,7 +50171,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49324,7 +50356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49525,7 +50557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49872,6 +50904,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object @@ -49904,6 +50939,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object diff --git a/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml b/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml index 132f1e521b..73c599be89 100644 --- a/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml +++ b/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml @@ -16,7 +16,7 @@ apiVersion: v1 kind: Namespace metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-system @@ -25,7 +25,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -35,7 +35,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-resource-stats-recorder @@ -45,7 +45,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-manager @@ -55,7 +55,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-cnrm-system-role @@ -76,7 +76,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-cnrm-system-role @@ -97,7 +97,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -121,6 +121,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -160,7 +161,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -210,7 +211,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -268,7 +269,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -293,7 +294,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -323,7 +324,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -346,6 +347,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -381,7 +383,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -444,7 +446,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -462,7 +464,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -480,7 +482,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -500,7 +502,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -517,7 +519,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -534,7 +536,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -551,7 +553,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -568,7 +570,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -589,7 +591,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -607,7 +609,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -620,8 +622,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.63.0 - image: gcr.io/cnrm-eap/recorder:f225236 + value: 1.64.0 + image: gcr.io/cnrm-eap/recorder:7d30457 imagePullPolicy: Always name: recorder ports: @@ -653,7 +655,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -668,7 +670,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -683,7 +685,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:f225236 + image: gcr.io/cnrm-eap/webhook:7d30457 imagePullPolicy: Always name: webhook ports: @@ -711,7 +713,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -726,7 +728,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -736,7 +738,7 @@ spec: - --stderrthreshold=INFO command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:f225236 + image: gcr.io/cnrm-eap/deletiondefender:7d30457 imagePullPolicy: Always name: deletiondefender ports: @@ -764,7 +766,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook diff --git a/install-bundles/install-bundle-namespaced/crds.yaml b/install-bundles/install-bundle-namespaced/crds.yaml index 9370c02111..f66669ae44 100644 --- a/install-bundles/install-bundle-namespaced/crds.yaml +++ b/install-bundles/install-bundle-namespaced/crds.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -396,7 +396,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1676,7 +1676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1854,7 +1854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2174,7 +2174,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3000,7 +3000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3439,7 +3439,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3608,7 +3608,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3811,7 +3811,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4005,7 +4005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4166,7 +4166,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4432,7 +4432,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4852,7 +4852,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5619,6 +5619,41 @@ spec: required: - topicRef type: object + serviceAccountRef: + description: |- + The service account used for all user-controlled operations including + triggers.patch, triggers.run, builds.create, and builds.cancel. + + If no service account is set, then the standard Cloud Build service account + ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + + When populating via the external field, the following format is supported: + projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The email of an IAMServiceAccount. + 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 substitutions: additionalProperties: type: string @@ -5795,7 +5830,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5989,7 +6024,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6531,7 +6566,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6778,7 +6813,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7003,7 +7038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7403,6 +7438,48 @@ spec: Time for which instance will be drained (not accept new connections, but still work to finish started). type: integer + connectionTrackingPolicy: + description: |- + Connection Tracking configuration for this BackendService. + This is available only for Layer 4 Internal Load Balancing and + Network Load Balancing. + properties: + connectionPersistenceOnUnhealthyBackends: + description: |- + Specifies connection persistence when backends are unhealthy. + + If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on + unhealthy backends only for connection-oriented protocols (TCP and SCTP) + and only if the Tracking Mode is PER_CONNECTION (default tracking mode) + or the Session Affinity is configured for 5-tuple. They do not persist + for UDP. + + If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing + connections on the unhealthy backend are never persisted on the unhealthy + backend. They are always diverted to newly selected healthy backends + (unless all backends are unhealthy). + + If set to 'ALWAYS_PERSIST', existing connections always persist on + unhealthy backends regardless of protocol and session affinity. It is + generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"] + type: string + idleTimeoutSec: + description: "Specifies how long to keep a Connection Tracking + entry while there is\nno matching traffic (in seconds). \n\nFor + L4 ILB the minimum(default) is 10 minutes and maximum is 16 + hours.\n\nFor NLB the minimum(default) is 60 seconds and the + maximum is 16 hours." + type: integer + trackingMode: + description: |- + Specifies the key used for connection tracking. There are two options: + 'PER_CONNECTION': The Connection Tracking is performed as per the + Connection Key (default Hash Method) for the specific protocol. + + 'PER_SESSION': The Connection Tracking is performed as per the + configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"] + type: string + type: object consistentHash: description: |- Consistent Hash-based load balancing can be used to provide soft session @@ -7620,8 +7697,8 @@ spec: from. type: string required: - - name - key + - name type: object type: object type: object @@ -7998,7 +8075,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8606,7 +8683,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8752,7 +8829,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -8969,7 +9046,289 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: computefirewallpolicyrules.compute.cnrm.cloud.google.com +spec: + group: compute.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ComputeFirewallPolicyRule + plural: computefirewallpolicyrules + shortNames: + - gcpcomputefirewallpolicyrule + - gcpcomputefirewallpolicyrules + singular: computefirewallpolicyrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + action: + description: The Action to perform when the client connection triggers + the rule. Can currently be either "allow" or "deny()" where valid + values for status are 403, 404, and 502. + type: string + description: + description: An optional description for this resource. + type: string + direction: + description: 'The direction in which this rule applies. Possible values: + INGRESS, EGRESS' + type: string + disabled: + description: Denotes whether the firewall policy rule is disabled. + When set to true, the firewall policy rule is not enforced and traffic + behaves as if it did not exist. If this is unspecified, the firewall + policy rule will be enabled. + type: boolean + enableLogging: + description: 'Denotes whether to enable logging for a particular rule. + If logging is enabled, logs will be exported to the configured export + destination in Stackdriver. Logs may be exported to BigQuery or + Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' + type: boolean + firewallPolicyRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The firewall policy of the resource. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + match: + description: A match condition that incoming traffic is evaluated + against. If it evaluates to true, the corresponding 'action' is + enforced. + properties: + destIPRanges: + description: CIDR IP address range. Maximum number of destination + CIDR IP ranges allowed is 256. + items: + type: string + type: array + layer4Configs: + description: Pairs of IP protocols and ports that the rule should + match. + items: + properties: + ipProtocol: + 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`, + `ipip`, `sctp`), or the IP protocol number. + type: string + 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: ``.' + items: + type: string + type: array + required: + - ipProtocol + type: object + type: array + srcIPRanges: + description: CIDR IP address range. Maximum number of source CIDR + IP ranges allowed is 256. + items: + type: string + type: array + required: + - layer4Configs + type: object + priority: + description: An integer indicating the priority of a rule in the list. + The priority must be a positive value between 0 and 2147483647. + Rules are evaluated from highest to lowest priority where 0 is the + highest priority and 2147483647 is the lowest prority. + format: int64 + type: integer + targetResources: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + targetServiceAccounts: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + required: + - action + - direction + - firewallPolicyRef + - match + - priority + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + kind: + description: Type of the resource. Always `compute#firewallPolicyRule` + for firewall policy rules + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + ruleTupleCount: + description: Calculation of the complexity of a single firewall policy + rule. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9343,7 +9702,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9400,19 +9759,20 @@ spec: spec: properties: allPorts: - description: |- - Immutable. This field can be used with internal load balancer or network load balancer - when the forwarding rule references a backend service, or with the target - field when it references a TargetInstance. Set this to true to - allow packets addressed to any ports to be forwarded to the backends configured - with this forwarding rule. This can be used when the protocol is TCP/UDP, and it - must be set to true when the protocol is set to L3_DEFAULT. - Cannot be set if port or portRange are set. + description: Immutable. This field is used along with the `backend_service` + field for internal load balancing or with the `target` field for + internal TargetInstance. This field cannot be used with `port` or + `portRange` fields. When the load balancing scheme is `INTERNAL` + and protocol is TCP/UDP, specify this field to allow packets addressed + to any ports will be forwarded to the backends configured with this + forwarding rule. type: boolean allowGlobalAccess: - description: |- - If true, clients can access ILB from all regions. - Otherwise only allows from the local region the ILB is located at. + description: This field is used along with the `backend_service` field + for internal load balancing or with the `target` field for internal + TargetInstance. If the field is set to `TRUE`, clients can access + ILB from all regions. Otherwise only allows access from clients + in the same region as the internal load balancer. type: boolean backendServiceRef: description: |- @@ -9444,9 +9804,8 @@ spec: type: string type: object description: - description: |- - Immutable. An optional description of this resource. Provide this property when - you create the resource. + description: Immutable. An optional description of this resource. + Provide this property when you create the resource. type: string ipAddress: description: |- @@ -9505,34 +9864,49 @@ spec: type: string type: object ipProtocol: - description: |- - Immutable. The IP protocol to which this rule applies. - - When the load balancing scheme is INTERNAL, only TCP and UDP are - valid. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] + description: Immutable. The IP protocol to which this rule applies. + For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, + `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the + load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are + valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the + load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. + For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing + scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP + Load Balancing, the load balancing scheme is `EXTERNAL`, and one + of `TCP` or `UDP` is valid. type: string ipVersion: description: 'Immutable. The IP Version that will be used by this - global forwarding rule. Possible values: ["IPV4", "IPV6"]' + forwarding rule. Valid options are `IPV4` or `IPV6`. This can only + be specified for an external global forwarding rule. Possible values: + UNSPECIFIED_VERSION, IPV4, IPV6' type: string isMirroringCollector: - description: |- - Immutable. Indicates whether or not this load balancer can be used - as a collector for packet mirroring. To prevent mirroring loops, - instances behind this load balancer will not have their traffic - mirrored even if a PacketMirroring rule applies to them. This - can only be set to true for load balancers that have their - loadBalancingScheme set to INTERNAL. + description: Immutable. Indicates whether or not this load balancer + can be used as a collector for packet mirroring. To prevent mirroring + loops, instances behind this load balancer will not have their traffic + mirrored even if a `PacketMirroring` rule applies to them. This + can only be set to true for load balancers that have their `loadBalancingScheme` + set to `INTERNAL`. type: boolean loadBalancingScheme: description: |- - Immutable. This signifies what the ForwardingRule will be used for and can be - EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic - Cloud VPN gateways, protocol forwarding to VMs from an external IP address, - and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. - INTERNAL is used for protocol forwarding to VMs from an internal IP address, - and internal TCP/UDP load balancers. - INTERNAL_MANAGED is used for internal HTTP(S) load balancers. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] + Immutable. Specifies the forwarding rule type. + + * `EXTERNAL` is used for: + * Classic Cloud VPN gateways + * Protocol forwarding to VMs from an external IP address + * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + * `INTERNAL` is used for: + * Protocol forwarding to VMs from an internal IP address + * Internal TCP/UDP load balancers + * `INTERNAL_MANAGED` is used for: + * Internal HTTP(S) load balancers + * `INTERNAL_SELF_MANAGED` is used for: + * Traffic Director + + For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL type: string location: description: 'Location represents the geographical location of the @@ -9541,42 +9915,33 @@ spec: type: string metadataFilters: description: |- - Immutable. Opaque filter criteria used by Loadbalancer to restrict routing - configuration to a limited set xDS compliant clients. In their xDS - requests to Loadbalancer, xDS clients present node metadata. If a - match takes place, the relevant routing configuration is made available - to those proxies. + Immutable. Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. - For each metadataFilter in this list, if its filterMatchCriteria is set - to MATCH_ANY, at least one of the filterLabels must match the - corresponding label provided in the metadata. If its filterMatchCriteria - is set to MATCH_ALL, then all of its filterLabels must match with - corresponding labels in the provided metadata. + For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. - metadataFilters specified here can be overridden by those specified in - the UrlMap that this ForwardingRule references. + `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. - metadataFilters only applies to Loadbalancers that have their - loadBalancingScheme set to INTERNAL_SELF_MANAGED. + `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. items: properties: filterLabels: description: |- - Immutable. The list of label value pairs that must match labels in the - provided metadata based on filterMatchCriteria + Immutable. The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` This list must not be empty and can have at the most 64 entries. items: properties: name: description: |- - Immutable. Name of the metadata label. The length must be between - 1 and 1024 characters, inclusive. + Immutable. Name of metadata label. + + The name can have a maximum length of 1024 characters and must be at least 1 character long. type: string value: description: |- - Immutable. The value that the label must match. The value has a maximum - length of 1024 characters. + Immutable. The value of the label must match the specified value. + + value can have a maximum length of 1024 characters. type: string required: - name @@ -9585,13 +9950,12 @@ spec: type: array filterMatchCriteria: description: |- - Immutable. Specifies how individual filterLabel matches within the list of - filterLabels contribute towards the overall metadataFilter match. + Immutable. Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + + Supported values are: - MATCH_ANY - At least one of the filterLabels must have a matching - label in the provided metadata. - MATCH_ALL - All filterLabels must have matching labels in the - provided metadata. Possible values: ["MATCH_ANY", "MATCH_ALL"] + * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY type: string required: - filterLabels @@ -9630,46 +9994,37 @@ spec: type: string type: object networkTier: - description: |- - Immutable. The networking tier used for configuring this address. If this field is not - specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"] + description: 'Immutable. This signifies the networking tier used for + configuring this load balancer and can only take the following values: + `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values + are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid + value is `PREMIUM`. If this field is not specified, it is assumed + to be `PREMIUM`. If `IPAddress` is specified, this value must be + equal to the networkTier of the Address.' type: string portRange: description: |- - Immutable. This field is used along with the target field for TargetHttpProxy, - TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, - TargetPool, TargetInstance. - - Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets - addressed to ports in the specified range will be forwarded to target. - Forwarding rules with the same [IPAddress, IPProtocol] pair must have - disjoint port ranges. + Immutable. When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: - Some types of forwarding target have constraints on the acceptable - ports: + * TargetHttpProxy: 80, 8080 + * TargetHttpsProxy: 443 + * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetVpnGateway: 500, 4500 - * TargetHttpProxy: 80, 8080 - * TargetHttpsProxy: 443 - * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetVpnGateway: 500, 4500 + @pattern: d+(?:-d+)? type: string ports: - description: |- - Immutable. This field is used along with internal load balancing and network - load balancer when the forwarding rule references a backend service - and when protocol is not L3_DEFAULT. - - A single port or a comma separated list of ports can be configured. - Only packets addressed to these ports will be forwarded to the backends - configured with this forwarding rule. - - You can only use one of ports and portRange, or allPorts. - The three are mutually exclusive. - - You may specify a maximum of up to 5 ports, which can be non-contiguous. + description: 'Immutable. This field is used along with the `backend_service` + field for internal load balancing. When the load balancing scheme + is `INTERNAL`, a list of ports can be configured, for example, [''80''], + [''8000'',''9000'']. Only packets addressed to these ports are forwarded + to the backends configured with the forwarding rule. If the forwarding + rule''s loadBalancingScheme is INTERNAL, you can specify ports in + one of the following ways: * A list of up to five ports, which can + be non-contiguous * Keyword `ALL`, which causes the forwarding rule + to forward traffic on any port of the forwarding rule''s protocol. + @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).' items: type: string type: array @@ -9679,19 +10034,16 @@ spec: is used as the default. type: string serviceLabel: - description: |- - Immutable. An optional prefix to the service name for this Forwarding Rule. - If specified, will be the first label of the fully qualified service - name. - - The label must be 1-63 characters long, and comply with RFC1035. + description: Immutable. An optional prefix to the service name for + this Forwarding Rule. If specified, the prefix is the first label + of the fully qualified service name. The label must be 1-63 characters + long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the - regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first - character must be a lowercase letter, and all following characters - must be a dash, lowercase letter, or digit, except the last - character, which cannot be a dash. - - This field is only used for INTERNAL load balancing. + regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + first character must be a lowercase letter, and all following characters + must be a dash, lowercase letter, or digit, except the last character, + which cannot be a dash. This field is only used for internal load + balancing. type: string subnetworkRef: description: |- @@ -9936,12 +10288,11 @@ spec: type: object type: array creationTimestamp: - description: Creation timestamp in RFC3339 text format. + description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + text format.' type: string labelFingerprint: - description: |- - The fingerprint used for optimistic locking of this resource. Used - internally during updates. + description: Used internally during label updates. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -9951,11 +10302,12 @@ spec: the resource. type: integer selfLink: + description: '[Output Only] Server-defined URL for the resource.' type: string serviceName: - description: |- - The internal fully qualified service name for this Forwarding Rule. - This field is only used for INTERNAL load balancing. + description: '[Output Only] The internal fully qualified service name + for this Forwarding Rule. This field is only used for internal load + balancing.' type: string type: object required: @@ -9976,7 +10328,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10440,7 +10792,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10601,7 +10953,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10762,7 +11114,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11038,7 +11390,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -11780,7 +12132,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11981,7 +12333,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12493,6 +12845,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the interface type: string @@ -12529,6 +12916,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: The project in which the subnetwork belongs. type: string @@ -12810,7 +13202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13200,6 +13592,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the network_interface. type: string @@ -13238,6 +13665,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: Immutable. The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. @@ -13489,7 +13921,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13813,7 +14245,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14014,7 +14446,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14207,7 +14639,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14357,7 +14789,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14565,7 +14997,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14746,7 +15178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14864,7 +15296,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15078,7 +15510,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15376,7 +15808,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15583,7 +16015,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15910,7 +16342,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16178,7 +16610,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16393,7 +16825,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16668,7 +17100,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16885,7 +17317,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16991,7 +17423,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17130,7 +17562,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17507,7 +17939,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17721,7 +18153,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17884,7 +18316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17953,6 +18385,12 @@ spec: 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. type: string + ipv6AccessType: + description: |- + Immutable. The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation + or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet + cannot enable direct path. Possible values: ["EXTERNAL"] + type: string logConfig: description: |- Denotes the logging options for the subnetwork flow logs. If logging is enabled @@ -18080,6 +18518,11 @@ spec: - rangeName type: object type: array + stackType: + description: |- + The stack type for this subnet to identify whether the IPv6 feature is enabled or not. + If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"] + type: string required: - ipCidrRange - networkRef @@ -18116,6 +18559,10 @@ spec: creationTimestamp: description: Creation timestamp in RFC3339 text format. type: string + externalIpv6Prefix: + description: The range of external IPv6 addresses that are owned by + this subnetwork. + type: string fingerprint: description: DEPRECATED — This field is not useful for users, and has been removed as an output. Fingerprint of this resource. This @@ -18126,6 +18573,10 @@ spec: The gateway address for default routes to reach destination addresses outside this subnetwork. type: string + ipv6CidrRange: + description: The range of internal IPv6 addresses that are owned by + this subnetwork. + type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -18154,7 +18605,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18331,7 +18782,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18499,7 +18950,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18739,7 +19190,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18933,7 +19384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19156,7 +19607,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19381,7 +19832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19547,7 +19998,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19707,7 +20158,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22402,7 +22853,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22599,7 +23050,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22966,7 +23417,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -23554,7 +24005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23879,6 +24330,20 @@ spec: description: description: Immutable. Description of the cluster. type: string + dnsConfig: + description: Immutable. Configuration for Cloud DNS for Kubernetes + Engine. + properties: + clusterDns: + description: Which in-cluster DNS provider should be used. + type: string + clusterDnsDomain: + description: The suffix used for all cluster service records. + type: string + clusterDnsScope: + description: The scope of access to cluster DNS records. + type: string + type: object enableAutopilot: description: Immutable. Enable Autopilot for this cluster. type: boolean @@ -23963,6 +24428,18 @@ spec: with multiple masters spread across zones in the region, and with default node locations in those zones as well. type: string + loggingConfig: + description: Logging configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing logs. Valid values include + SYSTEM_COMPONENTS and WORKLOADS. + items: + type: string + type: array + required: + - enableComponents + type: object loggingService: description: The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), @@ -24123,6 +24600,18 @@ spec: version of the most recent official release (which is not necessarily the latest version). type: string + monitoringConfig: + description: Monitoring configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing metrics. Valid values include + SYSTEM_COMPONENTS. + items: + type: string + type: array + required: + - enableComponents + type: object monitoringService: description: The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster @@ -24384,12 +24873,15 @@ spec: description: Immutable. The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeLocations: @@ -24695,7 +25187,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25058,12 +25550,15 @@ spec: workloadMetadataConfig: description: The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeCount: @@ -25174,7 +25669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25300,7 +25795,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25582,7 +26077,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25861,7 +26356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -26153,7 +26648,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27376,7 +27871,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29107,18 +29602,6 @@ spec: creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string - version: - description: Optional. Used to perform a consistent read-modify-write. - This field should be left blank for a `CreateWorkflowTemplate` request. - It is required for an `UpdateWorkflowTemplate` request, and must - match the current server version. A typical update template flow - would fetch the current template with a `GetWorkflowTemplate` request, - which will return the current template with the `version` field - filled in with the current server version. The user updates other - fields in the template, then returns it as part of the `UpdateWorkflowTemplate` - request. - format: int64 - type: integer required: - jobs - location @@ -29280,6 +29763,10 @@ spec: description: Output only. The time template was last updated. format: date-time type: string + version: + description: Output only. The current version of this workflow template. + format: int64 + type: integer type: object required: - spec @@ -29299,7 +29786,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29625,7 +30112,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29820,7 +30307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29919,7 +30406,6 @@ spec: - managedZoneRef - name - rrdatas - - ttl - type type: object status: @@ -29976,7 +30462,545 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestorebackups.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreBackup + plural: filestorebackups + shortNames: + - gcpfilestorebackup + - gcpfilestorebackups + singular: filestorebackup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: A description of the backup with 2048 characters or less. + Requests with longer descriptions will be rejected. + type: string + location: + description: The location for the resource + type: string + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + sourceFileShare: + description: Name of the file share in the source Cloud Filestore + instance that the backup is created from. + type: string + sourceInstanceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the source Cloud Filestore instance, + in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, + used to create this backup. + 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 + - projectRef + - sourceFileShare + - sourceInstanceRef + type: object + status: + properties: + capacityGb: + description: Output only. Capacity of the source file share when the + backup was created. + format: int64 + type: integer + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the backup was created. + format: date-time + type: string + downloadBytes: + description: Output only. Amount of bytes that will be downloaded + if the backup is restored. This may be different than storage bytes, + since sequential backups of the same disk will share storage. + format: int64 + type: integer + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + sourceInstanceTier: + description: 'Output only. The service tier of the source Cloud Filestore + instance that this backup is created from. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + state: + description: 'Output only. The backup state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR, RESTORING' + type: string + storageBytes: + description: Output only. The size of the storage used by the backup. + As backups share storage, this number is expected to change with + backup creation/deletion. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestoreinstances.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreInstance + plural: filestoreinstances + shortNames: + - gcpfilestoreinstance + - gcpfilestoreinstances + singular: filestoreinstance + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: The description of the instance (2048 characters or less). + type: string + fileShares: + description: File system shares on the instance. For this version, + only a single file share is supported. + items: + properties: + capacityGb: + description: File share capacity in gigabytes (GB). Cloud Filestore + defines 1 GB as 1024^3 bytes. + format: int64 + type: integer + name: + description: The name of the file share (must be 16 characters + or less). + type: string + nfsExportOptions: + description: Nfs Export Options. There is a limit of 10 export + options per file share. + items: + properties: + accessMode: + description: 'Either READ_ONLY, for allowing only read + requests on the exported directory, or READ_WRITE, for + allowing both read and write requests. The default is + READ_WRITE. Possible values: ACCESS_MODE_UNSPECIFIED, + READ_ONLY, READ_WRITE' + type: string + anonGid: + description: An integer representing the anonymous group + id with a default value of 65534. Anon_gid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + anonUid: + description: An integer representing the anonymous user + id with a default value of 65534. Anon_uid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + ipRanges: + description: List of either an IPv4 addresses in the format + `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges + in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask + size}` which may mount the file share. Overlapping IP + ranges are not allowed, both within and across NfsExportOptions. + An error will be returned. The limit is 64 IP ranges/addresses + for each FileShareConfig among all NfsExportOptions. + items: + type: string + type: array + squashMode: + description: 'Either NO_ROOT_SQUASH, for allowing root + access on the exported directory, or ROOT_SQUASH, for + not allowing root access. The default is NO_ROOT_SQUASH. + Possible values: SQUASH_MODE_UNSPECIFIED, NO_ROOT_SQUASH, + ROOT_SQUASH' + type: string + type: object + type: array + sourceBackupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the backup, in the format + `projects/{project_number}/locations/{location_id}/backups/{backup_id}`, + that this file share has been restored from. + 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 + location: + description: The location for the resource + type: string + networks: + description: VPC networks to which the instance is connected. For + this version, only a single network is supported. + items: + properties: + ipAddresses: + description: Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` + or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`. + items: + type: string + type: array + modes: + description: Internet protocol versions for which the instance + has IP addresses assigned. For this version, only MODE_IPV4 + is supported. + items: + type: string + type: array + networkRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of the Google Compute Engine [VPC + network](https://cloud.google.com/vpc/docs/vpc) to which + the instance is connected. + 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 + reservedIPRange: + description: A /29 CIDR block in one of the [internal IP address + ranges](https://www.arin.net/reference/research/statistics/address_filters/) + that identifies the range of IP addresses reserved for this + instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The + range you specify can't overlap with either existing subnets + or assigned IP address ranges for other Cloud Filestore instances + in the selected VPC network. + type: string + type: object + type: array + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + tier: + description: 'The service tier of the instance. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + required: + - location + - projectRef + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the instance was created. + format: date-time + type: string + etag: + description: Server-specified ETag for the instance resource to prevent + simultaneous updates from overwriting each other. + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + state: + description: 'Output only. The instance state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR' + type: string + statusMessage: + description: Output only. Additional information about the instance + state, if available. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30130,7 +31154,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30341,7 +31365,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30479,7 +31503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30807,7 +31831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31042,7 +32066,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31406,7 +32430,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31568,7 +32592,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31708,7 +32732,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31942,7 +32966,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32172,7 +33196,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32388,7 +33412,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32566,7 +33590,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32626,6 +33650,10 @@ spec: description: A text description of the service account. Must be less than or equal to 256 UTF-8 bytes. type: string + disabled: + description: Whether the service account is disabled. Defaults to + false + type: boolean displayName: description: The display name for the service account. Can be updated without creating a new resource. @@ -32699,7 +33727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32823,7 +33851,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32973,7 +34001,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33156,7 +34184,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33369,7 +34397,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33522,7 +34550,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33583,6 +34611,10 @@ spec: Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. type: string + importOnly: + description: Immutable. Whether this key may contain imported versions + only. + type: boolean keyRingRef: description: The KMSKeyRing that this key belongs to. oneOf: @@ -33712,7 +34744,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33841,7 +34873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -34111,7 +35143,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34476,7 +35508,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34710,7 +35742,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35471,7 +36503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42189,7 +43221,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42376,7 +43408,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42664,7 +43696,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -42957,7 +43989,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43212,7 +44244,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43438,7 +44470,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43679,7 +44711,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44005,7 +45037,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44771,7 +45803,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -44993,7 +46025,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45354,7 +46386,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45520,7 +46552,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45791,7 +46823,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45968,7 +47000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46248,7 +47280,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46499,7 +47531,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46693,7 +47725,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46869,7 +47901,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47010,7 +48042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47207,7 +48239,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47399,7 +48431,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47539,7 +48571,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47702,7 +48734,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48274,7 +49306,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48449,7 +49481,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48644,7 +49676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48813,7 +49845,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49139,7 +50171,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49324,7 +50356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49525,7 +50557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49872,6 +50904,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object @@ -49904,6 +50939,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object diff --git a/install-bundles/install-bundle-namespaced/per-namespace-components.yaml b/install-bundles/install-bundle-namespaced/per-namespace-components.yaml index 3807f9d695..ade84cef58 100644 --- a/install-bundles/install-bundle-namespaced/per-namespace-components.yaml +++ b/install-bundles/install-bundle-namespaced/per-namespace-components.yaml @@ -16,7 +16,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 iam.gke.io/gcp-service-account: cnrm-system-${NAMESPACE?}@${PROJECT_ID?}.iam.gserviceaccount.com labels: cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} @@ -28,7 +28,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} cnrm.cloud.google.com/system: "true" @@ -47,7 +47,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} cnrm.cloud.google.com/system: "true" @@ -66,7 +66,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} cnrm.cloud.google.com/system: "true" @@ -85,7 +85,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} cnrm.cloud.google.com/system: "true" @@ -103,7 +103,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -127,7 +127,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} @@ -144,7 +144,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} @@ -157,7 +157,7 @@ spec: - --prometheus-scrape-endpoint=:8888 command: - /configconnector/manager - image: gcr.io/cnrm-eap/controller:f225236 + image: gcr.io/cnrm-eap/controller:7d30457 imagePullPolicy: Always name: manager ports: diff --git a/install-bundles/install-bundle-workload-identity/0-cnrm-system.yaml b/install-bundles/install-bundle-workload-identity/0-cnrm-system.yaml index a696ecf5d2..c8f48aa8e6 100644 --- a/install-bundles/install-bundle-workload-identity/0-cnrm-system.yaml +++ b/install-bundles/install-bundle-workload-identity/0-cnrm-system.yaml @@ -16,7 +16,7 @@ apiVersion: v1 kind: Namespace metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-system @@ -25,7 +25,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 iam.gke.io/gcp-service-account: cnrm-system@${PROJECT_ID?}.iam.gserviceaccount.com labels: cnrm.cloud.google.com/system: "true" @@ -36,7 +36,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -46,7 +46,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-resource-stats-recorder @@ -56,7 +56,7 @@ apiVersion: v1 kind: ServiceAccount metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-manager @@ -66,7 +66,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-cnrm-system-role @@ -87,7 +87,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-cnrm-system-role @@ -108,7 +108,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -132,6 +132,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -171,7 +172,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -221,7 +222,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -279,7 +280,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -304,7 +305,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -334,7 +335,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -357,6 +358,7 @@ rules: - datafusion.cnrm.cloud.google.com - dataproc.cnrm.cloud.google.com - dns.cnrm.cloud.google.com + - filestore.cnrm.cloud.google.com - firestore.cnrm.cloud.google.com - gameservices.cnrm.cloud.google.com - gkehub.cnrm.cloud.google.com @@ -392,7 +394,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -455,7 +457,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -473,7 +475,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -491,7 +493,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -514,7 +516,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -531,7 +533,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-binding @@ -548,7 +550,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-watcher-binding @@ -565,7 +567,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -582,7 +584,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -599,7 +601,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -616,7 +618,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -638,7 +640,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -659,7 +661,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -677,7 +679,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -690,8 +692,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.63.0 - image: gcr.io/cnrm-eap/recorder:f225236 + value: 1.64.0 + image: gcr.io/cnrm-eap/recorder:7d30457 imagePullPolicy: Always name: recorder ports: @@ -723,7 +725,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -738,7 +740,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -753,7 +755,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:f225236 + image: gcr.io/cnrm-eap/webhook:7d30457 imagePullPolicy: Always name: webhook ports: @@ -781,7 +783,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -796,7 +798,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -807,7 +809,7 @@ spec: - --prometheus-scrape-endpoint=:8888 command: - /configconnector/manager - image: gcr.io/cnrm-eap/controller:f225236 + image: gcr.io/cnrm-eap/controller:7d30457 imagePullPolicy: Always name: manager ports: @@ -835,7 +837,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -850,7 +852,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -860,7 +862,7 @@ spec: - --stderrthreshold=INFO command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:f225236 + image: gcr.io/cnrm-eap/deletiondefender:7d30457 imagePullPolicy: Always name: deletiondefender ports: @@ -888,7 +890,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook diff --git a/install-bundles/install-bundle-workload-identity/crds.yaml b/install-bundles/install-bundle-workload-identity/crds.yaml index 9370c02111..f66669ae44 100644 --- a/install-bundles/install-bundle-workload-identity/crds.yaml +++ b/install-bundles/install-bundle-workload-identity/crds.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -396,7 +396,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1676,7 +1676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1854,7 +1854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2174,7 +2174,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3000,7 +3000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3439,7 +3439,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3608,7 +3608,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3811,7 +3811,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4005,7 +4005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4166,7 +4166,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4432,7 +4432,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4852,7 +4852,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5619,6 +5619,41 @@ spec: required: - topicRef type: object + serviceAccountRef: + description: |- + The service account used for all user-controlled operations including + triggers.patch, triggers.run, builds.create, and builds.cancel. + + If no service account is set, then the standard Cloud Build service account + ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + + When populating via the external field, the following format is supported: + projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The email of an IAMServiceAccount. + 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 substitutions: additionalProperties: type: string @@ -5795,7 +5830,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5989,7 +6024,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6531,7 +6566,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6778,7 +6813,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7003,7 +7038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7403,6 +7438,48 @@ spec: Time for which instance will be drained (not accept new connections, but still work to finish started). type: integer + connectionTrackingPolicy: + description: |- + Connection Tracking configuration for this BackendService. + This is available only for Layer 4 Internal Load Balancing and + Network Load Balancing. + properties: + connectionPersistenceOnUnhealthyBackends: + description: |- + Specifies connection persistence when backends are unhealthy. + + If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on + unhealthy backends only for connection-oriented protocols (TCP and SCTP) + and only if the Tracking Mode is PER_CONNECTION (default tracking mode) + or the Session Affinity is configured for 5-tuple. They do not persist + for UDP. + + If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing + connections on the unhealthy backend are never persisted on the unhealthy + backend. They are always diverted to newly selected healthy backends + (unless all backends are unhealthy). + + If set to 'ALWAYS_PERSIST', existing connections always persist on + unhealthy backends regardless of protocol and session affinity. It is + generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"] + type: string + idleTimeoutSec: + description: "Specifies how long to keep a Connection Tracking + entry while there is\nno matching traffic (in seconds). \n\nFor + L4 ILB the minimum(default) is 10 minutes and maximum is 16 + hours.\n\nFor NLB the minimum(default) is 60 seconds and the + maximum is 16 hours." + type: integer + trackingMode: + description: |- + Specifies the key used for connection tracking. There are two options: + 'PER_CONNECTION': The Connection Tracking is performed as per the + Connection Key (default Hash Method) for the specific protocol. + + 'PER_SESSION': The Connection Tracking is performed as per the + configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"] + type: string + type: object consistentHash: description: |- Consistent Hash-based load balancing can be used to provide soft session @@ -7620,8 +7697,8 @@ spec: from. type: string required: - - name - key + - name type: object type: object type: object @@ -7998,7 +8075,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8606,7 +8683,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8752,7 +8829,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -8969,7 +9046,289 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: computefirewallpolicyrules.compute.cnrm.cloud.google.com +spec: + group: compute.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ComputeFirewallPolicyRule + plural: computefirewallpolicyrules + shortNames: + - gcpcomputefirewallpolicyrule + - gcpcomputefirewallpolicyrules + singular: computefirewallpolicyrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + action: + description: The Action to perform when the client connection triggers + the rule. Can currently be either "allow" or "deny()" where valid + values for status are 403, 404, and 502. + type: string + description: + description: An optional description for this resource. + type: string + direction: + description: 'The direction in which this rule applies. Possible values: + INGRESS, EGRESS' + type: string + disabled: + description: Denotes whether the firewall policy rule is disabled. + When set to true, the firewall policy rule is not enforced and traffic + behaves as if it did not exist. If this is unspecified, the firewall + policy rule will be enabled. + type: boolean + enableLogging: + description: 'Denotes whether to enable logging for a particular rule. + If logging is enabled, logs will be exported to the configured export + destination in Stackdriver. Logs may be exported to BigQuery or + Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' + type: boolean + firewallPolicyRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The firewall policy of the resource. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + match: + description: A match condition that incoming traffic is evaluated + against. If it evaluates to true, the corresponding 'action' is + enforced. + properties: + destIPRanges: + description: CIDR IP address range. Maximum number of destination + CIDR IP ranges allowed is 256. + items: + type: string + type: array + layer4Configs: + description: Pairs of IP protocols and ports that the rule should + match. + items: + properties: + ipProtocol: + 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`, + `ipip`, `sctp`), or the IP protocol number. + type: string + 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: ``.' + items: + type: string + type: array + required: + - ipProtocol + type: object + type: array + srcIPRanges: + description: CIDR IP address range. Maximum number of source CIDR + IP ranges allowed is 256. + items: + type: string + type: array + required: + - layer4Configs + type: object + priority: + description: An integer indicating the priority of a rule in the list. + The priority must be a positive value between 0 and 2147483647. + Rules are evaluated from highest to lowest priority where 0 is the + highest priority and 2147483647 is the lowest prority. + format: int64 + type: integer + targetResources: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + targetServiceAccounts: + items: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - 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 + required: + - action + - direction + - firewallPolicyRef + - match + - priority + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + kind: + description: Type of the resource. Always `compute#firewallPolicyRule` + for firewall policy rules + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + ruleTupleCount: + description: Calculation of the complexity of a single firewall policy + rule. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9343,7 +9702,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9400,19 +9759,20 @@ spec: spec: properties: allPorts: - description: |- - Immutable. This field can be used with internal load balancer or network load balancer - when the forwarding rule references a backend service, or with the target - field when it references a TargetInstance. Set this to true to - allow packets addressed to any ports to be forwarded to the backends configured - with this forwarding rule. This can be used when the protocol is TCP/UDP, and it - must be set to true when the protocol is set to L3_DEFAULT. - Cannot be set if port or portRange are set. + description: Immutable. This field is used along with the `backend_service` + field for internal load balancing or with the `target` field for + internal TargetInstance. This field cannot be used with `port` or + `portRange` fields. When the load balancing scheme is `INTERNAL` + and protocol is TCP/UDP, specify this field to allow packets addressed + to any ports will be forwarded to the backends configured with this + forwarding rule. type: boolean allowGlobalAccess: - description: |- - If true, clients can access ILB from all regions. - Otherwise only allows from the local region the ILB is located at. + description: This field is used along with the `backend_service` field + for internal load balancing or with the `target` field for internal + TargetInstance. If the field is set to `TRUE`, clients can access + ILB from all regions. Otherwise only allows access from clients + in the same region as the internal load balancer. type: boolean backendServiceRef: description: |- @@ -9444,9 +9804,8 @@ spec: type: string type: object description: - description: |- - Immutable. An optional description of this resource. Provide this property when - you create the resource. + description: Immutable. An optional description of this resource. + Provide this property when you create the resource. type: string ipAddress: description: |- @@ -9505,34 +9864,49 @@ spec: type: string type: object ipProtocol: - description: |- - Immutable. The IP protocol to which this rule applies. - - When the load balancing scheme is INTERNAL, only TCP and UDP are - valid. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] + description: Immutable. The IP protocol to which this rule applies. + For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, + `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the + load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are + valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the + load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. + For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing + scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP + Load Balancing, the load balancing scheme is `EXTERNAL`, and one + of `TCP` or `UDP` is valid. type: string ipVersion: description: 'Immutable. The IP Version that will be used by this - global forwarding rule. Possible values: ["IPV4", "IPV6"]' + forwarding rule. Valid options are `IPV4` or `IPV6`. This can only + be specified for an external global forwarding rule. Possible values: + UNSPECIFIED_VERSION, IPV4, IPV6' type: string isMirroringCollector: - description: |- - Immutable. Indicates whether or not this load balancer can be used - as a collector for packet mirroring. To prevent mirroring loops, - instances behind this load balancer will not have their traffic - mirrored even if a PacketMirroring rule applies to them. This - can only be set to true for load balancers that have their - loadBalancingScheme set to INTERNAL. + description: Immutable. Indicates whether or not this load balancer + can be used as a collector for packet mirroring. To prevent mirroring + loops, instances behind this load balancer will not have their traffic + mirrored even if a `PacketMirroring` rule applies to them. This + can only be set to true for load balancers that have their `loadBalancingScheme` + set to `INTERNAL`. type: boolean loadBalancingScheme: description: |- - Immutable. This signifies what the ForwardingRule will be used for and can be - EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic - Cloud VPN gateways, protocol forwarding to VMs from an external IP address, - and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. - INTERNAL is used for protocol forwarding to VMs from an internal IP address, - and internal TCP/UDP load balancers. - INTERNAL_MANAGED is used for internal HTTP(S) load balancers. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] + Immutable. Specifies the forwarding rule type. + + * `EXTERNAL` is used for: + * Classic Cloud VPN gateways + * Protocol forwarding to VMs from an external IP address + * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + * `INTERNAL` is used for: + * Protocol forwarding to VMs from an internal IP address + * Internal TCP/UDP load balancers + * `INTERNAL_MANAGED` is used for: + * Internal HTTP(S) load balancers + * `INTERNAL_SELF_MANAGED` is used for: + * Traffic Director + + For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL type: string location: description: 'Location represents the geographical location of the @@ -9541,42 +9915,33 @@ spec: type: string metadataFilters: description: |- - Immutable. Opaque filter criteria used by Loadbalancer to restrict routing - configuration to a limited set xDS compliant clients. In their xDS - requests to Loadbalancer, xDS clients present node metadata. If a - match takes place, the relevant routing configuration is made available - to those proxies. + Immutable. Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. - For each metadataFilter in this list, if its filterMatchCriteria is set - to MATCH_ANY, at least one of the filterLabels must match the - corresponding label provided in the metadata. If its filterMatchCriteria - is set to MATCH_ALL, then all of its filterLabels must match with - corresponding labels in the provided metadata. + For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. - metadataFilters specified here can be overridden by those specified in - the UrlMap that this ForwardingRule references. + `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. - metadataFilters only applies to Loadbalancers that have their - loadBalancingScheme set to INTERNAL_SELF_MANAGED. + `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. items: properties: filterLabels: description: |- - Immutable. The list of label value pairs that must match labels in the - provided metadata based on filterMatchCriteria + Immutable. The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` This list must not be empty and can have at the most 64 entries. items: properties: name: description: |- - Immutable. Name of the metadata label. The length must be between - 1 and 1024 characters, inclusive. + Immutable. Name of metadata label. + + The name can have a maximum length of 1024 characters and must be at least 1 character long. type: string value: description: |- - Immutable. The value that the label must match. The value has a maximum - length of 1024 characters. + Immutable. The value of the label must match the specified value. + + value can have a maximum length of 1024 characters. type: string required: - name @@ -9585,13 +9950,12 @@ spec: type: array filterMatchCriteria: description: |- - Immutable. Specifies how individual filterLabel matches within the list of - filterLabels contribute towards the overall metadataFilter match. + Immutable. Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + + Supported values are: - MATCH_ANY - At least one of the filterLabels must have a matching - label in the provided metadata. - MATCH_ALL - All filterLabels must have matching labels in the - provided metadata. Possible values: ["MATCH_ANY", "MATCH_ALL"] + * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY type: string required: - filterLabels @@ -9630,46 +9994,37 @@ spec: type: string type: object networkTier: - description: |- - Immutable. The networking tier used for configuring this address. If this field is not - specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"] + description: 'Immutable. This signifies the networking tier used for + configuring this load balancer and can only take the following values: + `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values + are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid + value is `PREMIUM`. If this field is not specified, it is assumed + to be `PREMIUM`. If `IPAddress` is specified, this value must be + equal to the networkTier of the Address.' type: string portRange: description: |- - Immutable. This field is used along with the target field for TargetHttpProxy, - TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, - TargetPool, TargetInstance. - - Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets - addressed to ports in the specified range will be forwarded to target. - Forwarding rules with the same [IPAddress, IPProtocol] pair must have - disjoint port ranges. + Immutable. When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: - Some types of forwarding target have constraints on the acceptable - ports: + * TargetHttpProxy: 80, 8080 + * TargetHttpsProxy: 443 + * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetVpnGateway: 500, 4500 - * TargetHttpProxy: 80, 8080 - * TargetHttpsProxy: 443 - * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetVpnGateway: 500, 4500 + @pattern: d+(?:-d+)? type: string ports: - description: |- - Immutable. This field is used along with internal load balancing and network - load balancer when the forwarding rule references a backend service - and when protocol is not L3_DEFAULT. - - A single port or a comma separated list of ports can be configured. - Only packets addressed to these ports will be forwarded to the backends - configured with this forwarding rule. - - You can only use one of ports and portRange, or allPorts. - The three are mutually exclusive. - - You may specify a maximum of up to 5 ports, which can be non-contiguous. + description: 'Immutable. This field is used along with the `backend_service` + field for internal load balancing. When the load balancing scheme + is `INTERNAL`, a list of ports can be configured, for example, [''80''], + [''8000'',''9000'']. Only packets addressed to these ports are forwarded + to the backends configured with the forwarding rule. If the forwarding + rule''s loadBalancingScheme is INTERNAL, you can specify ports in + one of the following ways: * A list of up to five ports, which can + be non-contiguous * Keyword `ALL`, which causes the forwarding rule + to forward traffic on any port of the forwarding rule''s protocol. + @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).' items: type: string type: array @@ -9679,19 +10034,16 @@ spec: is used as the default. type: string serviceLabel: - description: |- - Immutable. An optional prefix to the service name for this Forwarding Rule. - If specified, will be the first label of the fully qualified service - name. - - The label must be 1-63 characters long, and comply with RFC1035. + description: Immutable. An optional prefix to the service name for + this Forwarding Rule. If specified, the prefix is the first label + of the fully qualified service name. The label must be 1-63 characters + long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the - regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first - character must be a lowercase letter, and all following characters - must be a dash, lowercase letter, or digit, except the last - character, which cannot be a dash. - - This field is only used for INTERNAL load balancing. + regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the + first character must be a lowercase letter, and all following characters + must be a dash, lowercase letter, or digit, except the last character, + which cannot be a dash. This field is only used for internal load + balancing. type: string subnetworkRef: description: |- @@ -9936,12 +10288,11 @@ spec: type: object type: array creationTimestamp: - description: Creation timestamp in RFC3339 text format. + description: '[Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + text format.' type: string labelFingerprint: - description: |- - The fingerprint used for optimistic locking of this resource. Used - internally during updates. + description: Used internally during label updates. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -9951,11 +10302,12 @@ spec: the resource. type: integer selfLink: + description: '[Output Only] Server-defined URL for the resource.' type: string serviceName: - description: |- - The internal fully qualified service name for this Forwarding Rule. - This field is only used for INTERNAL load balancing. + description: '[Output Only] The internal fully qualified service name + for this Forwarding Rule. This field is only used for internal load + balancing.' type: string type: object required: @@ -9976,7 +10328,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10440,7 +10792,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10601,7 +10953,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10762,7 +11114,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11038,7 +11390,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -11780,7 +12132,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11981,7 +12333,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12493,6 +12845,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the interface type: string @@ -12529,6 +12916,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: The project in which the subnetwork belongs. type: string @@ -12810,7 +13202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13200,6 +13592,41 @@ spec: - ipCidrRange type: object type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for this + interface. Currently, only one IPv6 access config, DIRECT_IPV6, + is supported. If there is no ipv6AccessConfig specified, then + this instance will have no external IPv6 Internet access. + items: + properties: + externalIpv6: + description: The first IPv6 address of the external IPv6 + range associated with this instance, prefix length is + stored in externalIpv6PrefixLength in ipv6AccessConfig. + The field is output only, an IPv6 address from a subnetwork + associated with the instance will be allocated dynamically. + type: string + externalIpv6PrefixLength: + description: The prefix length of the external IPv6 range. + type: string + networkTier: + description: The service-level to be provided for IPv6 + traffic when the subnet has an external subnet. Only + PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + ipv6AccessType: + description: One of EXTERNAL, INTERNAL to indicate whether the + IP can be accessed from the Internet. This field is always + inherited from its subnetwork. + type: string name: description: The name of the network_interface. type: string @@ -13238,6 +13665,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET type: string + stackType: + description: The stack type for this network interface to identify + whether the IPv6 feature is enabled or not. If not specified, + IPV4_ONLY will be used. + type: string subnetworkProject: description: Immutable. The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. @@ -13489,7 +13921,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13813,7 +14245,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14014,7 +14446,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14207,7 +14639,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14357,7 +14789,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14565,7 +14997,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14746,7 +15178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14864,7 +15296,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15078,7 +15510,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15376,7 +15808,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15583,7 +16015,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15910,7 +16342,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16178,7 +16610,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16393,7 +16825,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16668,7 +17100,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16885,7 +17317,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16991,7 +17423,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17130,7 +17562,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17507,7 +17939,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17721,7 +18153,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17884,7 +18316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17953,6 +18385,12 @@ spec: 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. type: string + ipv6AccessType: + description: |- + Immutable. The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation + or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet + cannot enable direct path. Possible values: ["EXTERNAL"] + type: string logConfig: description: |- Denotes the logging options for the subnetwork flow logs. If logging is enabled @@ -18080,6 +18518,11 @@ spec: - rangeName type: object type: array + stackType: + description: |- + The stack type for this subnet to identify whether the IPv6 feature is enabled or not. + If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"] + type: string required: - ipCidrRange - networkRef @@ -18116,6 +18559,10 @@ spec: creationTimestamp: description: Creation timestamp in RFC3339 text format. type: string + externalIpv6Prefix: + description: The range of external IPv6 addresses that are owned by + this subnetwork. + type: string fingerprint: description: DEPRECATED — This field is not useful for users, and has been removed as an output. Fingerprint of this resource. This @@ -18126,6 +18573,10 @@ spec: The gateway address for default routes to reach destination addresses outside this subnetwork. type: string + ipv6CidrRange: + description: The range of internal IPv6 addresses that are owned by + this subnetwork. + type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -18154,7 +18605,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18331,7 +18782,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18499,7 +18950,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18739,7 +19190,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18933,7 +19384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19156,7 +19607,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19381,7 +19832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19547,7 +19998,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19707,7 +20158,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22402,7 +22853,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22599,7 +23050,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -22966,7 +23417,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -23554,7 +24005,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23879,6 +24330,20 @@ spec: description: description: Immutable. Description of the cluster. type: string + dnsConfig: + description: Immutable. Configuration for Cloud DNS for Kubernetes + Engine. + properties: + clusterDns: + description: Which in-cluster DNS provider should be used. + type: string + clusterDnsDomain: + description: The suffix used for all cluster service records. + type: string + clusterDnsScope: + description: The scope of access to cluster DNS records. + type: string + type: object enableAutopilot: description: Immutable. Enable Autopilot for this cluster. type: boolean @@ -23963,6 +24428,18 @@ spec: with multiple masters spread across zones in the region, and with default node locations in those zones as well. type: string + loggingConfig: + description: Logging configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing logs. Valid values include + SYSTEM_COMPONENTS and WORKLOADS. + items: + type: string + type: array + required: + - enableComponents + type: object loggingService: description: The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), @@ -24123,6 +24600,18 @@ spec: version of the most recent official release (which is not necessarily the latest version). type: string + monitoringConfig: + description: Monitoring configuration for the cluster. + properties: + enableComponents: + description: GKE components exposing metrics. Valid values include + SYSTEM_COMPONENTS. + items: + type: string + type: array + required: + - enableComponents + type: object monitoringService: description: The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster @@ -24384,12 +24873,15 @@ spec: description: Immutable. The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeLocations: @@ -24695,7 +25187,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25058,12 +25550,15 @@ spec: workloadMetadataConfig: description: The workload metadata configuration for this node. properties: + mode: + description: Mode is the configuration for how to expose metadata + to workloads running on the node. + type: string nodeMetadata: - description: NodeMetadata is the configuration for how to - expose metadata to the workloads running on the node. + description: DEPRECATED — Deprecated in favor of mode. NodeMetadata + is the configuration for how to expose metadata to the workloads + running on the node. type: string - required: - - nodeMetadata type: object type: object nodeCount: @@ -25174,7 +25669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25300,7 +25795,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25582,7 +26077,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25861,7 +26356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -26153,7 +26648,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27376,7 +27871,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29107,18 +29602,6 @@ spec: creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string - version: - description: Optional. Used to perform a consistent read-modify-write. - This field should be left blank for a `CreateWorkflowTemplate` request. - It is required for an `UpdateWorkflowTemplate` request, and must - match the current server version. A typical update template flow - would fetch the current template with a `GetWorkflowTemplate` request, - which will return the current template with the `version` field - filled in with the current server version. The user updates other - fields in the template, then returns it as part of the `UpdateWorkflowTemplate` - request. - format: int64 - type: integer required: - jobs - location @@ -29280,6 +29763,10 @@ spec: description: Output only. The time template was last updated. format: date-time type: string + version: + description: Output only. The current version of this workflow template. + format: int64 + type: integer type: object required: - spec @@ -29299,7 +29786,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29625,7 +30112,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29820,7 +30307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -29919,7 +30406,6 @@ spec: - managedZoneRef - name - rrdatas - - ttl - type type: object status: @@ -29976,7 +30462,545 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestorebackups.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreBackup + plural: filestorebackups + shortNames: + - gcpfilestorebackup + - gcpfilestorebackups + singular: filestorebackup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: A description of the backup with 2048 characters or less. + Requests with longer descriptions will be rejected. + type: string + location: + description: The location for the resource + type: string + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + sourceFileShare: + description: Name of the file share in the source Cloud Filestore + instance that the backup is created from. + type: string + sourceInstanceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the source Cloud Filestore instance, + in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, + used to create this backup. + 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 + - projectRef + - sourceFileShare + - sourceInstanceRef + type: object + status: + properties: + capacityGb: + description: Output only. Capacity of the source file share when the + backup was created. + format: int64 + type: integer + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the backup was created. + format: date-time + type: string + downloadBytes: + description: Output only. Amount of bytes that will be downloaded + if the backup is restored. This may be different than storage bytes, + since sequential backups of the same disk will share storage. + format: int64 + type: integer + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + sourceInstanceTier: + description: 'Output only. The service tier of the source Cloud Filestore + instance that this backup is created from. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + state: + description: 'Output only. The backup state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR, RESTORING' + type: string + storageBytes: + description: Output only. The size of the storage used by the backup. + As backups share storage, this number is expected to change with + backup creation/deletion. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + name: filestoreinstances.filestore.cnrm.cloud.google.com +spec: + group: filestore.cnrm.cloud.google.com + names: + categories: + - gcp + kind: FilestoreInstance + plural: filestoreinstances + shortNames: + - gcpfilestoreinstance + - gcpfilestoreinstances + singular: filestoreinstance + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: When 'True', the most recent reconcile of the resource succeeded + jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - description: The reason for the value in 'Ready' + jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Status + type: string + - description: The last transition time for the value in 'Status' + jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime + name: Status Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'apiVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + description: + description: The description of the instance (2048 characters or less). + type: string + fileShares: + description: File system shares on the instance. For this version, + only a single file share is supported. + items: + properties: + capacityGb: + description: File share capacity in gigabytes (GB). Cloud Filestore + defines 1 GB as 1024^3 bytes. + format: int64 + type: integer + name: + description: The name of the file share (must be 16 characters + or less). + type: string + nfsExportOptions: + description: Nfs Export Options. There is a limit of 10 export + options per file share. + items: + properties: + accessMode: + description: 'Either READ_ONLY, for allowing only read + requests on the exported directory, or READ_WRITE, for + allowing both read and write requests. The default is + READ_WRITE. Possible values: ACCESS_MODE_UNSPECIFIED, + READ_ONLY, READ_WRITE' + type: string + anonGid: + description: An integer representing the anonymous group + id with a default value of 65534. Anon_gid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + anonUid: + description: An integer representing the anonymous user + id with a default value of 65534. Anon_uid may only + be set with squash_mode of ROOT_SQUASH. An error will + be returned if this field is specified for other squash_mode + settings. + format: int64 + type: integer + ipRanges: + description: List of either an IPv4 addresses in the format + `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges + in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask + size}` which may mount the file share. Overlapping IP + ranges are not allowed, both within and across NfsExportOptions. + An error will be returned. The limit is 64 IP ranges/addresses + for each FileShareConfig among all NfsExportOptions. + items: + type: string + type: array + squashMode: + description: 'Either NO_ROOT_SQUASH, for allowing root + access on the exported directory, or ROOT_SQUASH, for + not allowing root access. The default is NO_ROOT_SQUASH. + Possible values: SQUASH_MODE_UNSPECIFIED, NO_ROOT_SQUASH, + ROOT_SQUASH' + type: string + type: object + type: array + sourceBackupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The resource name of the backup, in the format + `projects/{project_number}/locations/{location_id}/backups/{backup_id}`, + that this file share has been restored from. + 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 + location: + description: The location for the resource + type: string + networks: + description: VPC networks to which the instance is connected. For + this version, only a single network is supported. + items: + properties: + ipAddresses: + description: Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` + or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`. + items: + type: string + type: array + modes: + description: Internet protocol versions for which the instance + has IP addresses assigned. For this version, only MODE_IPV4 + is supported. + items: + type: string + type: array + networkRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of the Google Compute Engine [VPC + network](https://cloud.google.com/vpc/docs/vpc) to which + the instance is connected. + 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 + reservedIPRange: + description: A /29 CIDR block in one of the [internal IP address + ranges](https://www.arin.net/reference/research/statistics/address_filters/) + that identifies the range of IP addresses reserved for this + instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The + range you specify can't overlap with either existing subnets + or assigned IP address ranges for other Cloud Filestore instances + in the selected VPC network. + type: string + type: object + type: array + projectRef: + description: The Project that this resource belongs to. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The project for the resource + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + type: object + resourceID: + description: Immutable. Optional. The name of the resource. Used for + creation and acquisition. When unset, the value of `metadata.name` + is used as the default. + type: string + tier: + description: 'The service tier of the instance. Possible values: TIER_UNSPECIFIED, + STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD' + type: string + required: + - location + - projectRef + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + createTime: + description: Output only. The time when the instance was created. + format: date-time + type: string + etag: + description: Server-specified ETag for the instance resource to prevent + simultaneous updates from overwriting each other. + type: string + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + state: + description: 'Output only. The instance state. Possible values: STATE_UNSPECIFIED, + CREATING, READY, REPAIRING, DELETING, ERROR' + type: string + statusMessage: + description: Output only. Additional information about the instance + state, if available. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30130,7 +31154,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -30341,7 +31365,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30479,7 +31503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -30807,7 +31831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31042,7 +32066,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31406,7 +32430,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31568,7 +32592,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31708,7 +32732,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31942,7 +32966,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32172,7 +33196,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32388,7 +33412,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32566,7 +33590,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32626,6 +33650,10 @@ spec: description: A text description of the service account. Must be less than or equal to 256 UTF-8 bytes. type: string + disabled: + description: Whether the service account is disabled. Defaults to + false + type: boolean displayName: description: The display name for the service account. Can be updated without creating a new resource. @@ -32699,7 +33727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32823,7 +33851,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32973,7 +34001,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33156,7 +34184,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33369,7 +34397,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33522,7 +34550,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33583,6 +34611,10 @@ spec: Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. type: string + importOnly: + description: Immutable. Whether this key may contain imported versions + only. + type: boolean keyRingRef: description: The KMSKeyRing that this key belongs to. oneOf: @@ -33712,7 +34744,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33841,7 +34873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -34111,7 +35143,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34476,7 +35508,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34710,7 +35742,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35471,7 +36503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42189,7 +43221,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42376,7 +43408,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -42664,7 +43696,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -42957,7 +43989,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43212,7 +44244,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43438,7 +44470,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -43679,7 +44711,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44005,7 +45037,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44771,7 +45803,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -44993,7 +46025,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45354,7 +46386,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45520,7 +46552,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45791,7 +46823,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45968,7 +47000,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46248,7 +47280,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46499,7 +47531,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46693,7 +47725,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -46869,7 +47901,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47010,7 +48042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47207,7 +48239,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47399,7 +48431,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47539,7 +48571,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -47702,7 +48734,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48274,7 +49306,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48449,7 +49481,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48644,7 +49676,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -48813,7 +49845,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49139,7 +50171,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49324,7 +50356,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49525,7 +50557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.63.0 + cnrm.cloud.google.com/version: 1.64.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -49872,6 +50904,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object @@ -49904,6 +50939,9 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + path: + description: Google Cloud Storage path in bucket to transfer + type: string required: - bucketRef type: object diff --git a/pkg/apis/cloudbuild/v1beta1/cloudbuildtrigger_types.go b/pkg/apis/cloudbuild/v1beta1/cloudbuildtrigger_types.go index f17c638fe2..e3aabe4dc0 100644 --- a/pkg/apis/cloudbuild/v1beta1/cloudbuildtrigger_types.go +++ b/pkg/apis/cloudbuild/v1beta1/cloudbuildtrigger_types.go @@ -580,6 +580,17 @@ type CloudBuildTriggerSpec struct { // +optional PubsubConfig *TriggerPubsubConfig `json:"pubsubConfig,omitempty"` + /* The service account used for all user-controlled operations including + triggers.patch, triggers.run, builds.create, and builds.cancel. + + If no service account is set, then the standard Cloud Build service account + ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + + When populating via the external field, the following format is supported: + projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} */ + // +optional + ServiceAccountRef *v1alpha1.ResourceRef `json:"serviceAccountRef,omitempty"` + /* Substitutions data for Build resource. */ // +optional Substitutions map[string]string `json:"substitutions,omitempty"` diff --git a/pkg/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go b/pkg/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go index 0e54f156ca..182f1af993 100644 --- a/pkg/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/cloudbuild/v1beta1/zz_generated.deepcopy.go @@ -133,6 +133,11 @@ func (in *CloudBuildTriggerSpec) DeepCopyInto(out *CloudBuildTriggerSpec) { *out = new(TriggerPubsubConfig) (*in).DeepCopyInto(*out) } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } if in.Substitutions != nil { in, out := &in.Substitutions, &out.Substitutions *out = make(map[string]string, len(*in)) diff --git a/pkg/apis/compute/v1beta1/computebackendservice_types.go b/pkg/apis/compute/v1beta1/computebackendservice_types.go index 0eacdf8b88..626e94aee2 100644 --- a/pkg/apis/compute/v1beta1/computebackendservice_types.go +++ b/pkg/apis/compute/v1beta1/computebackendservice_types.go @@ -286,6 +286,45 @@ type BackendserviceConnectTimeout struct { Seconds int `json:"seconds"` } +type BackendserviceConnectionTrackingPolicy struct { + /* Specifies connection persistence when backends are unhealthy. + + If set to 'DEFAULT_FOR_PROTOCOL', the existing connections persist on + unhealthy backends only for connection-oriented protocols (TCP and SCTP) + and only if the Tracking Mode is PER_CONNECTION (default tracking mode) + or the Session Affinity is configured for 5-tuple. They do not persist + for UDP. + + If set to 'NEVER_PERSIST', after a backend becomes unhealthy, the existing + connections on the unhealthy backend are never persisted on the unhealthy + backend. They are always diverted to newly selected healthy backends + (unless all backends are unhealthy). + + If set to 'ALWAYS_PERSIST', existing connections always persist on + unhealthy backends regardless of protocol and session affinity. It is + generally not recommended to use this mode overriding the default. Default value: "DEFAULT_FOR_PROTOCOL" Possible values: ["DEFAULT_FOR_PROTOCOL", "NEVER_PERSIST", "ALWAYS_PERSIST"] */ + // +optional + ConnectionPersistenceOnUnhealthyBackends *string `json:"connectionPersistenceOnUnhealthyBackends,omitempty"` + + /* Specifies how long to keep a Connection Tracking entry while there is + no matching traffic (in seconds). + + For L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours. + + For NLB the minimum(default) is 60 seconds and the maximum is 16 hours. */ + // +optional + IdleTimeoutSec *int `json:"idleTimeoutSec,omitempty"` + + /* Specifies the key used for connection tracking. There are two options: + 'PER_CONNECTION': The Connection Tracking is performed as per the + Connection Key (default Hash Method) for the specific protocol. + + 'PER_SESSION': The Connection Tracking is performed as per the + configured Session Affinity. It matches the configured Session Affinity. Default value: "PER_CONNECTION" Possible values: ["PER_CONNECTION", "PER_SESSION"] */ + // +optional + TrackingMode *string `json:"trackingMode,omitempty"` +} + type BackendserviceConsistentHash struct { /* 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 @@ -567,6 +606,12 @@ type ComputeBackendServiceSpec struct { // +optional ConnectionDrainingTimeoutSec *int `json:"connectionDrainingTimeoutSec,omitempty"` + /* Connection Tracking configuration for this BackendService. + This is available only for Layer 4 Internal Load Balancing and + Network Load Balancing. */ + // +optional + ConnectionTrackingPolicy *BackendserviceConnectionTrackingPolicy `json:"connectionTrackingPolicy,omitempty"` + /* 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 diff --git a/pkg/apis/compute/v1beta1/computefirewallpolicyrule_types.go b/pkg/apis/compute/v1beta1/computefirewallpolicyrule_types.go new file mode 100644 index 0000000000..363fa9ed4e --- /dev/null +++ b/pkg/apis/compute/v1beta1/computefirewallpolicyrule_types.go @@ -0,0 +1,133 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +package v1beta1 + +import ( + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type FirewallpolicyruleLayer4Configs struct { + /* 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`, `ipip`, `sctp`), or the IP protocol number. */ + IpProtocol string `json:"ipProtocol"` + + /* 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: ``. */ + // +optional + Ports []string `json:"ports,omitempty"` +} + +type FirewallpolicyruleMatch struct { + /* CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256. */ + // +optional + DestIPRanges []string `json:"destIPRanges,omitempty"` + + /* Pairs of IP protocols and ports that the rule should match. */ + Layer4Configs []FirewallpolicyruleLayer4Configs `json:"layer4Configs"` + + /* CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256. */ + // +optional + SrcIPRanges []string `json:"srcIPRanges,omitempty"` +} + +type ComputeFirewallPolicyRuleSpec struct { + /* The Action to perform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502. */ + Action string `json:"action"` + + /* An optional description for this resource. */ + // +optional + Description *string `json:"description,omitempty"` + + /* The direction in which this rule applies. Possible values: INGRESS, EGRESS */ + Direction string `json:"direction"` + + /* Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled. */ + // +optional + Disabled *bool `json:"disabled,omitempty"` + + /* Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. */ + // +optional + EnableLogging *bool `json:"enableLogging,omitempty"` + + /* */ + FirewallPolicyRef v1alpha1.ResourceRef `json:"firewallPolicyRef"` + + /* A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. */ + Match FirewallpolicyruleMatch `json:"match"` + + /* An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. */ + Priority int `json:"priority"` + + /* */ + // +optional + TargetResources []v1alpha1.ResourceRef `json:"targetResources,omitempty"` + + /* */ + // +optional + TargetServiceAccounts []v1alpha1.ResourceRef `json:"targetServiceAccounts,omitempty"` +} + +type ComputeFirewallPolicyRuleStatus struct { + /* Conditions represent the latest available observations of the + ComputeFirewallPolicyRule's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Type of the resource. Always `compute#firewallPolicyRule` for firewall policy rules */ + Kind string `json:"kind,omitempty"` + /* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */ + ObservedGeneration int `json:"observedGeneration,omitempty"` + /* Calculation of the complexity of a single firewall policy rule. */ + RuleTupleCount int `json:"ruleTupleCount,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ComputeFirewallPolicyRule is the Schema for the compute API +// +k8s:openapi-gen=true +type ComputeFirewallPolicyRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec ComputeFirewallPolicyRuleSpec `json:"spec,omitempty"` + Status ComputeFirewallPolicyRuleStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ComputeFirewallPolicyRuleList contains a list of ComputeFirewallPolicyRule +type ComputeFirewallPolicyRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ComputeFirewallPolicyRule `json:"items"` +} + +func init() { + SchemeBuilder.Register(&ComputeFirewallPolicyRule{}, &ComputeFirewallPolicyRuleList{}) +} diff --git a/pkg/apis/compute/v1beta1/computeforwardingrule_types.go b/pkg/apis/compute/v1beta1/computeforwardingrule_types.go index 1e980fc18e..8d33a98d63 100644 --- a/pkg/apis/compute/v1beta1/computeforwardingrule_types.go +++ b/pkg/apis/compute/v1beta1/computeforwardingrule_types.go @@ -36,12 +36,14 @@ import ( ) type ForwardingruleFilterLabels struct { - /* Immutable. Name of the metadata label. The length must be between - 1 and 1024 characters, inclusive. */ + /* Immutable. Name of metadata label. + + The name can have a maximum length of 1024 characters and must be at least 1 character long. */ Name string `json:"name"` - /* Immutable. The value that the label must match. The value has a maximum - length of 1024 characters. */ + /* Immutable. The value of the label must match the specified value. + + value can have a maximum length of 1024 characters. */ Value string `json:"value"` } @@ -56,19 +58,17 @@ type ForwardingruleIpAddress struct { } type ForwardingruleMetadataFilters struct { - /* Immutable. The list of label value pairs that must match labels in the - provided metadata based on filterMatchCriteria + /* Immutable. The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` This list must not be empty and can have at the most 64 entries. */ FilterLabels []ForwardingruleFilterLabels `json:"filterLabels"` - /* Immutable. Specifies how individual filterLabel matches within the list of - filterLabels contribute towards the overall metadataFilter match. + /* Immutable. Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + + Supported values are: - MATCH_ANY - At least one of the filterLabels must have a matching - label in the provided metadata. - MATCH_ALL - All filterLabels must have matching labels in the - provided metadata. Possible values: ["MATCH_ANY", "MATCH_ALL"] */ + * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY */ FilterMatchCriteria string `json:"filterMatchCriteria"` } @@ -99,18 +99,11 @@ type ForwardingruleTarget struct { } type ComputeForwardingRuleSpec struct { - /* Immutable. This field can be used with internal load balancer or network load balancer - when the forwarding rule references a backend service, or with the target - field when it references a TargetInstance. Set this to true to - allow packets addressed to any ports to be forwarded to the backends configured - with this forwarding rule. This can be used when the protocol is TCP/UDP, and it - must be set to true when the protocol is set to L3_DEFAULT. - Cannot be set if port or portRange are set. */ + /* Immutable. This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. This field cannot be used with `port` or `portRange` fields. When the load balancing scheme is `INTERNAL` and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule. */ // +optional AllPorts *bool `json:"allPorts,omitempty"` - /* If true, clients can access ILB from all regions. - Otherwise only allows from the local region the ILB is located at. */ + /* This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. If the field is set to `TRUE`, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer. */ // +optional AllowGlobalAccess *bool `json:"allowGlobalAccess,omitempty"` @@ -119,8 +112,7 @@ type ComputeForwardingRuleSpec struct { // +optional BackendServiceRef *v1alpha1.ResourceRef `json:"backendServiceRef,omitempty"` - /* Immutable. An optional description of this resource. Provide this property when - you create the resource. */ + /* Immutable. An optional description of this resource. Provide this property when you create the resource. */ // +optional Description *string `json:"description,omitempty"` @@ -146,56 +138,46 @@ type ComputeForwardingRuleSpec struct { // +optional IpAddress *ForwardingruleIpAddress `json:"ipAddress,omitempty"` - /* Immutable. The IP protocol to which this rule applies. - - When the load balancing scheme is INTERNAL, only TCP and UDP are - valid. Possible values: ["TCP", "UDP", "ESP", "AH", "SCTP", "ICMP", "L3_DEFAULT"] */ + /* Immutable. The IP protocol to which this rule applies. For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one of `TCP` or `UDP` is valid. */ // +optional IpProtocol *string `json:"ipProtocol,omitempty"` - /* Immutable. The IP Version that will be used by this global forwarding rule. Possible values: ["IPV4", "IPV6"] */ + /* Immutable. The IP Version that will be used by this forwarding rule. Valid options are `IPV4` or `IPV6`. This can only be specified for an external global forwarding rule. Possible values: UNSPECIFIED_VERSION, IPV4, IPV6 */ // +optional IpVersion *string `json:"ipVersion,omitempty"` - /* Immutable. Indicates whether or not this load balancer can be used - as a collector for packet mirroring. To prevent mirroring loops, - instances behind this load balancer will not have their traffic - mirrored even if a PacketMirroring rule applies to them. This - can only be set to true for load balancers that have their - loadBalancingScheme set to INTERNAL. */ + /* Immutable. Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a `PacketMirroring` rule applies to them. This can only be set to true for load balancers that have their `loadBalancingScheme` set to `INTERNAL`. */ // +optional IsMirroringCollector *bool `json:"isMirroringCollector,omitempty"` - /* Immutable. This signifies what the ForwardingRule will be used for and can be - EXTERNAL, INTERNAL, or INTERNAL_MANAGED. EXTERNAL is used for Classic - Cloud VPN gateways, protocol forwarding to VMs from an external IP address, - and HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP load balancers. - INTERNAL is used for protocol forwarding to VMs from an internal IP address, - and internal TCP/UDP load balancers. - INTERNAL_MANAGED is used for internal HTTP(S) load balancers. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] */ + /* Immutable. Specifies the forwarding rule type. + + * `EXTERNAL` is used for: + * Classic Cloud VPN gateways + * Protocol forwarding to VMs from an external IP address + * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + * `INTERNAL` is used for: + * Protocol forwarding to VMs from an internal IP address + * Internal TCP/UDP load balancers + * `INTERNAL_MANAGED` is used for: + * Internal HTTP(S) load balancers + * `INTERNAL_SELF_MANAGED` is used for: + * Traffic Director + + For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL */ // +optional LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty"` /* Location represents the geographical location of the ComputeForwardingRule. Specify a region name or "global" for global resources. Reference: GCP definition of regions/zones (https://cloud.google.com/compute/docs/regions-zones/) */ Location string `json:"location"` - /* Immutable. Opaque filter criteria used by Loadbalancer to restrict routing - configuration to a limited set xDS compliant clients. In their xDS - requests to Loadbalancer, xDS clients present node metadata. If a - match takes place, the relevant routing configuration is made available - to those proxies. + /* Immutable. Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. - For each metadataFilter in this list, if its filterMatchCriteria is set - to MATCH_ANY, at least one of the filterLabels must match the - corresponding label provided in the metadata. If its filterMatchCriteria - is set to MATCH_ALL, then all of its filterLabels must match with - corresponding labels in the provided metadata. + For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. - metadataFilters specified here can be overridden by those specified in - the UrlMap that this ForwardingRule references. + `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. - metadataFilters only applies to Loadbalancers that have their - loadBalancingScheme set to INTERNAL_SELF_MANAGED. */ + `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. */ // +optional MetadataFilters []ForwardingruleMetadataFilters `json:"metadataFilters,omitempty"` @@ -206,45 +188,23 @@ type ComputeForwardingRuleSpec struct { // +optional NetworkRef *v1alpha1.ResourceRef `json:"networkRef,omitempty"` - /* Immutable. The networking tier used for configuring this address. If this field is not - specified, it is assumed to be PREMIUM. Possible values: ["PREMIUM", "STANDARD"] */ + /* Immutable. This signifies the networking tier used for configuring this load balancer and can only take the following values: `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid value is `PREMIUM`. If this field is not specified, it is assumed to be `PREMIUM`. If `IPAddress` is specified, this value must be equal to the networkTier of the Address. */ // +optional NetworkTier *string `json:"networkTier,omitempty"` - /* Immutable. This field is used along with the target field for TargetHttpProxy, - TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, - TargetPool, TargetInstance. - - Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets - addressed to ports in the specified range will be forwarded to target. - Forwarding rules with the same [IPAddress, IPProtocol] pair must have - disjoint port ranges. - - Some types of forwarding target have constraints on the acceptable - ports: - - * TargetHttpProxy: 80, 8080 - * TargetHttpsProxy: 443 - * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, - 1883, 5222 - * TargetVpnGateway: 500, 4500 */ - // +optional - PortRange *string `json:"portRange,omitempty"` - - /* Immutable. This field is used along with internal load balancing and network - load balancer when the forwarding rule references a backend service - and when protocol is not L3_DEFAULT. + /* Immutable. When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: - A single port or a comma separated list of ports can be configured. - Only packets addressed to these ports will be forwarded to the backends - configured with this forwarding rule. + * TargetHttpProxy: 80, 8080 + * TargetHttpsProxy: 443 + * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetVpnGateway: 500, 4500 - You can only use one of ports and portRange, or allPorts. - The three are mutually exclusive. + @pattern: d+(?:-d+)? */ + // +optional + PortRange *string `json:"portRange,omitempty"` - You may specify a maximum of up to 5 ports, which can be non-contiguous. */ + /* Immutable. This field is used along with the `backend_service` field for internal load balancing. When the load balancing scheme is `INTERNAL`, a list of ports can be configured, for example, ['80'], ['8000','9000']. Only packets addressed to these ports are forwarded to the backends configured with the forwarding rule. If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify ports in one of the following ways: * A list of up to five ports, which can be non-contiguous * Keyword `ALL`, which causes the forwarding rule to forward traffic on any port of the forwarding rule's protocol. @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications). */ // +optional Ports []string `json:"ports,omitempty"` @@ -252,18 +212,7 @@ type ComputeForwardingRuleSpec struct { // +optional ResourceID *string `json:"resourceID,omitempty"` - /* Immutable. An optional prefix to the service name for this Forwarding Rule. - If specified, will be the first label of the fully qualified service - name. - - The label must be 1-63 characters long, and comply with RFC1035. - Specifically, the label must be 1-63 characters long and match the - regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first - character must be a lowercase letter, and all following characters - must be a dash, lowercase letter, or digit, except the last - character, which cannot be a dash. - - This field is only used for INTERNAL load balancing. */ + /* Immutable. An optional prefix to the service name for this Forwarding Rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing. */ // +optional ServiceLabel *string `json:"serviceLabel,omitempty"` @@ -289,17 +238,15 @@ type ComputeForwardingRuleStatus struct { /* Conditions represent the latest available observations of the ComputeForwardingRule's current state. */ Conditions []v1alpha1.Condition `json:"conditions,omitempty"` - /* Creation timestamp in RFC3339 text format. */ + /* [Output Only] Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ CreationTimestamp string `json:"creationTimestamp,omitempty"` - /* The fingerprint used for optimistic locking of this resource. Used - internally during updates. */ + /* Used internally during label updates. */ LabelFingerprint string `json:"labelFingerprint,omitempty"` /* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */ ObservedGeneration int `json:"observedGeneration,omitempty"` - /* */ + /* [Output Only] Server-defined URL for the resource. */ SelfLink string `json:"selfLink,omitempty"` - /* The internal fully qualified service name for this Forwarding Rule. - This field is only used for INTERNAL load balancing. */ + /* [Output Only] The internal fully qualified service name for this Forwarding Rule. This field is only used for internal load balancing. */ ServiceName string `json:"serviceName,omitempty"` } diff --git a/pkg/apis/compute/v1beta1/computeinstance_types.go b/pkg/apis/compute/v1beta1/computeinstance_types.go index c510518f93..d3e065e1b5 100644 --- a/pkg/apis/compute/v1beta1/computeinstance_types.go +++ b/pkg/apis/compute/v1beta1/computeinstance_types.go @@ -168,6 +168,23 @@ type InstanceInitializeParams struct { Type *string `json:"type,omitempty"` } +type InstanceIpv6AccessConfig struct { + /* The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically. */ + // +optional + ExternalIpv6 *string `json:"externalIpv6,omitempty"` + + /* The prefix length of the external IPv6 range. */ + // +optional + ExternalIpv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty"` + + /* The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6 */ + NetworkTier string `json:"networkTier"` + + /* The domain name to be used when creating DNSv6 records for the external IPv6 ranges. */ + // +optional + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty"` +} + type InstanceLabels struct { } @@ -188,6 +205,14 @@ type InstanceNetworkInterface struct { // +optional AliasIpRange []InstanceAliasIpRange `json:"aliasIpRange,omitempty"` + /* An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. */ + // +optional + Ipv6AccessConfig []InstanceIpv6AccessConfig `json:"ipv6AccessConfig,omitempty"` + + /* One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. */ + // +optional + Ipv6AccessType *string `json:"ipv6AccessType,omitempty"` + /* The name of the interface */ // +optional Name *string `json:"name,omitempty"` @@ -204,6 +229,10 @@ type InstanceNetworkInterface struct { // +optional NicType *string `json:"nicType,omitempty"` + /* The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. */ + // +optional + StackType *string `json:"stackType,omitempty"` + /* The project in which the subnetwork belongs. */ // +optional SubnetworkProject *string `json:"subnetworkProject,omitempty"` diff --git a/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go b/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go index 631d0b13a6..25f28f0219 100644 --- a/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go +++ b/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go @@ -144,6 +144,23 @@ type InstancetemplateGuestAccelerator struct { Type string `json:"type"` } +type InstancetemplateIpv6AccessConfig struct { + /* The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically. */ + // +optional + ExternalIpv6 *string `json:"externalIpv6,omitempty"` + + /* The prefix length of the external IPv6 range. */ + // +optional + ExternalIpv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty"` + + /* The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6 */ + NetworkTier string `json:"networkTier"` + + /* The domain name to be used when creating DNSv6 records for the external IPv6 ranges. */ + // +optional + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty"` +} + type InstancetemplateMetadata struct { /* */ Key string `json:"key"` @@ -161,6 +178,14 @@ type InstancetemplateNetworkInterface struct { // +optional AliasIpRange []InstancetemplateAliasIpRange `json:"aliasIpRange,omitempty"` + /* An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. */ + // +optional + Ipv6AccessConfig []InstancetemplateIpv6AccessConfig `json:"ipv6AccessConfig,omitempty"` + + /* One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. */ + // +optional + Ipv6AccessType *string `json:"ipv6AccessType,omitempty"` + /* The name of the network_interface. */ // +optional Name *string `json:"name,omitempty"` @@ -177,6 +202,10 @@ type InstancetemplateNetworkInterface struct { // +optional NicType *string `json:"nicType,omitempty"` + /* The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. */ + // +optional + StackType *string `json:"stackType,omitempty"` + /* Immutable. The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. */ // +optional SubnetworkProject *string `json:"subnetworkProject,omitempty"` diff --git a/pkg/apis/compute/v1beta1/computesubnetwork_types.go b/pkg/apis/compute/v1beta1/computesubnetwork_types.go index e168d395b8..31a07c4c23 100644 --- a/pkg/apis/compute/v1beta1/computesubnetwork_types.go +++ b/pkg/apis/compute/v1beta1/computesubnetwork_types.go @@ -96,6 +96,12 @@ type ComputeSubnetworkSpec struct { non-overlapping within a network. Only IPv4 is supported. */ IpCidrRange string `json:"ipCidrRange"` + /* Immutable. The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation + or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet + cannot enable direct path. Possible values: ["EXTERNAL"] */ + // +optional + Ipv6AccessType *string `json:"ipv6AccessType,omitempty"` + /* Denotes the logging options for the subnetwork flow logs. If logging is enabled logs will be exported to Stackdriver. This field cannot be set if the 'purpose' of this subnetwork is 'INTERNAL_HTTPS_LOAD_BALANCER' */ @@ -143,6 +149,11 @@ type ComputeSubnetworkSpec struct { /* */ // +optional SecondaryIpRange []SubnetworkSecondaryIpRange `json:"secondaryIpRange,omitempty"` + + /* The stack type for this subnet to identify whether the IPv6 feature is enabled or not. + If not specified IPV4_ONLY will be used. Possible values: ["IPV4_ONLY", "IPV4_IPV6"] */ + // +optional + StackType *string `json:"stackType,omitempty"` } type ComputeSubnetworkStatus struct { @@ -151,11 +162,15 @@ type ComputeSubnetworkStatus struct { Conditions []v1alpha1.Condition `json:"conditions,omitempty"` /* Creation timestamp in RFC3339 text format. */ CreationTimestamp string `json:"creationTimestamp,omitempty"` + /* The range of external IPv6 addresses that are owned by this subnetwork. */ + ExternalIpv6Prefix string `json:"externalIpv6Prefix,omitempty"` /* DEPRECATED — This field is not useful for users, and has been removed as an output. Fingerprint of this resource. This field is used internally during updates of this resource. */ Fingerprint string `json:"fingerprint,omitempty"` /* The gateway address for default routes to reach destination addresses outside this subnetwork. */ GatewayAddress string `json:"gatewayAddress,omitempty"` + /* The range of internal IPv6 addresses that are owned by this subnetwork. */ + Ipv6CidrRange string `json:"ipv6CidrRange,omitempty"` /* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */ ObservedGeneration int `json:"observedGeneration,omitempty"` /* */ diff --git a/pkg/apis/compute/v1beta1/register.go b/pkg/apis/compute/v1beta1/register.go index 3835aeef2c..37ab482a4b 100644 --- a/pkg/apis/compute/v1beta1/register.go +++ b/pkg/apis/compute/v1beta1/register.go @@ -95,6 +95,12 @@ var ( Kind: reflect.TypeOf(ComputeFirewallPolicy{}).Name(), } + ComputeFirewallPolicyRuleGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(ComputeFirewallPolicyRule{}).Name(), + } + ComputeForwardingRuleGVK = schema.GroupVersionKind{ Group: SchemeGroupVersion.Group, Version: SchemeGroupVersion.Version, diff --git a/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go b/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go index 7dec074788..2d44e2ac98 100644 --- a/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go @@ -377,6 +377,37 @@ func (in *BackendserviceConnectTimeout) DeepCopy() *BackendserviceConnectTimeout return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendserviceConnectionTrackingPolicy) DeepCopyInto(out *BackendserviceConnectionTrackingPolicy) { + *out = *in + if in.ConnectionPersistenceOnUnhealthyBackends != nil { + in, out := &in.ConnectionPersistenceOnUnhealthyBackends, &out.ConnectionPersistenceOnUnhealthyBackends + *out = new(string) + **out = **in + } + if in.IdleTimeoutSec != nil { + in, out := &in.IdleTimeoutSec, &out.IdleTimeoutSec + *out = new(int) + **out = **in + } + if in.TrackingMode != nil { + in, out := &in.TrackingMode, &out.TrackingMode + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendserviceConnectionTrackingPolicy. +func (in *BackendserviceConnectionTrackingPolicy) DeepCopy() *BackendserviceConnectionTrackingPolicy { + if in == nil { + return nil + } + out := new(BackendserviceConnectionTrackingPolicy) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackendserviceConsistentHash) DeepCopyInto(out *BackendserviceConsistentHash) { *out = *in @@ -1150,6 +1181,11 @@ func (in *ComputeBackendServiceSpec) DeepCopyInto(out *ComputeBackendServiceSpec *out = new(int) **out = **in } + if in.ConnectionTrackingPolicy != nil { + in, out := &in.ConnectionTrackingPolicy, &out.ConnectionTrackingPolicy + *out = new(BackendserviceConnectionTrackingPolicy) + (*in).DeepCopyInto(*out) + } if in.ConsistentHash != nil { in, out := &in.ConsistentHash, &out.ConsistentHash *out = new(BackendserviceConsistentHash) @@ -1711,6 +1747,131 @@ func (in *ComputeFirewallPolicyList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComputeFirewallPolicyRule) DeepCopyInto(out *ComputeFirewallPolicyRule) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFirewallPolicyRule. +func (in *ComputeFirewallPolicyRule) DeepCopy() *ComputeFirewallPolicyRule { + if in == nil { + return nil + } + out := new(ComputeFirewallPolicyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ComputeFirewallPolicyRule) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComputeFirewallPolicyRuleList) DeepCopyInto(out *ComputeFirewallPolicyRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ComputeFirewallPolicyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFirewallPolicyRuleList. +func (in *ComputeFirewallPolicyRuleList) DeepCopy() *ComputeFirewallPolicyRuleList { + if in == nil { + return nil + } + out := new(ComputeFirewallPolicyRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ComputeFirewallPolicyRuleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComputeFirewallPolicyRuleSpec) DeepCopyInto(out *ComputeFirewallPolicyRuleSpec) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.EnableLogging != nil { + in, out := &in.EnableLogging, &out.EnableLogging + *out = new(bool) + **out = **in + } + out.FirewallPolicyRef = in.FirewallPolicyRef + in.Match.DeepCopyInto(&out.Match) + if in.TargetResources != nil { + in, out := &in.TargetResources, &out.TargetResources + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + if in.TargetServiceAccounts != nil { + in, out := &in.TargetServiceAccounts, &out.TargetServiceAccounts + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFirewallPolicyRuleSpec. +func (in *ComputeFirewallPolicyRuleSpec) DeepCopy() *ComputeFirewallPolicyRuleSpec { + if in == nil { + return nil + } + out := new(ComputeFirewallPolicyRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComputeFirewallPolicyRuleStatus) DeepCopyInto(out *ComputeFirewallPolicyRuleStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1alpha1.Condition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFirewallPolicyRuleStatus. +func (in *ComputeFirewallPolicyRuleStatus) DeepCopy() *ComputeFirewallPolicyRuleStatus { + if in == nil { + return nil + } + out := new(ComputeFirewallPolicyRuleStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ComputeFirewallPolicySpec) DeepCopyInto(out *ComputeFirewallPolicySpec) { *out = *in @@ -5996,6 +6157,11 @@ func (in *ComputeSubnetworkSpec) DeepCopyInto(out *ComputeSubnetworkSpec) { *out = new(string) **out = **in } + if in.Ipv6AccessType != nil { + in, out := &in.Ipv6AccessType, &out.Ipv6AccessType + *out = new(string) + **out = **in + } if in.LogConfig != nil { in, out := &in.LogConfig, &out.LogConfig *out = new(SubnetworkLogConfig) @@ -6032,6 +6198,11 @@ func (in *ComputeSubnetworkSpec) DeepCopyInto(out *ComputeSubnetworkSpec) { *out = make([]SubnetworkSecondaryIpRange, len(*in)) copy(*out, *in) } + if in.StackType != nil { + in, out := &in.StackType, &out.StackType + *out = new(string) + **out = **in + } return } @@ -7701,6 +7872,60 @@ func (in *FirewallLogConfig) DeepCopy() *FirewallLogConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallpolicyruleLayer4Configs) DeepCopyInto(out *FirewallpolicyruleLayer4Configs) { + *out = *in + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallpolicyruleLayer4Configs. +func (in *FirewallpolicyruleLayer4Configs) DeepCopy() *FirewallpolicyruleLayer4Configs { + if in == nil { + return nil + } + out := new(FirewallpolicyruleLayer4Configs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallpolicyruleMatch) DeepCopyInto(out *FirewallpolicyruleMatch) { + *out = *in + if in.DestIPRanges != nil { + in, out := &in.DestIPRanges, &out.DestIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Layer4Configs != nil { + in, out := &in.Layer4Configs, &out.Layer4Configs + *out = make([]FirewallpolicyruleLayer4Configs, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SrcIPRanges != nil { + in, out := &in.SrcIPRanges, &out.SrcIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallpolicyruleMatch. +func (in *FirewallpolicyruleMatch) DeepCopy() *FirewallpolicyruleMatch { + if in == nil { + return nil + } + out := new(FirewallpolicyruleMatch) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ForwardingruleFilterLabels) DeepCopyInto(out *ForwardingruleFilterLabels) { *out = *in @@ -8424,6 +8649,37 @@ func (in *InstanceInitializeParams) DeepCopy() *InstanceInitializeParams { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIpv6AccessConfig) DeepCopyInto(out *InstanceIpv6AccessConfig) { + *out = *in + if in.ExternalIpv6 != nil { + in, out := &in.ExternalIpv6, &out.ExternalIpv6 + *out = new(string) + **out = **in + } + if in.ExternalIpv6PrefixLength != nil { + in, out := &in.ExternalIpv6PrefixLength, &out.ExternalIpv6PrefixLength + *out = new(string) + **out = **in + } + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIpv6AccessConfig. +func (in *InstanceIpv6AccessConfig) DeepCopy() *InstanceIpv6AccessConfig { + if in == nil { + return nil + } + out := new(InstanceIpv6AccessConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstanceLabels) DeepCopyInto(out *InstanceLabels) { *out = *in @@ -8473,6 +8729,18 @@ func (in *InstanceNetworkInterface) DeepCopyInto(out *InstanceNetworkInterface) (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Ipv6AccessConfig != nil { + in, out := &in.Ipv6AccessConfig, &out.Ipv6AccessConfig + *out = make([]InstanceIpv6AccessConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Ipv6AccessType != nil { + in, out := &in.Ipv6AccessType, &out.Ipv6AccessType + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -8493,6 +8761,11 @@ func (in *InstanceNetworkInterface) DeepCopyInto(out *InstanceNetworkInterface) *out = new(string) **out = **in } + if in.StackType != nil { + in, out := &in.StackType, &out.StackType + *out = new(string) + **out = **in + } if in.SubnetworkProject != nil { in, out := &in.SubnetworkProject, &out.SubnetworkProject *out = new(string) @@ -9448,6 +9721,37 @@ func (in *InstancetemplateGuestAccelerator) DeepCopy() *InstancetemplateGuestAcc return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancetemplateIpv6AccessConfig) DeepCopyInto(out *InstancetemplateIpv6AccessConfig) { + *out = *in + if in.ExternalIpv6 != nil { + in, out := &in.ExternalIpv6, &out.ExternalIpv6 + *out = new(string) + **out = **in + } + if in.ExternalIpv6PrefixLength != nil { + in, out := &in.ExternalIpv6PrefixLength, &out.ExternalIpv6PrefixLength + *out = new(string) + **out = **in + } + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancetemplateIpv6AccessConfig. +func (in *InstancetemplateIpv6AccessConfig) DeepCopy() *InstancetemplateIpv6AccessConfig { + if in == nil { + return nil + } + out := new(InstancetemplateIpv6AccessConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstancetemplateMetadata) DeepCopyInto(out *InstancetemplateMetadata) { *out = *in @@ -9481,6 +9785,18 @@ func (in *InstancetemplateNetworkInterface) DeepCopyInto(out *InstancetemplateNe (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Ipv6AccessConfig != nil { + in, out := &in.Ipv6AccessConfig, &out.Ipv6AccessConfig + *out = make([]InstancetemplateIpv6AccessConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Ipv6AccessType != nil { + in, out := &in.Ipv6AccessType, &out.Ipv6AccessType + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -9501,6 +9817,11 @@ func (in *InstancetemplateNetworkInterface) DeepCopyInto(out *InstancetemplateNe *out = new(string) **out = **in } + if in.StackType != nil { + in, out := &in.StackType, &out.StackType + *out = new(string) + **out = **in + } if in.SubnetworkProject != nil { in, out := &in.SubnetworkProject, &out.SubnetworkProject *out = new(string) diff --git a/pkg/apis/container/v1beta1/containercluster_types.go b/pkg/apis/container/v1beta1/containercluster_types.go index 06a452bc49..2481573851 100644 --- a/pkg/apis/container/v1beta1/containercluster_types.go +++ b/pkg/apis/container/v1beta1/containercluster_types.go @@ -180,6 +180,20 @@ type ClusterDnsCacheConfig struct { Enabled bool `json:"enabled"` } +type ClusterDnsConfig struct { + /* Which in-cluster DNS provider should be used. */ + // +optional + ClusterDns *string `json:"clusterDns,omitempty"` + + /* The suffix used for all cluster service records. */ + // +optional + ClusterDnsDomain *string `json:"clusterDnsDomain,omitempty"` + + /* The scope of access to cluster DNS records. */ + // +optional + ClusterDnsScope *string `json:"clusterDnsScope,omitempty"` +} + type ClusterEphemeralStorageConfig struct { /* Immutable. Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. Each local SSD is 375 GB in size. */ LocalSsdCount int `json:"localSsdCount"` @@ -258,6 +272,11 @@ type ClusterLinuxNodeConfig struct { Sysctls map[string]string `json:"sysctls"` } +type ClusterLoggingConfig struct { + /* GKE components exposing logs. Valid values include SYSTEM_COMPONENTS and WORKLOADS. */ + EnableComponents []string `json:"enableComponents"` +} + type ClusterMaintenanceExclusion struct { /* */ EndTime string `json:"endTime"` @@ -320,6 +339,11 @@ type ClusterMasterGlobalAccessConfig struct { Enabled bool `json:"enabled"` } +type ClusterMonitoringConfig struct { + /* GKE components exposing metrics. Valid values include SYSTEM_COMPONENTS. */ + EnableComponents []string `json:"enableComponents"` +} + type ClusterNetworkPolicy struct { /* Whether network policy is enabled on the cluster. */ Enabled bool `json:"enabled"` @@ -567,8 +591,13 @@ type ClusterWorkloadIdentityConfig struct { } type ClusterWorkloadMetadataConfig struct { - /* NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. */ - NodeMetadata string `json:"nodeMetadata"` + /* Mode is the configuration for how to expose metadata to workloads running on the node. */ + // +optional + Mode *string `json:"mode,omitempty"` + + /* DEPRECATED — Deprecated in favor of mode. NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. */ + // +optional + NodeMetadata *string `json:"nodeMetadata,omitempty"` } type ContainerClusterSpec struct { @@ -616,6 +645,10 @@ type ContainerClusterSpec struct { // +optional Description *string `json:"description,omitempty"` + /* Immutable. Configuration for Cloud DNS for Kubernetes Engine. */ + // +optional + DnsConfig *ClusterDnsConfig `json:"dnsConfig,omitempty"` + /* Immutable. Enable Autopilot for this cluster. */ // +optional EnableAutopilot *bool `json:"enableAutopilot,omitempty"` @@ -659,6 +692,10 @@ type ContainerClusterSpec struct { /* Immutable. The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well. */ Location string `json:"location"` + /* Logging configuration for the cluster. */ + // +optional + LoggingConfig *ClusterLoggingConfig `json:"loggingConfig,omitempty"` + /* The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes. */ // +optional LoggingService *string `json:"loggingService,omitempty"` @@ -679,6 +716,10 @@ type ContainerClusterSpec struct { // +optional MinMasterVersion *string `json:"minMasterVersion,omitempty"` + /* Monitoring configuration for the cluster. */ + // +optional + MonitoringConfig *ClusterMonitoringConfig `json:"monitoringConfig,omitempty"` + /* The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes. */ // +optional MonitoringService *string `json:"monitoringService,omitempty"` diff --git a/pkg/apis/container/v1beta1/containernodepool_types.go b/pkg/apis/container/v1beta1/containernodepool_types.go index acc4136075..56da5c7cec 100644 --- a/pkg/apis/container/v1beta1/containernodepool_types.go +++ b/pkg/apis/container/v1beta1/containernodepool_types.go @@ -218,8 +218,13 @@ type NodepoolUpgradeSettings struct { } type NodepoolWorkloadMetadataConfig struct { - /* NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. */ - NodeMetadata string `json:"nodeMetadata"` + /* Mode is the configuration for how to expose metadata to workloads running on the node. */ + // +optional + Mode *string `json:"mode,omitempty"` + + /* DEPRECATED — Deprecated in favor of mode. NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. */ + // +optional + NodeMetadata *string `json:"nodeMetadata,omitempty"` } type ContainerNodePoolSpec struct { diff --git a/pkg/apis/container/v1beta1/zz_generated.deepcopy.go b/pkg/apis/container/v1beta1/zz_generated.deepcopy.go index afb03a8c5f..7617781fa2 100644 --- a/pkg/apis/container/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/container/v1beta1/zz_generated.deepcopy.go @@ -366,6 +366,37 @@ func (in *ClusterDnsCacheConfig) DeepCopy() *ClusterDnsCacheConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterDnsConfig) DeepCopyInto(out *ClusterDnsConfig) { + *out = *in + if in.ClusterDns != nil { + in, out := &in.ClusterDns, &out.ClusterDns + *out = new(string) + **out = **in + } + if in.ClusterDnsDomain != nil { + in, out := &in.ClusterDnsDomain, &out.ClusterDnsDomain + *out = new(string) + **out = **in + } + if in.ClusterDnsScope != nil { + in, out := &in.ClusterDnsScope, &out.ClusterDnsScope + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDnsConfig. +func (in *ClusterDnsConfig) DeepCopy() *ClusterDnsConfig { + if in == nil { + return nil + } + out := new(ClusterDnsConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterEphemeralStorageConfig) DeepCopyInto(out *ClusterEphemeralStorageConfig) { *out = *in @@ -568,6 +599,27 @@ func (in *ClusterLinuxNodeConfig) DeepCopy() *ClusterLinuxNodeConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterLoggingConfig) DeepCopyInto(out *ClusterLoggingConfig) { + *out = *in + if in.EnableComponents != nil { + in, out := &in.EnableComponents, &out.EnableComponents + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterLoggingConfig. +func (in *ClusterLoggingConfig) DeepCopy() *ClusterLoggingConfig { + if in == nil { + return nil + } + out := new(ClusterLoggingConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterMaintenanceExclusion) DeepCopyInto(out *ClusterMaintenanceExclusion) { *out = *in @@ -700,6 +752,27 @@ func (in *ClusterMasterGlobalAccessConfig) DeepCopy() *ClusterMasterGlobalAccess return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterMonitoringConfig) DeepCopyInto(out *ClusterMonitoringConfig) { + *out = *in + if in.EnableComponents != nil { + in, out := &in.EnableComponents, &out.EnableComponents + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterMonitoringConfig. +func (in *ClusterMonitoringConfig) DeepCopy() *ClusterMonitoringConfig { + if in == nil { + return nil + } + out := new(ClusterMonitoringConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterNetworkPolicy) DeepCopyInto(out *ClusterNetworkPolicy) { *out = *in @@ -847,7 +920,7 @@ func (in *ClusterNodeConfig) DeepCopyInto(out *ClusterNodeConfig) { if in.WorkloadMetadataConfig != nil { in, out := &in.WorkloadMetadataConfig, &out.WorkloadMetadataConfig *out = new(ClusterWorkloadMetadataConfig) - **out = **in + (*in).DeepCopyInto(*out) } return } @@ -1187,6 +1260,16 @@ func (in *ClusterWorkloadIdentityConfig) DeepCopy() *ClusterWorkloadIdentityConf // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterWorkloadMetadataConfig) DeepCopyInto(out *ClusterWorkloadMetadataConfig) { *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.NodeMetadata != nil { + in, out := &in.NodeMetadata, &out.NodeMetadata + *out = new(string) + **out = **in + } return } @@ -1319,6 +1402,11 @@ func (in *ContainerClusterSpec) DeepCopyInto(out *ContainerClusterSpec) { *out = new(string) **out = **in } + if in.DnsConfig != nil { + in, out := &in.DnsConfig, &out.DnsConfig + *out = new(ClusterDnsConfig) + (*in).DeepCopyInto(*out) + } if in.EnableAutopilot != nil { in, out := &in.EnableAutopilot, &out.EnableAutopilot *out = new(bool) @@ -1369,6 +1457,11 @@ func (in *ContainerClusterSpec) DeepCopyInto(out *ContainerClusterSpec) { *out = new(ClusterIpAllocationPolicy) (*in).DeepCopyInto(*out) } + if in.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = new(ClusterLoggingConfig) + (*in).DeepCopyInto(*out) + } if in.LoggingService != nil { in, out := &in.LoggingService, &out.LoggingService *out = new(string) @@ -1394,6 +1487,11 @@ func (in *ContainerClusterSpec) DeepCopyInto(out *ContainerClusterSpec) { *out = new(string) **out = **in } + if in.MonitoringConfig != nil { + in, out := &in.MonitoringConfig, &out.MonitoringConfig + *out = new(ClusterMonitoringConfig) + (*in).DeepCopyInto(*out) + } if in.MonitoringService != nil { in, out := &in.MonitoringService, &out.MonitoringService *out = new(string) @@ -1941,7 +2039,7 @@ func (in *NodepoolNodeConfig) DeepCopyInto(out *NodepoolNodeConfig) { if in.WorkloadMetadataConfig != nil { in, out := &in.WorkloadMetadataConfig, &out.WorkloadMetadataConfig *out = new(NodepoolWorkloadMetadataConfig) - **out = **in + (*in).DeepCopyInto(*out) } return } @@ -2033,6 +2131,16 @@ func (in *NodepoolUpgradeSettings) DeepCopy() *NodepoolUpgradeSettings { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodepoolWorkloadMetadataConfig) DeepCopyInto(out *NodepoolWorkloadMetadataConfig) { *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.NodeMetadata != nil { + in, out := &in.NodeMetadata, &out.NodeMetadata + *out = new(string) + **out = **in + } return } diff --git a/pkg/apis/dataproc/v1beta1/dataprocworkflowtemplate_types.go b/pkg/apis/dataproc/v1beta1/dataprocworkflowtemplate_types.go index 05b056cced..b93105e1b9 100644 --- a/pkg/apis/dataproc/v1beta1/dataprocworkflowtemplate_types.go +++ b/pkg/apis/dataproc/v1beta1/dataprocworkflowtemplate_types.go @@ -792,10 +792,6 @@ type DataprocWorkflowTemplateSpec struct { /* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */ // +optional ResourceID *string `json:"resourceID,omitempty"` - - /* Optional. Used to perform a consistent read-modify-write. This field should be left blank for a `CreateWorkflowTemplate` request. It is required for an `UpdateWorkflowTemplate` request, and must match the current server version. A typical update template flow would fetch the current template with a `GetWorkflowTemplate` request, which will return the current template with the `version` field filled in with the current server version. The user updates other fields in the template, then returns it as part of the `UpdateWorkflowTemplate` request. */ - // +optional - Version *int `json:"version,omitempty"` } type WorkflowtemplateConfigStatus struct { @@ -888,6 +884,8 @@ type DataprocWorkflowTemplateStatus struct { Placement WorkflowtemplatePlacementStatus `json:"placement,omitempty"` /* Output only. The time template was last updated. */ UpdateTime string `json:"updateTime,omitempty"` + /* Output only. The current version of this workflow template. */ + Version int `json:"version,omitempty"` } // +genclient diff --git a/pkg/apis/dataproc/v1beta1/zz_generated.deepcopy.go b/pkg/apis/dataproc/v1beta1/zz_generated.deepcopy.go index a8fc4103b8..e56f83bfd2 100644 --- a/pkg/apis/dataproc/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/dataproc/v1beta1/zz_generated.deepcopy.go @@ -1348,11 +1348,6 @@ func (in *DataprocWorkflowTemplateSpec) DeepCopyInto(out *DataprocWorkflowTempla *out = new(string) **out = **in } - if in.Version != nil { - in, out := &in.Version, &out.Version - *out = new(int) - **out = **in - } return } diff --git a/pkg/apis/dns/v1beta1/dnsrecordset_types.go b/pkg/apis/dns/v1beta1/dnsrecordset_types.go index 95c82bc33a..6277090729 100644 --- a/pkg/apis/dns/v1beta1/dnsrecordset_types.go +++ b/pkg/apis/dns/v1beta1/dnsrecordset_types.go @@ -46,7 +46,8 @@ type DNSRecordSetSpec struct { Rrdatas []string `json:"rrdatas"` /* The time-to-live of this record set (seconds). */ - Ttl int `json:"ttl"` + // +optional + Ttl *int `json:"ttl,omitempty"` /* The DNS record set type. */ Type string `json:"type"` diff --git a/pkg/apis/dns/v1beta1/zz_generated.deepcopy.go b/pkg/apis/dns/v1beta1/zz_generated.deepcopy.go index 2ed04be061..ed8c4b60bc 100644 --- a/pkg/apis/dns/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/dns/v1beta1/zz_generated.deepcopy.go @@ -375,6 +375,11 @@ func (in *DNSRecordSetSpec) DeepCopyInto(out *DNSRecordSetSpec) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.Ttl != nil { + in, out := &in.Ttl, &out.Ttl + *out = new(int) + **out = **in + } return } diff --git a/pkg/apis/filestore/group.go b/pkg/apis/filestore/group.go new file mode 100644 index 0000000000..a959c3dd73 --- /dev/null +++ b/pkg/apis/filestore/group.go @@ -0,0 +1,32 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Package filestore contains filestore API versions. +package filestore diff --git a/pkg/apis/filestore/v1beta1/doc.go b/pkg/apis/filestore/v1beta1/doc.go new file mode 100644 index 0000000000..bb327fee11 --- /dev/null +++ b/pkg/apis/filestore/v1beta1/doc.go @@ -0,0 +1,40 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Package v1beta1 contains API Schema definitions for the filestore v1beta1 API group. +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore +// +k8s:defaulter-gen=TypeMeta +// +groupName=filestore.cnrm.cloud.google.com + +// Generate deepcopy object for filestore/v1beta1 API group +//go:generate go run ../../../../../../deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../../../../hack/boilerplate_client_alpha.go.txt +package v1beta1 diff --git a/pkg/apis/filestore/v1beta1/filestorebackup_types.go b/pkg/apis/filestore/v1beta1/filestorebackup_types.go new file mode 100644 index 0000000000..faa9557be2 --- /dev/null +++ b/pkg/apis/filestore/v1beta1/filestorebackup_types.go @@ -0,0 +1,104 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +package v1beta1 + +import ( + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type FilestoreBackupSpec struct { + /* A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected. */ + // +optional + Description *string `json:"description,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* The Project that this resource belongs to. */ + ProjectRef v1alpha1.ResourceRef `json:"projectRef"` + + /* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */ + // +optional + ResourceID *string `json:"resourceID,omitempty"` + + /* Name of the file share in the source Cloud Filestore instance that the backup is created from. */ + SourceFileShare string `json:"sourceFileShare"` + + /* */ + SourceInstanceRef v1alpha1.ResourceRef `json:"sourceInstanceRef"` +} + +type FilestoreBackupStatus struct { + /* Conditions represent the latest available observations of the + FilestoreBackup's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. Capacity of the source file share when the backup was created. */ + CapacityGb int `json:"capacityGb,omitempty"` + /* Output only. The time when the backup was created. */ + CreateTime string `json:"createTime,omitempty"` + /* Output only. Amount of bytes that will be downloaded if the backup is restored. This may be different than storage bytes, since sequential backups of the same disk will share storage. */ + DownloadBytes int `json:"downloadBytes,omitempty"` + /* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */ + ObservedGeneration int `json:"observedGeneration,omitempty"` + /* Output only. The service tier of the source Cloud Filestore instance that this backup is created from. Possible values: TIER_UNSPECIFIED, STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD */ + SourceInstanceTier string `json:"sourceInstanceTier,omitempty"` + /* Output only. The backup state. Possible values: STATE_UNSPECIFIED, CREATING, READY, REPAIRING, DELETING, ERROR, RESTORING */ + State string `json:"state,omitempty"` + /* Output only. The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion. */ + StorageBytes int `json:"storageBytes,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FilestoreBackup is the Schema for the filestore API +// +k8s:openapi-gen=true +type FilestoreBackup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec FilestoreBackupSpec `json:"spec,omitempty"` + Status FilestoreBackupStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FilestoreBackupList contains a list of FilestoreBackup +type FilestoreBackupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FilestoreBackup `json:"items"` +} + +func init() { + SchemeBuilder.Register(&FilestoreBackup{}, &FilestoreBackupList{}) +} diff --git a/pkg/apis/filestore/v1beta1/filestoreinstance_types.go b/pkg/apis/filestore/v1beta1/filestoreinstance_types.go new file mode 100644 index 0000000000..d8b1974c9f --- /dev/null +++ b/pkg/apis/filestore/v1beta1/filestoreinstance_types.go @@ -0,0 +1,164 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +package v1beta1 + +import ( + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type InstanceFileShares struct { + /* File share capacity in gigabytes (GB). Cloud Filestore defines 1 GB as 1024^3 bytes. */ + // +optional + CapacityGb *int `json:"capacityGb,omitempty"` + + /* The name of the file share (must be 16 characters or less). */ + // +optional + Name *string `json:"name,omitempty"` + + /* Nfs Export Options. There is a limit of 10 export options per file share. */ + // +optional + NfsExportOptions []InstanceNfsExportOptions `json:"nfsExportOptions,omitempty"` + + /* */ + // +optional + SourceBackupRef *v1alpha1.ResourceRef `json:"sourceBackupRef,omitempty"` +} + +type InstanceNetworks struct { + /* Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`. */ + // +optional + IpAddresses []string `json:"ipAddresses,omitempty"` + + /* Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported. */ + // +optional + Modes []string `json:"modes,omitempty"` + + /* */ + // +optional + NetworkRef *v1alpha1.ResourceRef `json:"networkRef,omitempty"` + + /* A /29 CIDR block in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network. */ + // +optional + ReservedIPRange *string `json:"reservedIPRange,omitempty"` +} + +type InstanceNfsExportOptions struct { + /* Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE. Possible values: ACCESS_MODE_UNSPECIFIED, READ_ONLY, READ_WRITE */ + // +optional + AccessMode *string `json:"accessMode,omitempty"` + + /* An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings. */ + // +optional + AnonGid *int `json:"anonGid,omitempty"` + + /* An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings. */ + // +optional + AnonUid *int `json:"anonUid,omitempty"` + + /* List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` which may mount the file share. Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions. */ + // +optional + IpRanges []string `json:"ipRanges,omitempty"` + + /* Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. The default is NO_ROOT_SQUASH. Possible values: SQUASH_MODE_UNSPECIFIED, NO_ROOT_SQUASH, ROOT_SQUASH */ + // +optional + SquashMode *string `json:"squashMode,omitempty"` +} + +type FilestoreInstanceSpec struct { + /* The description of the instance (2048 characters or less). */ + // +optional + Description *string `json:"description,omitempty"` + + /* File system shares on the instance. For this version, only a single file share is supported. */ + // +optional + FileShares []InstanceFileShares `json:"fileShares,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* VPC networks to which the instance is connected. For this version, only a single network is supported. */ + // +optional + Networks []InstanceNetworks `json:"networks,omitempty"` + + /* The Project that this resource belongs to. */ + ProjectRef v1alpha1.ResourceRef `json:"projectRef"` + + /* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */ + // +optional + ResourceID *string `json:"resourceID,omitempty"` + + /* The service tier of the instance. Possible values: TIER_UNSPECIFIED, STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD */ + // +optional + Tier *string `json:"tier,omitempty"` +} + +type FilestoreInstanceStatus struct { + /* Conditions represent the latest available observations of the + FilestoreInstance's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The time when the instance was created. */ + CreateTime string `json:"createTime,omitempty"` + /* Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other. */ + Etag string `json:"etag,omitempty"` + /* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */ + ObservedGeneration int `json:"observedGeneration,omitempty"` + /* Output only. The instance state. Possible values: STATE_UNSPECIFIED, CREATING, READY, REPAIRING, DELETING, ERROR */ + State string `json:"state,omitempty"` + /* Output only. Additional information about the instance state, if available. */ + StatusMessage string `json:"statusMessage,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FilestoreInstance is the Schema for the filestore API +// +k8s:openapi-gen=true +type FilestoreInstance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec FilestoreInstanceSpec `json:"spec,omitempty"` + Status FilestoreInstanceStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// FilestoreInstanceList contains a list of FilestoreInstance +type FilestoreInstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FilestoreInstance `json:"items"` +} + +func init() { + SchemeBuilder.Register(&FilestoreInstance{}, &FilestoreInstanceList{}) +} diff --git a/pkg/apis/filestore/v1beta1/register.go b/pkg/apis/filestore/v1beta1/register.go new file mode 100644 index 0000000000..b4a4aea72f --- /dev/null +++ b/pkg/apis/filestore/v1beta1/register.go @@ -0,0 +1,69 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ---------------------------------------------------------------------------- +// +// *** AUTO GENERATED CODE *** AUTO GENERATED CODE *** +// +// ---------------------------------------------------------------------------- +// +// This file is automatically generated by Config Connector and manual +// changes will be clobbered when the file is regenerated. +// +// ---------------------------------------------------------------------------- + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Package v1beta1 contains API Schema definitions for the filestore v1beta1 API group. +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore +// +k8s:defaulter-gen=TypeMeta +// +groupName=filestore.cnrm.cloud.google.com +package v1beta1 + +import ( + "reflect" + + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // SchemeGroupVersion is the group version used to register these objects. + SchemeGroupVersion = schema.GroupVersion{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme. + SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} + + // AddToScheme is a global function that registers this API group & version to a scheme + AddToScheme = SchemeBuilder.AddToScheme + + FilestoreBackupGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(FilestoreBackup{}).Name(), + } + + FilestoreInstanceGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(FilestoreInstance{}).Name(), + } + + filestoreAPIVersion = SchemeGroupVersion.String() +) diff --git a/pkg/apis/filestore/v1beta1/zz_generated.deepcopy.go b/pkg/apis/filestore/v1beta1/zz_generated.deepcopy.go new file mode 100644 index 0000000000..917ed2473f --- /dev/null +++ b/pkg/apis/filestore/v1beta1/zz_generated.deepcopy.go @@ -0,0 +1,383 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +import ( + v1alpha1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreBackup) DeepCopyInto(out *FilestoreBackup) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreBackup. +func (in *FilestoreBackup) DeepCopy() *FilestoreBackup { + if in == nil { + return nil + } + out := new(FilestoreBackup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FilestoreBackup) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreBackupList) DeepCopyInto(out *FilestoreBackupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FilestoreBackup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreBackupList. +func (in *FilestoreBackupList) DeepCopy() *FilestoreBackupList { + if in == nil { + return nil + } + out := new(FilestoreBackupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FilestoreBackupList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreBackupSpec) DeepCopyInto(out *FilestoreBackupSpec) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + out.SourceInstanceRef = in.SourceInstanceRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreBackupSpec. +func (in *FilestoreBackupSpec) DeepCopy() *FilestoreBackupSpec { + if in == nil { + return nil + } + out := new(FilestoreBackupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreBackupStatus) DeepCopyInto(out *FilestoreBackupStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1alpha1.Condition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreBackupStatus. +func (in *FilestoreBackupStatus) DeepCopy() *FilestoreBackupStatus { + if in == nil { + return nil + } + out := new(FilestoreBackupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreInstance) DeepCopyInto(out *FilestoreInstance) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreInstance. +func (in *FilestoreInstance) DeepCopy() *FilestoreInstance { + if in == nil { + return nil + } + out := new(FilestoreInstance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FilestoreInstance) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreInstanceList) DeepCopyInto(out *FilestoreInstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FilestoreInstance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreInstanceList. +func (in *FilestoreInstanceList) DeepCopy() *FilestoreInstanceList { + if in == nil { + return nil + } + out := new(FilestoreInstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FilestoreInstanceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreInstanceSpec) DeepCopyInto(out *FilestoreInstanceSpec) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FileShares != nil { + in, out := &in.FileShares, &out.FileShares + *out = make([]InstanceFileShares, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Networks != nil { + in, out := &in.Networks, &out.Networks + *out = make([]InstanceNetworks, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreInstanceSpec. +func (in *FilestoreInstanceSpec) DeepCopy() *FilestoreInstanceSpec { + if in == nil { + return nil + } + out := new(FilestoreInstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilestoreInstanceStatus) DeepCopyInto(out *FilestoreInstanceStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1alpha1.Condition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilestoreInstanceStatus. +func (in *FilestoreInstanceStatus) DeepCopy() *FilestoreInstanceStatus { + if in == nil { + return nil + } + out := new(FilestoreInstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFileShares) DeepCopyInto(out *InstanceFileShares) { + *out = *in + if in.CapacityGb != nil { + in, out := &in.CapacityGb, &out.CapacityGb + *out = new(int) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NfsExportOptions != nil { + in, out := &in.NfsExportOptions, &out.NfsExportOptions + *out = make([]InstanceNfsExportOptions, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceBackupRef != nil { + in, out := &in.SourceBackupRef, &out.SourceBackupRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFileShares. +func (in *InstanceFileShares) DeepCopy() *InstanceFileShares { + if in == nil { + return nil + } + out := new(InstanceFileShares) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceNetworks) DeepCopyInto(out *InstanceNetworks) { + *out = *in + if in.IpAddresses != nil { + in, out := &in.IpAddresses, &out.IpAddresses + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Modes != nil { + in, out := &in.Modes, &out.Modes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.ReservedIPRange != nil { + in, out := &in.ReservedIPRange, &out.ReservedIPRange + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworks. +func (in *InstanceNetworks) DeepCopy() *InstanceNetworks { + if in == nil { + return nil + } + out := new(InstanceNetworks) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceNfsExportOptions) DeepCopyInto(out *InstanceNfsExportOptions) { + *out = *in + if in.AccessMode != nil { + in, out := &in.AccessMode, &out.AccessMode + *out = new(string) + **out = **in + } + if in.AnonGid != nil { + in, out := &in.AnonGid, &out.AnonGid + *out = new(int) + **out = **in + } + if in.AnonUid != nil { + in, out := &in.AnonUid, &out.AnonUid + *out = new(int) + **out = **in + } + if in.IpRanges != nil { + in, out := &in.IpRanges, &out.IpRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SquashMode != nil { + in, out := &in.SquashMode, &out.SquashMode + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNfsExportOptions. +func (in *InstanceNfsExportOptions) DeepCopy() *InstanceNfsExportOptions { + if in == nil { + return nil + } + out := new(InstanceNfsExportOptions) + in.DeepCopyInto(out) + return out +} diff --git a/pkg/apis/iam/v1beta1/iamserviceaccount_types.go b/pkg/apis/iam/v1beta1/iamserviceaccount_types.go index a11580b281..b4e0e97b22 100644 --- a/pkg/apis/iam/v1beta1/iamserviceaccount_types.go +++ b/pkg/apis/iam/v1beta1/iamserviceaccount_types.go @@ -40,6 +40,10 @@ type IAMServiceAccountSpec struct { // +optional Description *string `json:"description,omitempty"` + /* Whether the service account is disabled. Defaults to false */ + // +optional + Disabled *bool `json:"disabled,omitempty"` + /* The display name for the service account. Can be updated without creating a new resource. */ // +optional DisplayName *string `json:"displayName,omitempty"` diff --git a/pkg/apis/iam/v1beta1/zz_generated.deepcopy.go b/pkg/apis/iam/v1beta1/zz_generated.deepcopy.go index eac55945df..ac5286cddf 100644 --- a/pkg/apis/iam/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/iam/v1beta1/zz_generated.deepcopy.go @@ -809,6 +809,11 @@ func (in *IAMServiceAccountSpec) DeepCopyInto(out *IAMServiceAccountSpec) { *out = new(string) **out = **in } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } if in.DisplayName != nil { in, out := &in.DisplayName, &out.DisplayName *out = new(string) diff --git a/pkg/apis/kms/v1beta1/kmscryptokey_types.go b/pkg/apis/kms/v1beta1/kmscryptokey_types.go index 969f3221f4..538b32f4e8 100644 --- a/pkg/apis/kms/v1beta1/kmscryptokey_types.go +++ b/pkg/apis/kms/v1beta1/kmscryptokey_types.go @@ -51,6 +51,10 @@ type KMSCryptoKeySpec struct { // +optional DestroyScheduledDuration *string `json:"destroyScheduledDuration,omitempty"` + /* Immutable. Whether this key may contain imported versions only. */ + // +optional + ImportOnly *bool `json:"importOnly,omitempty"` + /* The KMSKeyRing that this key belongs to. */ KeyRingRef v1alpha1.ResourceRef `json:"keyRingRef"` diff --git a/pkg/apis/kms/v1beta1/zz_generated.deepcopy.go b/pkg/apis/kms/v1beta1/zz_generated.deepcopy.go index 1d8b72a013..0b8349adb6 100644 --- a/pkg/apis/kms/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/kms/v1beta1/zz_generated.deepcopy.go @@ -119,6 +119,11 @@ func (in *KMSCryptoKeySpec) DeepCopyInto(out *KMSCryptoKeySpec) { *out = new(string) **out = **in } + if in.ImportOnly != nil { + in, out := &in.ImportOnly, &out.ImportOnly + *out = new(bool) + **out = **in + } out.KeyRingRef = in.KeyRingRef if in.Purpose != nil { in, out := &in.Purpose, &out.Purpose diff --git a/pkg/apis/storagetransfer/v1beta1/storagetransferjob_types.go b/pkg/apis/storagetransfer/v1beta1/storagetransferjob_types.go index ed9436d851..94ad8c3a5b 100644 --- a/pkg/apis/storagetransfer/v1beta1/storagetransferjob_types.go +++ b/pkg/apis/storagetransfer/v1beta1/storagetransferjob_types.go @@ -84,11 +84,19 @@ type JobAzureCredentials struct { type JobGcsDataSink struct { /* */ BucketRef v1alpha1.ResourceRef `json:"bucketRef"` + + /* Google Cloud Storage path in bucket to transfer */ + // +optional + Path *string `json:"path,omitempty"` } type JobGcsDataSource struct { /* */ BucketRef v1alpha1.ResourceRef `json:"bucketRef"` + + /* Google Cloud Storage path in bucket to transfer */ + // +optional + Path *string `json:"path,omitempty"` } type JobHttpDataSource struct { diff --git a/pkg/apis/storagetransfer/v1beta1/zz_generated.deepcopy.go b/pkg/apis/storagetransfer/v1beta1/zz_generated.deepcopy.go index f979a34a16..57f2e4b255 100644 --- a/pkg/apis/storagetransfer/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/storagetransfer/v1beta1/zz_generated.deepcopy.go @@ -133,6 +133,11 @@ func (in *JobAzureCredentials) DeepCopy() *JobAzureCredentials { func (in *JobGcsDataSink) DeepCopyInto(out *JobGcsDataSink) { *out = *in out.BucketRef = in.BucketRef + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } return } @@ -150,6 +155,11 @@ func (in *JobGcsDataSink) DeepCopy() *JobGcsDataSink { func (in *JobGcsDataSource) DeepCopyInto(out *JobGcsDataSource) { *out = *in out.BucketRef = in.BucketRef + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } return } @@ -389,12 +399,12 @@ func (in *JobTransferSpec) DeepCopyInto(out *JobTransferSpec) { if in.GcsDataSink != nil { in, out := &in.GcsDataSink, &out.GcsDataSink *out = new(JobGcsDataSink) - **out = **in + (*in).DeepCopyInto(*out) } if in.GcsDataSource != nil { in, out := &in.GcsDataSource, &out.GcsDataSource *out = new(JobGcsDataSource) - **out = **in + (*in).DeepCopyInto(*out) } if in.HttpDataSource != nil { in, out := &in.HttpDataSource, &out.HttpDataSource diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index 2a511ba4cf..7c329622de 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -39,6 +39,7 @@ import ( datafusionv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/datafusion/v1beta1" dataprocv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/dataproc/v1beta1" dnsv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/dns/v1beta1" + filestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/filestore/v1beta1" firestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/firestore/v1beta1" gameservicesv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/gameservices/v1beta1" gkehubv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/gkehub/v1beta1" @@ -86,6 +87,7 @@ type Interface interface { DatafusionV1beta1() datafusionv1beta1.DatafusionV1beta1Interface DataprocV1beta1() dataprocv1beta1.DataprocV1beta1Interface DnsV1beta1() dnsv1beta1.DnsV1beta1Interface + FilestoreV1beta1() filestorev1beta1.FilestoreV1beta1Interface FirestoreV1beta1() firestorev1beta1.FirestoreV1beta1Interface GameservicesV1beta1() gameservicesv1beta1.GameservicesV1beta1Interface GkehubV1beta1() gkehubv1beta1.GkehubV1beta1Interface @@ -132,6 +134,7 @@ type Clientset struct { datafusionV1beta1 *datafusionv1beta1.DatafusionV1beta1Client dataprocV1beta1 *dataprocv1beta1.DataprocV1beta1Client dnsV1beta1 *dnsv1beta1.DnsV1beta1Client + filestoreV1beta1 *filestorev1beta1.FilestoreV1beta1Client firestoreV1beta1 *firestorev1beta1.FirestoreV1beta1Client gameservicesV1beta1 *gameservicesv1beta1.GameservicesV1beta1Client gkehubV1beta1 *gkehubv1beta1.GkehubV1beta1Client @@ -234,6 +237,11 @@ func (c *Clientset) DnsV1beta1() dnsv1beta1.DnsV1beta1Interface { return c.dnsV1beta1 } +// FilestoreV1beta1 retrieves the FilestoreV1beta1Client +func (c *Clientset) FilestoreV1beta1() filestorev1beta1.FilestoreV1beta1Interface { + return c.filestoreV1beta1 +} + // FirestoreV1beta1 retrieves the FirestoreV1beta1Client func (c *Clientset) FirestoreV1beta1() firestorev1beta1.FirestoreV1beta1Interface { return c.firestoreV1beta1 @@ -440,6 +448,10 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { if err != nil { return nil, err } + cs.filestoreV1beta1, err = filestorev1beta1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } cs.firestoreV1beta1, err = firestorev1beta1.NewForConfig(&configShallowCopy) if err != nil { return nil, err @@ -567,6 +579,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { cs.datafusionV1beta1 = datafusionv1beta1.NewForConfigOrDie(c) cs.dataprocV1beta1 = dataprocv1beta1.NewForConfigOrDie(c) cs.dnsV1beta1 = dnsv1beta1.NewForConfigOrDie(c) + cs.filestoreV1beta1 = filestorev1beta1.NewForConfigOrDie(c) cs.firestoreV1beta1 = firestorev1beta1.NewForConfigOrDie(c) cs.gameservicesV1beta1 = gameservicesv1beta1.NewForConfigOrDie(c) cs.gkehubV1beta1 = gkehubv1beta1.NewForConfigOrDie(c) @@ -615,6 +628,7 @@ func New(c rest.Interface) *Clientset { cs.datafusionV1beta1 = datafusionv1beta1.New(c) cs.dataprocV1beta1 = dataprocv1beta1.New(c) cs.dnsV1beta1 = dnsv1beta1.New(c) + cs.filestoreV1beta1 = filestorev1beta1.New(c) cs.firestoreV1beta1 = firestorev1beta1.New(c) cs.gameservicesV1beta1 = gameservicesv1beta1.New(c) cs.gkehubV1beta1 = gkehubv1beta1.New(c) diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go index 98fb980768..9b866e2926 100644 --- a/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -53,6 +53,8 @@ import ( fakedataprocv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/dataproc/v1beta1/fake" dnsv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/dns/v1beta1" fakednsv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/dns/v1beta1/fake" + filestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/filestore/v1beta1" + fakefilestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake" firestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/firestore/v1beta1" fakefirestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/firestore/v1beta1/fake" gameservicesv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/gameservices/v1beta1" @@ -232,6 +234,11 @@ func (c *Clientset) DnsV1beta1() dnsv1beta1.DnsV1beta1Interface { return &fakednsv1beta1.FakeDnsV1beta1{Fake: &c.Fake} } +// FilestoreV1beta1 retrieves the FilestoreV1beta1Client +func (c *Clientset) FilestoreV1beta1() filestorev1beta1.FilestoreV1beta1Interface { + return &fakefilestorev1beta1.FakeFilestoreV1beta1{Fake: &c.Fake} +} + // FirestoreV1beta1 retrieves the FirestoreV1beta1Client func (c *Clientset) FirestoreV1beta1() firestorev1beta1.FirestoreV1beta1Interface { return &fakefirestorev1beta1.FakeFirestoreV1beta1{Fake: &c.Fake} diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 3891e68b38..ea528b05b4 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -37,6 +37,7 @@ import ( datafusionv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/datafusion/v1beta1" dataprocv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/dataproc/v1beta1" dnsv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/dns/v1beta1" + filestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" firestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/firestore/v1beta1" gameservicesv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/gameservices/v1beta1" gkehubv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/gkehub/v1beta1" @@ -88,6 +89,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ datafusionv1beta1.AddToScheme, dataprocv1beta1.AddToScheme, dnsv1beta1.AddToScheme, + filestorev1beta1.AddToScheme, firestorev1beta1.AddToScheme, gameservicesv1beta1.AddToScheme, gkehubv1beta1.AddToScheme, diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index 8bf5bb9b43..ea40acbdfc 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -37,6 +37,7 @@ import ( datafusionv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/datafusion/v1beta1" dataprocv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/dataproc/v1beta1" dnsv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/dns/v1beta1" + filestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" firestorev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/firestore/v1beta1" gameservicesv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/gameservices/v1beta1" gkehubv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/gkehub/v1beta1" @@ -88,6 +89,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ datafusionv1beta1.AddToScheme, dataprocv1beta1.AddToScheme, dnsv1beta1.AddToScheme, + filestorev1beta1.AddToScheme, firestorev1beta1.AddToScheme, gameservicesv1beta1.AddToScheme, gkehubv1beta1.AddToScheme, diff --git a/pkg/client/clientset/versioned/typed/compute/v1beta1/compute_client.go b/pkg/client/clientset/versioned/typed/compute/v1beta1/compute_client.go index e4399fe45a..6deaf6cb1c 100644 --- a/pkg/client/clientset/versioned/typed/compute/v1beta1/compute_client.go +++ b/pkg/client/clientset/versioned/typed/compute/v1beta1/compute_client.go @@ -36,6 +36,7 @@ type ComputeV1beta1Interface interface { ComputeExternalVPNGatewaysGetter ComputeFirewallsGetter ComputeFirewallPoliciesGetter + ComputeFirewallPolicyRulesGetter ComputeForwardingRulesGetter ComputeHTTPHealthChecksGetter ComputeHTTPSHealthChecksGetter @@ -112,6 +113,10 @@ func (c *ComputeV1beta1Client) ComputeFirewallPolicies(namespace string) Compute return newComputeFirewallPolicies(c, namespace) } +func (c *ComputeV1beta1Client) ComputeFirewallPolicyRules(namespace string) ComputeFirewallPolicyRuleInterface { + return newComputeFirewallPolicyRules(c, namespace) +} + func (c *ComputeV1beta1Client) ComputeForwardingRules(namespace string) ComputeForwardingRuleInterface { return newComputeForwardingRules(c, namespace) } diff --git a/pkg/client/clientset/versioned/typed/compute/v1beta1/computefirewallpolicyrule.go b/pkg/client/clientset/versioned/typed/compute/v1beta1/computefirewallpolicyrule.go new file mode 100644 index 0000000000..58eb59c4a4 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/compute/v1beta1/computefirewallpolicyrule.go @@ -0,0 +1,198 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/compute/v1beta1" + scheme "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ComputeFirewallPolicyRulesGetter has a method to return a ComputeFirewallPolicyRuleInterface. +// A group's client should implement this interface. +type ComputeFirewallPolicyRulesGetter interface { + ComputeFirewallPolicyRules(namespace string) ComputeFirewallPolicyRuleInterface +} + +// ComputeFirewallPolicyRuleInterface has methods to work with ComputeFirewallPolicyRule resources. +type ComputeFirewallPolicyRuleInterface interface { + Create(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.CreateOptions) (*v1beta1.ComputeFirewallPolicyRule, error) + Update(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (*v1beta1.ComputeFirewallPolicyRule, error) + UpdateStatus(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (*v1beta1.ComputeFirewallPolicyRule, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.ComputeFirewallPolicyRule, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.ComputeFirewallPolicyRuleList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ComputeFirewallPolicyRule, err error) + ComputeFirewallPolicyRuleExpansion +} + +// computeFirewallPolicyRules implements ComputeFirewallPolicyRuleInterface +type computeFirewallPolicyRules struct { + client rest.Interface + ns string +} + +// newComputeFirewallPolicyRules returns a ComputeFirewallPolicyRules +func newComputeFirewallPolicyRules(c *ComputeV1beta1Client, namespace string) *computeFirewallPolicyRules { + return &computeFirewallPolicyRules{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the computeFirewallPolicyRule, and returns the corresponding computeFirewallPolicyRule object, and an error if there is any. +func (c *computeFirewallPolicyRules) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + result = &v1beta1.ComputeFirewallPolicyRule{} + err = c.client.Get(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ComputeFirewallPolicyRules that match those selectors. +func (c *computeFirewallPolicyRules) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.ComputeFirewallPolicyRuleList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.ComputeFirewallPolicyRuleList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested computeFirewallPolicyRules. +func (c *computeFirewallPolicyRules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a computeFirewallPolicyRule and creates it. Returns the server's representation of the computeFirewallPolicyRule, and an error, if there is any. +func (c *computeFirewallPolicyRules) Create(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.CreateOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + result = &v1beta1.ComputeFirewallPolicyRule{} + err = c.client.Post(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(computeFirewallPolicyRule). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a computeFirewallPolicyRule and updates it. Returns the server's representation of the computeFirewallPolicyRule, and an error, if there is any. +func (c *computeFirewallPolicyRules) Update(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + result = &v1beta1.ComputeFirewallPolicyRule{} + err = c.client.Put(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + Name(computeFirewallPolicyRule.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(computeFirewallPolicyRule). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *computeFirewallPolicyRules) UpdateStatus(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + result = &v1beta1.ComputeFirewallPolicyRule{} + err = c.client.Put(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + Name(computeFirewallPolicyRule.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(computeFirewallPolicyRule). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the computeFirewallPolicyRule and deletes it. Returns an error if one occurs. +func (c *computeFirewallPolicyRules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *computeFirewallPolicyRules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched computeFirewallPolicyRule. +func (c *computeFirewallPolicyRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + result = &v1beta1.ComputeFirewallPolicyRule{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("computefirewallpolicyrules"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_compute_client.go b/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_compute_client.go index 88c24dfccc..f05d026e19 100644 --- a/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_compute_client.go +++ b/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_compute_client.go @@ -59,6 +59,10 @@ func (c *FakeComputeV1beta1) ComputeFirewallPolicies(namespace string) v1beta1.C return &FakeComputeFirewallPolicies{c, namespace} } +func (c *FakeComputeV1beta1) ComputeFirewallPolicyRules(namespace string) v1beta1.ComputeFirewallPolicyRuleInterface { + return &FakeComputeFirewallPolicyRules{c, namespace} +} + func (c *FakeComputeV1beta1) ComputeForwardingRules(namespace string) v1beta1.ComputeForwardingRuleInterface { return &FakeComputeForwardingRules{c, namespace} } diff --git a/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_computefirewallpolicyrule.go b/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_computefirewallpolicyrule.go new file mode 100644 index 0000000000..833b7ad696 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/compute/v1beta1/fake/fake_computefirewallpolicyrule.go @@ -0,0 +1,145 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package fake + +import ( + "context" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/compute/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeComputeFirewallPolicyRules implements ComputeFirewallPolicyRuleInterface +type FakeComputeFirewallPolicyRules struct { + Fake *FakeComputeV1beta1 + ns string +} + +var computefirewallpolicyrulesResource = schema.GroupVersionResource{Group: "compute.cnrm.cloud.google.com", Version: "v1beta1", Resource: "computefirewallpolicyrules"} + +var computefirewallpolicyrulesKind = schema.GroupVersionKind{Group: "compute.cnrm.cloud.google.com", Version: "v1beta1", Kind: "ComputeFirewallPolicyRule"} + +// Get takes name of the computeFirewallPolicyRule, and returns the corresponding computeFirewallPolicyRule object, and an error if there is any. +func (c *FakeComputeFirewallPolicyRules) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(computefirewallpolicyrulesResource, c.ns, name), &v1beta1.ComputeFirewallPolicyRule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.ComputeFirewallPolicyRule), err +} + +// List takes label and field selectors, and returns the list of ComputeFirewallPolicyRules that match those selectors. +func (c *FakeComputeFirewallPolicyRules) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.ComputeFirewallPolicyRuleList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(computefirewallpolicyrulesResource, computefirewallpolicyrulesKind, c.ns, opts), &v1beta1.ComputeFirewallPolicyRuleList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.ComputeFirewallPolicyRuleList{ListMeta: obj.(*v1beta1.ComputeFirewallPolicyRuleList).ListMeta} + for _, item := range obj.(*v1beta1.ComputeFirewallPolicyRuleList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested computeFirewallPolicyRules. +func (c *FakeComputeFirewallPolicyRules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(computefirewallpolicyrulesResource, c.ns, opts)) + +} + +// Create takes the representation of a computeFirewallPolicyRule and creates it. Returns the server's representation of the computeFirewallPolicyRule, and an error, if there is any. +func (c *FakeComputeFirewallPolicyRules) Create(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.CreateOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(computefirewallpolicyrulesResource, c.ns, computeFirewallPolicyRule), &v1beta1.ComputeFirewallPolicyRule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.ComputeFirewallPolicyRule), err +} + +// Update takes the representation of a computeFirewallPolicyRule and updates it. Returns the server's representation of the computeFirewallPolicyRule, and an error, if there is any. +func (c *FakeComputeFirewallPolicyRules) Update(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(computefirewallpolicyrulesResource, c.ns, computeFirewallPolicyRule), &v1beta1.ComputeFirewallPolicyRule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.ComputeFirewallPolicyRule), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeComputeFirewallPolicyRules) UpdateStatus(ctx context.Context, computeFirewallPolicyRule *v1beta1.ComputeFirewallPolicyRule, opts v1.UpdateOptions) (*v1beta1.ComputeFirewallPolicyRule, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(computefirewallpolicyrulesResource, "status", c.ns, computeFirewallPolicyRule), &v1beta1.ComputeFirewallPolicyRule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.ComputeFirewallPolicyRule), err +} + +// Delete takes name of the computeFirewallPolicyRule and deletes it. Returns an error if one occurs. +func (c *FakeComputeFirewallPolicyRules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(computefirewallpolicyrulesResource, c.ns, name), &v1beta1.ComputeFirewallPolicyRule{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeComputeFirewallPolicyRules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(computefirewallpolicyrulesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.ComputeFirewallPolicyRuleList{}) + return err +} + +// Patch applies the patch and returns the patched computeFirewallPolicyRule. +func (c *FakeComputeFirewallPolicyRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ComputeFirewallPolicyRule, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(computefirewallpolicyrulesResource, c.ns, name, pt, data, subresources...), &v1beta1.ComputeFirewallPolicyRule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.ComputeFirewallPolicyRule), err +} diff --git a/pkg/client/clientset/versioned/typed/compute/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/compute/v1beta1/generated_expansion.go index f0f6fdc7d4..e79e36cc44 100644 --- a/pkg/client/clientset/versioned/typed/compute/v1beta1/generated_expansion.go +++ b/pkg/client/clientset/versioned/typed/compute/v1beta1/generated_expansion.go @@ -35,6 +35,8 @@ type ComputeFirewallExpansion interface{} type ComputeFirewallPolicyExpansion interface{} +type ComputeFirewallPolicyRuleExpansion interface{} + type ComputeForwardingRuleExpansion interface{} type ComputeHTTPHealthCheckExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/doc.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/doc.go new file mode 100644 index 0000000000..0bf01d15b1 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/doc.go @@ -0,0 +1,23 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1beta1 diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/doc.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/doc.go new file mode 100644 index 0000000000..7a39491606 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/doc.go @@ -0,0 +1,23 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestore_client.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestore_client.go new file mode 100644 index 0000000000..f4785b63b6 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestore_client.go @@ -0,0 +1,47 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package fake + +import ( + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/filestore/v1beta1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeFilestoreV1beta1 struct { + *testing.Fake +} + +func (c *FakeFilestoreV1beta1) FilestoreBackups(namespace string) v1beta1.FilestoreBackupInterface { + return &FakeFilestoreBackups{c, namespace} +} + +func (c *FakeFilestoreV1beta1) FilestoreInstances(namespace string) v1beta1.FilestoreInstanceInterface { + return &FakeFilestoreInstances{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeFilestoreV1beta1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestorebackup.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestorebackup.go new file mode 100644 index 0000000000..ddbef82a56 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestorebackup.go @@ -0,0 +1,145 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package fake + +import ( + "context" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeFilestoreBackups implements FilestoreBackupInterface +type FakeFilestoreBackups struct { + Fake *FakeFilestoreV1beta1 + ns string +} + +var filestorebackupsResource = schema.GroupVersionResource{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1", Resource: "filestorebackups"} + +var filestorebackupsKind = schema.GroupVersionKind{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1", Kind: "FilestoreBackup"} + +// Get takes name of the filestoreBackup, and returns the corresponding filestoreBackup object, and an error if there is any. +func (c *FakeFilestoreBackups) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.FilestoreBackup, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(filestorebackupsResource, c.ns, name), &v1beta1.FilestoreBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreBackup), err +} + +// List takes label and field selectors, and returns the list of FilestoreBackups that match those selectors. +func (c *FakeFilestoreBackups) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.FilestoreBackupList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(filestorebackupsResource, filestorebackupsKind, c.ns, opts), &v1beta1.FilestoreBackupList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.FilestoreBackupList{ListMeta: obj.(*v1beta1.FilestoreBackupList).ListMeta} + for _, item := range obj.(*v1beta1.FilestoreBackupList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested filestoreBackups. +func (c *FakeFilestoreBackups) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(filestorebackupsResource, c.ns, opts)) + +} + +// Create takes the representation of a filestoreBackup and creates it. Returns the server's representation of the filestoreBackup, and an error, if there is any. +func (c *FakeFilestoreBackups) Create(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.CreateOptions) (result *v1beta1.FilestoreBackup, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(filestorebackupsResource, c.ns, filestoreBackup), &v1beta1.FilestoreBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreBackup), err +} + +// Update takes the representation of a filestoreBackup and updates it. Returns the server's representation of the filestoreBackup, and an error, if there is any. +func (c *FakeFilestoreBackups) Update(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (result *v1beta1.FilestoreBackup, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(filestorebackupsResource, c.ns, filestoreBackup), &v1beta1.FilestoreBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreBackup), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeFilestoreBackups) UpdateStatus(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (*v1beta1.FilestoreBackup, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(filestorebackupsResource, "status", c.ns, filestoreBackup), &v1beta1.FilestoreBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreBackup), err +} + +// Delete takes name of the filestoreBackup and deletes it. Returns an error if one occurs. +func (c *FakeFilestoreBackups) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(filestorebackupsResource, c.ns, name), &v1beta1.FilestoreBackup{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeFilestoreBackups) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(filestorebackupsResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.FilestoreBackupList{}) + return err +} + +// Patch applies the patch and returns the patched filestoreBackup. +func (c *FakeFilestoreBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreBackup, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(filestorebackupsResource, c.ns, name, pt, data, subresources...), &v1beta1.FilestoreBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreBackup), err +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestoreinstance.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestoreinstance.go new file mode 100644 index 0000000000..3f325c9512 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/fake/fake_filestoreinstance.go @@ -0,0 +1,145 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package fake + +import ( + "context" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeFilestoreInstances implements FilestoreInstanceInterface +type FakeFilestoreInstances struct { + Fake *FakeFilestoreV1beta1 + ns string +} + +var filestoreinstancesResource = schema.GroupVersionResource{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1", Resource: "filestoreinstances"} + +var filestoreinstancesKind = schema.GroupVersionKind{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1", Kind: "FilestoreInstance"} + +// Get takes name of the filestoreInstance, and returns the corresponding filestoreInstance object, and an error if there is any. +func (c *FakeFilestoreInstances) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.FilestoreInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(filestoreinstancesResource, c.ns, name), &v1beta1.FilestoreInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreInstance), err +} + +// List takes label and field selectors, and returns the list of FilestoreInstances that match those selectors. +func (c *FakeFilestoreInstances) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.FilestoreInstanceList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(filestoreinstancesResource, filestoreinstancesKind, c.ns, opts), &v1beta1.FilestoreInstanceList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.FilestoreInstanceList{ListMeta: obj.(*v1beta1.FilestoreInstanceList).ListMeta} + for _, item := range obj.(*v1beta1.FilestoreInstanceList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested filestoreInstances. +func (c *FakeFilestoreInstances) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(filestoreinstancesResource, c.ns, opts)) + +} + +// Create takes the representation of a filestoreInstance and creates it. Returns the server's representation of the filestoreInstance, and an error, if there is any. +func (c *FakeFilestoreInstances) Create(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.CreateOptions) (result *v1beta1.FilestoreInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(filestoreinstancesResource, c.ns, filestoreInstance), &v1beta1.FilestoreInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreInstance), err +} + +// Update takes the representation of a filestoreInstance and updates it. Returns the server's representation of the filestoreInstance, and an error, if there is any. +func (c *FakeFilestoreInstances) Update(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (result *v1beta1.FilestoreInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(filestoreinstancesResource, c.ns, filestoreInstance), &v1beta1.FilestoreInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreInstance), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeFilestoreInstances) UpdateStatus(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (*v1beta1.FilestoreInstance, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(filestoreinstancesResource, "status", c.ns, filestoreInstance), &v1beta1.FilestoreInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreInstance), err +} + +// Delete takes name of the filestoreInstance and deletes it. Returns an error if one occurs. +func (c *FakeFilestoreInstances) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(filestoreinstancesResource, c.ns, name), &v1beta1.FilestoreInstance{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeFilestoreInstances) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(filestoreinstancesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.FilestoreInstanceList{}) + return err +} + +// Patch applies the patch and returns the patched filestoreInstance. +func (c *FakeFilestoreInstances) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(filestoreinstancesResource, c.ns, name, pt, data, subresources...), &v1beta1.FilestoreInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.FilestoreInstance), err +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestore_client.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestore_client.go new file mode 100644 index 0000000000..16f6d6aa8a --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestore_client.go @@ -0,0 +1,97 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +import ( + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" +) + +type FilestoreV1beta1Interface interface { + RESTClient() rest.Interface + FilestoreBackupsGetter + FilestoreInstancesGetter +} + +// FilestoreV1beta1Client is used to interact with features provided by the filestore.cnrm.cloud.google.com group. +type FilestoreV1beta1Client struct { + restClient rest.Interface +} + +func (c *FilestoreV1beta1Client) FilestoreBackups(namespace string) FilestoreBackupInterface { + return newFilestoreBackups(c, namespace) +} + +func (c *FilestoreV1beta1Client) FilestoreInstances(namespace string) FilestoreInstanceInterface { + return newFilestoreInstances(c, namespace) +} + +// NewForConfig creates a new FilestoreV1beta1Client for the given config. +func NewForConfig(c *rest.Config) (*FilestoreV1beta1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &FilestoreV1beta1Client{client}, nil +} + +// NewForConfigOrDie creates a new FilestoreV1beta1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *FilestoreV1beta1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new FilestoreV1beta1Client for the given RESTClient. +func New(c rest.Interface) *FilestoreV1beta1Client { + return &FilestoreV1beta1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1beta1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FilestoreV1beta1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestorebackup.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestorebackup.go new file mode 100644 index 0000000000..832a43f1a6 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestorebackup.go @@ -0,0 +1,198 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" + scheme "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// FilestoreBackupsGetter has a method to return a FilestoreBackupInterface. +// A group's client should implement this interface. +type FilestoreBackupsGetter interface { + FilestoreBackups(namespace string) FilestoreBackupInterface +} + +// FilestoreBackupInterface has methods to work with FilestoreBackup resources. +type FilestoreBackupInterface interface { + Create(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.CreateOptions) (*v1beta1.FilestoreBackup, error) + Update(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (*v1beta1.FilestoreBackup, error) + UpdateStatus(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (*v1beta1.FilestoreBackup, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.FilestoreBackup, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.FilestoreBackupList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreBackup, err error) + FilestoreBackupExpansion +} + +// filestoreBackups implements FilestoreBackupInterface +type filestoreBackups struct { + client rest.Interface + ns string +} + +// newFilestoreBackups returns a FilestoreBackups +func newFilestoreBackups(c *FilestoreV1beta1Client, namespace string) *filestoreBackups { + return &filestoreBackups{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the filestoreBackup, and returns the corresponding filestoreBackup object, and an error if there is any. +func (c *filestoreBackups) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.FilestoreBackup, err error) { + result = &v1beta1.FilestoreBackup{} + err = c.client.Get(). + Namespace(c.ns). + Resource("filestorebackups"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of FilestoreBackups that match those selectors. +func (c *filestoreBackups) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.FilestoreBackupList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.FilestoreBackupList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("filestorebackups"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested filestoreBackups. +func (c *filestoreBackups) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("filestorebackups"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a filestoreBackup and creates it. Returns the server's representation of the filestoreBackup, and an error, if there is any. +func (c *filestoreBackups) Create(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.CreateOptions) (result *v1beta1.FilestoreBackup, err error) { + result = &v1beta1.FilestoreBackup{} + err = c.client.Post(). + Namespace(c.ns). + Resource("filestorebackups"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreBackup). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a filestoreBackup and updates it. Returns the server's representation of the filestoreBackup, and an error, if there is any. +func (c *filestoreBackups) Update(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (result *v1beta1.FilestoreBackup, err error) { + result = &v1beta1.FilestoreBackup{} + err = c.client.Put(). + Namespace(c.ns). + Resource("filestorebackups"). + Name(filestoreBackup.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreBackup). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *filestoreBackups) UpdateStatus(ctx context.Context, filestoreBackup *v1beta1.FilestoreBackup, opts v1.UpdateOptions) (result *v1beta1.FilestoreBackup, err error) { + result = &v1beta1.FilestoreBackup{} + err = c.client.Put(). + Namespace(c.ns). + Resource("filestorebackups"). + Name(filestoreBackup.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreBackup). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the filestoreBackup and deletes it. Returns an error if one occurs. +func (c *filestoreBackups) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("filestorebackups"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *filestoreBackups) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("filestorebackups"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched filestoreBackup. +func (c *filestoreBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreBackup, err error) { + result = &v1beta1.FilestoreBackup{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("filestorebackups"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestoreinstance.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestoreinstance.go new file mode 100644 index 0000000000..0d3f4d60d6 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/filestoreinstance.go @@ -0,0 +1,198 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/filestore/v1beta1" + scheme "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// FilestoreInstancesGetter has a method to return a FilestoreInstanceInterface. +// A group's client should implement this interface. +type FilestoreInstancesGetter interface { + FilestoreInstances(namespace string) FilestoreInstanceInterface +} + +// FilestoreInstanceInterface has methods to work with FilestoreInstance resources. +type FilestoreInstanceInterface interface { + Create(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.CreateOptions) (*v1beta1.FilestoreInstance, error) + Update(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (*v1beta1.FilestoreInstance, error) + UpdateStatus(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (*v1beta1.FilestoreInstance, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.FilestoreInstance, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.FilestoreInstanceList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreInstance, err error) + FilestoreInstanceExpansion +} + +// filestoreInstances implements FilestoreInstanceInterface +type filestoreInstances struct { + client rest.Interface + ns string +} + +// newFilestoreInstances returns a FilestoreInstances +func newFilestoreInstances(c *FilestoreV1beta1Client, namespace string) *filestoreInstances { + return &filestoreInstances{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the filestoreInstance, and returns the corresponding filestoreInstance object, and an error if there is any. +func (c *filestoreInstances) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.FilestoreInstance, err error) { + result = &v1beta1.FilestoreInstance{} + err = c.client.Get(). + Namespace(c.ns). + Resource("filestoreinstances"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of FilestoreInstances that match those selectors. +func (c *filestoreInstances) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.FilestoreInstanceList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.FilestoreInstanceList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("filestoreinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested filestoreInstances. +func (c *filestoreInstances) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("filestoreinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a filestoreInstance and creates it. Returns the server's representation of the filestoreInstance, and an error, if there is any. +func (c *filestoreInstances) Create(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.CreateOptions) (result *v1beta1.FilestoreInstance, err error) { + result = &v1beta1.FilestoreInstance{} + err = c.client.Post(). + Namespace(c.ns). + Resource("filestoreinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreInstance). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a filestoreInstance and updates it. Returns the server's representation of the filestoreInstance, and an error, if there is any. +func (c *filestoreInstances) Update(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (result *v1beta1.FilestoreInstance, err error) { + result = &v1beta1.FilestoreInstance{} + err = c.client.Put(). + Namespace(c.ns). + Resource("filestoreinstances"). + Name(filestoreInstance.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreInstance). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *filestoreInstances) UpdateStatus(ctx context.Context, filestoreInstance *v1beta1.FilestoreInstance, opts v1.UpdateOptions) (result *v1beta1.FilestoreInstance, err error) { + result = &v1beta1.FilestoreInstance{} + err = c.client.Put(). + Namespace(c.ns). + Resource("filestoreinstances"). + Name(filestoreInstance.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(filestoreInstance). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the filestoreInstance and deletes it. Returns an error if one occurs. +func (c *filestoreInstances) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("filestoreinstances"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *filestoreInstances) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("filestoreinstances"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched filestoreInstance. +func (c *filestoreInstances) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.FilestoreInstance, err error) { + result = &v1beta1.FilestoreInstance{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("filestoreinstances"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/filestore/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/filestore/v1beta1/generated_expansion.go new file mode 100644 index 0000000000..4fab2a344c --- /dev/null +++ b/pkg/client/clientset/versioned/typed/filestore/v1beta1/generated_expansion.go @@ -0,0 +1,26 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// *** DISCLAIMER *** +// Config Connector's go-client for CRDs is currently in ALPHA, which means +// that future versions of the go-client may include breaking changes. +// Please try it out and give us feedback! + +// Code generated by main. DO NOT EDIT. + +package v1beta1 + +type FilestoreBackupExpansion interface{} + +type FilestoreInstanceExpansion interface{} diff --git a/samples/resources/bigquerydataset/bigquery_v1beta1_bigquerydataset.yaml b/samples/resources/bigquerydataset/bigquery_v1beta1_bigquerydataset.yaml index de576b1f3d..fdc0a5da9e 100644 --- a/samples/resources/bigquerydataset/bigquery_v1beta1_bigquerydataset.yaml +++ b/samples/resources/bigquerydataset/bigquery_v1beta1_bigquerydataset.yaml @@ -23,3 +23,12 @@ spec: description: "BigQuery Dataset Sample" friendlyName: bigquerydataset-sample location: US + access: + - role: OWNER + # Replace ${PROJECT_ID?} with the ID of the project where your service + # account lives. + userByEmail: bigquerydataset-dep@${PROJECT_ID?}.iam.gserviceaccount.com + - role: WRITER + specialGroup: projectWriters + - role: READER + domain: google.com diff --git a/samples/resources/bigquerydataset/iam_v1beta1_iamserviceaccount.yaml b/samples/resources/bigquerydataset/iam_v1beta1_iamserviceaccount.yaml new file mode 100644 index 0000000000..3c177de21c --- /dev/null +++ b/samples/resources/bigquerydataset/iam_v1beta1_iamserviceaccount.yaml @@ -0,0 +1,21 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: iam.cnrm.cloud.google.com/v1beta1 +kind: IAMServiceAccount +metadata: + annotations: + # Replace ${PROJECT_ID?} with your project ID. + cnrm.cloud.google.com/project-id: "${PROJECT_ID?}" + name: bigquerydataset-dep diff --git a/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/cloudbuild_v1beta1_cloudbuildtrigger.yaml b/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/cloudbuild_v1beta1_cloudbuildtrigger.yaml index 1130130f14..58be9501a4 100644 --- a/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/cloudbuild_v1beta1_cloudbuildtrigger.yaml +++ b/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/cloudbuild_v1beta1_cloudbuildtrigger.yaml @@ -31,3 +31,5 @@ spec: substitutions: "_SERVICE_NAME": "service-name" filename: "cloudbuild.yaml" + serviceAccountRef: + name: cbt-dep-withtemplatefile diff --git a/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/iam_v1beta1_iamserviceaccount.yaml b/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/iam_v1beta1_iamserviceaccount.yaml new file mode 100644 index 0000000000..88d05b76ef --- /dev/null +++ b/samples/resources/cloudbuildtrigger/build-trigger-with-template-file/iam_v1beta1_iamserviceaccount.yaml @@ -0,0 +1,18 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: iam.cnrm.cloud.google.com/v1beta1 +kind: IAMServiceAccount +metadata: + name: cbt-dep-withtemplatefile \ No newline at end of file diff --git a/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicy.yaml b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicy.yaml new file mode 100644 index 0000000000..8054ad3fe3 --- /dev/null +++ b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicy.yaml @@ -0,0 +1,26 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: compute.cnrm.cloud.google.com/v1beta1 +kind: ComputeFirewallPolicy +metadata: + name: firewallpolicyrule-dep +spec: + organizationRef: + # Replace "${ORG_ID?}" with the numeric ID for your organization + external: "organizations/${ORG_ID?}" + # ComputeFirewallPolicy shortNames must be unique in the organization in + # which the firewall policy is created + shortName: ${PROJECT_ID?}-short + description: "A basic organization firewall policy" diff --git a/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicyrule.yaml b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicyrule.yaml new file mode 100644 index 0000000000..f32fe483de --- /dev/null +++ b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computefirewallpolicyrule.yaml @@ -0,0 +1,36 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: compute.cnrm.cloud.google.com/v1beta1 +kind: ComputeFirewallPolicyRule +metadata: + name: firewallpolicyrule-sample +spec: + action: "deny" + description: "A Firewall Policy Rule" + direction: "INGRESS" + disabled: false + enableLogging: false + firewallPolicyRef: + name: firewallpolicyrule-dep + match: + layer4Configs: + - ipProtocol: "tcp" + srcIPRanges: + - "10.100.0.1/32" + priority: 9000 + targetResources: + - name: firewallpolicyrule-dep + targetServiceAccounts: + - name: firewallpolicyrule-dep \ No newline at end of file diff --git a/samples/resources/computefirewallpolicyrule/compute_v1beta1_computenetwork.yaml b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computenetwork.yaml new file mode 100644 index 0000000000..274c220bac --- /dev/null +++ b/samples/resources/computefirewallpolicyrule/compute_v1beta1_computenetwork.yaml @@ -0,0 +1,21 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: compute.cnrm.cloud.google.com/v1beta1 +kind: ComputeNetwork +metadata: + name: firewallpolicyrule-dep +spec: + routingMode: REGIONAL + autoCreateSubnetworks: false diff --git a/samples/resources/computefirewallpolicyrule/iam_v1beta1_iamserviceaccount.yaml b/samples/resources/computefirewallpolicyrule/iam_v1beta1_iamserviceaccount.yaml new file mode 100644 index 0000000000..abae05a648 --- /dev/null +++ b/samples/resources/computefirewallpolicyrule/iam_v1beta1_iamserviceaccount.yaml @@ -0,0 +1,21 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: iam.cnrm.cloud.google.com/v1beta1 +kind: IAMServiceAccount +metadata: + annotations: + # Replace ${PROJECT_ID?} with your project ID. + cnrm.cloud.google.com/project-id: "${PROJECT_ID?}" + name: firewallpolicyrule-dep \ No newline at end of file diff --git a/samples/resources/containercluster/routes-based-container-cluster/container_v1beta1_containercluster.yaml b/samples/resources/containercluster/routes-based-container-cluster/container_v1beta1_containercluster.yaml index 2b62906d4c..b5fc5fe03a 100644 --- a/samples/resources/containercluster/routes-based-container-cluster/container_v1beta1_containercluster.yaml +++ b/samples/resources/containercluster/routes-based-container-cluster/container_v1beta1_containercluster.yaml @@ -23,8 +23,6 @@ spec: description: A routes-based cluster confined to one zone configured for development. location: us-central1-a initialNodeCount: 1 - clusterTelemetry: - type: SYSTEM_ONLY networkingMode: ROUTES clusterIpv4Cidr: 10.96.0.0/14 masterAuthorizedNetworksConfig: @@ -40,3 +38,10 @@ spec: disabled: true httpLoadBalancing: disabled: true + loggingConfig: + enableComponents: + - "SYSTEM_COMPONENTS" + - "WORKLOADS" + monitoringConfig: + enableComponents: + - "SYSTEM_COMPONENTS" \ No newline at end of file diff --git a/samples/resources/filestorebackup/compute_v1beta1_computenetwork.yaml b/samples/resources/filestorebackup/compute_v1beta1_computenetwork.yaml new file mode 100644 index 0000000000..8a4961971a --- /dev/null +++ b/samples/resources/filestorebackup/compute_v1beta1_computenetwork.yaml @@ -0,0 +1,20 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: compute.cnrm.cloud.google.com/v1beta1 +kind: ComputeNetwork +metadata: + name: filestorebackup-dep +spec: + autoCreateSubnetworks: false diff --git a/samples/resources/filestorebackup/filestore_v1beta1_filestorebackup.yaml b/samples/resources/filestorebackup/filestore_v1beta1_filestorebackup.yaml new file mode 100644 index 0000000000..35bc35803f --- /dev/null +++ b/samples/resources/filestorebackup/filestore_v1beta1_filestorebackup.yaml @@ -0,0 +1,24 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: filestore.cnrm.cloud.google.com/v1beta1 +kind: FilestoreBackup +metadata: + name: filestorebackup-sample +spec: + description: "A sample backup" + location: us-central1 + sourceFileShare: my_share + sourceInstanceRef: + name: filestorebackup-dep diff --git a/samples/resources/filestorebackup/filestore_v1beta1_filestoreinstance.yaml b/samples/resources/filestorebackup/filestore_v1beta1_filestoreinstance.yaml new file mode 100644 index 0000000000..c2b314897e --- /dev/null +++ b/samples/resources/filestorebackup/filestore_v1beta1_filestoreinstance.yaml @@ -0,0 +1,31 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: filestore.cnrm.cloud.google.com/v1beta1 +kind: FilestoreInstance +metadata: + name: filestorebackup-dep +spec: + description: "Sample FilestoreInstance dependency for FilestoreBackup" + fileShares: + - capacityGb: 4800 + name: my_share + location: us-central1-c + networks: + - modes: + - MODE_IPV4 + networkRef: + name: filestorebackup-dep + reservedIPRange: 10.0.0.0/29 + tier: PREMIUM diff --git a/samples/resources/filestoreinstance/compute_v1beta1_computenetwork.yaml b/samples/resources/filestoreinstance/compute_v1beta1_computenetwork.yaml new file mode 100644 index 0000000000..5df5bf4c7b --- /dev/null +++ b/samples/resources/filestoreinstance/compute_v1beta1_computenetwork.yaml @@ -0,0 +1,20 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: compute.cnrm.cloud.google.com/v1beta1 +kind: ComputeNetwork +metadata: + name: filestoreinstance-dep +spec: + autoCreateSubnetworks: false diff --git a/samples/resources/filestoreinstance/filestore_v1beta1_filestoreinstance.yaml b/samples/resources/filestoreinstance/filestore_v1beta1_filestoreinstance.yaml new file mode 100644 index 0000000000..d00a339541 --- /dev/null +++ b/samples/resources/filestoreinstance/filestore_v1beta1_filestoreinstance.yaml @@ -0,0 +1,38 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: filestore.cnrm.cloud.google.com/v1beta1 +kind: FilestoreInstance +metadata: + name: filestoreinstance-sample +spec: + description: "A sample filestore instance" + fileShares: + - capacityGb: 4800 + name: my_share + nfsExportOptions: + - accessMode: READ_WRITE + anonGid: 65534 + anonUid: 65534 + ipRanges: + - 172.217.14.238 + squashMode: ROOT_SQUASH + location: us-central1-c + networks: + - networkRef: + name: filestoreinstance-dep + modes: + - MODE_IPV4 + reservedIPRange: 10.0.0.0/29 + tier: PREMIUM diff --git a/samples/resources/gkehubfeaturemembership/gkehub_v1beta1_gkehubfeaturemembership.yaml b/samples/resources/gkehubfeaturemembership/gkehub_v1beta1_gkehubfeaturemembership.yaml index 1cc4c63b95..416bd2caf7 100644 --- a/samples/resources/gkehubfeaturemembership/gkehub_v1beta1_gkehubfeaturemembership.yaml +++ b/samples/resources/gkehubfeaturemembership/gkehub_v1beta1_gkehubfeaturemembership.yaml @@ -25,7 +25,7 @@ spec: featureRef: name: gkehubfeaturemembership-dep configmanagement: - version: 1.6.2 + version: 1.9.0 configSync: sourceFormat: unstructured git: diff --git a/samples/resources/kmscryptokey/kms_v1beta1_kmscryptokey.yaml b/samples/resources/kmscryptokey/kms_v1beta1_kmscryptokey.yaml index 2a04e6b211..d4e60f6a56 100644 --- a/samples/resources/kmscryptokey/kms_v1beta1_kmscryptokey.yaml +++ b/samples/resources/kmscryptokey/kms_v1beta1_kmscryptokey.yaml @@ -25,3 +25,4 @@ spec: versionTemplate: algorithm: EC_SIGN_P384_SHA384 protectionLevel: SOFTWARE + importOnly: false diff --git a/samples/resources/pubsubtopic/pubsub_v1beta1_pubsubtopic.yaml b/samples/resources/pubsubtopic/pubsub_v1beta1_pubsubtopic.yaml index 28f182b9ec..2e30ddf4f7 100644 --- a/samples/resources/pubsubtopic/pubsub_v1beta1_pubsubtopic.yaml +++ b/samples/resources/pubsubtopic/pubsub_v1beta1_pubsubtopic.yaml @@ -17,4 +17,6 @@ kind: PubSubTopic metadata: labels: label-one: "value-one" - name: pubsubtopic-sample \ No newline at end of file + name: pubsubtopic-sample +spec: + resourceID: pubsubtopic-sample \ No newline at end of file