From 7bb51b2caf0d6b0bf89698a928b7074839859743 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Thu, 6 Jan 2022 14:19:38 -0800 Subject: [PATCH] Update for version 1.70.0 --- ...beta1_accesscontextmanageraccesslevel.yaml | 8 +- ...eta1_accesscontextmanageraccesspolicy.yaml | 2 +- ..._accesscontextmanagerserviceperimeter.yaml | 53 +- ...ry_v1beta1_artifactregistryrepository.yaml | 2 +- crds/bigquery_v1beta1_bigquerydataset.yaml | 2 +- crds/bigquery_v1beta1_bigqueryjob.yaml | 2 +- crds/bigquery_v1beta1_bigquerytable.yaml | 2 +- crds/bigtable_v1beta1_bigtableappprofile.yaml | 2 +- crds/bigtable_v1beta1_bigtablegcpolicy.yaml | 2 +- crds/bigtable_v1beta1_bigtableinstance.yaml | 2 +- crds/bigtable_v1beta1_bigtabletable.yaml | 2 +- ...n_v1beta1_binaryauthorizationattestor.yaml | 2 +- ...ion_v1beta1_binaryauthorizationpolicy.yaml | 2 +- .../cloudbuild_v1beta1_cloudbuildtrigger.yaml | 5 +- ...udidentity_v1beta1_cloudidentitygroup.yaml | 2 +- ...ntity_v1beta1_cloudidentitymembership.yaml | 2 +- ...udscheduler_v1beta1_cloudschedulerjob.yaml | 2 +- crds/compute_v1beta1_computeaddress.yaml | 2 +- .../compute_v1beta1_computebackendbucket.yaml | 2 +- ...compute_v1beta1_computebackendservice.yaml | 2 +- crds/compute_v1beta1_computedisk.yaml | 2 +- ...ute_v1beta1_computeexternalvpngateway.yaml | 2 +- crds/compute_v1beta1_computefirewall.yaml | 5 +- ...compute_v1beta1_computefirewallpolicy.yaml | 7 +- ...ute_v1beta1_computefirewallpolicyrule.yaml | 2 +- ...compute_v1beta1_computeforwardingrule.yaml | 2 +- crds/compute_v1beta1_computehealthcheck.yaml | 2 +- ...ompute_v1beta1_computehttphealthcheck.yaml | 2 +- ...mpute_v1beta1_computehttpshealthcheck.yaml | 2 +- crds/compute_v1beta1_computeimage.yaml | 2 +- crds/compute_v1beta1_computeinstance.yaml | 7 +- .../compute_v1beta1_computeinstancegroup.yaml | 2 +- ...e_v1beta1_computeinstancegroupmanager.yaml | 2 +- ...mpute_v1beta1_computeinstancetemplate.yaml | 7 +- ...v1beta1_computeinterconnectattachment.yaml | 2 +- crds/compute_v1beta1_computenetwork.yaml | 2 +- ...e_v1beta1_computenetworkendpointgroup.yaml | 2 +- ...compute_v1beta1_computenetworkpeering.yaml | 2 +- crds/compute_v1beta1_computenodegroup.yaml | 2 +- crds/compute_v1beta1_computenodetemplate.yaml | 2 +- ...ompute_v1beta1_computepacketmirroring.yaml | 2 +- ...ompute_v1beta1_computeprojectmetadata.yaml | 2 +- crds/compute_v1beta1_computereservation.yaml | 2 +- ...compute_v1beta1_computeresourcepolicy.yaml | 2 +- crds/compute_v1beta1_computeroute.yaml | 2 +- crds/compute_v1beta1_computerouter.yaml | 2 +- ...ompute_v1beta1_computerouterinterface.yaml | 2 +- crds/compute_v1beta1_computerouternat.yaml | 2 +- crds/compute_v1beta1_computerouterpeer.yaml | 38 +- ...compute_v1beta1_computesecuritypolicy.yaml | 2 +- ...pute_v1beta1_computeserviceattachment.yaml | 2 +- ...e_v1beta1_computesharedvpchostproject.yaml | 2 +- ...1beta1_computesharedvpcserviceproject.yaml | 2 +- crds/compute_v1beta1_computesnapshot.yaml | 7 +- ...compute_v1beta1_computesslcertificate.yaml | 2 +- crds/compute_v1beta1_computesslpolicy.yaml | 2 +- crds/compute_v1beta1_computesubnetwork.yaml | 2 +- ...ompute_v1beta1_computetargetgrpcproxy.yaml | 2 +- ...ompute_v1beta1_computetargethttpproxy.yaml | 2 +- ...mpute_v1beta1_computetargethttpsproxy.yaml | 2 +- ...compute_v1beta1_computetargetinstance.yaml | 2 +- crds/compute_v1beta1_computetargetpool.yaml | 2 +- ...compute_v1beta1_computetargetsslproxy.yaml | 2 +- ...compute_v1beta1_computetargettcpproxy.yaml | 2 +- ...mpute_v1beta1_computetargetvpngateway.yaml | 2 +- crds/compute_v1beta1_computeurlmap.yaml | 2 +- crds/compute_v1beta1_computevpngateway.yaml | 2 +- crds/compute_v1beta1_computevpntunnel.yaml | 2 +- ...ller_v1beta1_configcontrollerinstance.yaml | 2 +- crds/container_v1beta1_containercluster.yaml | 32 +- crds/container_v1beta1_containernodepool.yaml | 17 +- ...nalysis_v1beta1_containeranalysisnote.yaml | 2 +- ...aflow_v1beta1_dataflowflextemplatejob.yaml | 2 +- crds/dataflow_v1beta1_dataflowjob.yaml | 2 +- ...datafusion_v1beta1_datafusioninstance.yaml | 2 +- ...roc_v1beta1_dataprocautoscalingpolicy.yaml | 2 +- crds/dataproc_v1beta1_dataproccluster.yaml | 2 +- ...proc_v1beta1_dataprocworkflowtemplate.yaml | 2 +- crds/dns_v1beta1_dnsmanagedzone.yaml | 2 +- crds/dns_v1beta1_dnspolicy.yaml | 2 +- crds/dns_v1beta1_dnsrecordset.yaml | 2 +- crds/filestore_v1beta1_filestorebackup.yaml | 2 +- crds/filestore_v1beta1_filestoreinstance.yaml | 2 +- crds/firestore_v1beta1_firestoreindex.yaml | 2 +- ...ameservices_v1beta1_gameservicesrealm.yaml | 2 +- crds/gkehub_v1beta1_gkehubfeature.yaml | 2 +- ...kehub_v1beta1_gkehubfeaturemembership.yaml | 2 +- crds/gkehub_v1beta1_gkehubmembership.yaml | 2 +- crds/iam_v1beta1_iamauditconfig.yaml | 3 +- crds/iam_v1beta1_iamcustomrole.yaml | 2 +- crds/iam_v1beta1_iampartialpolicy.yaml | 3 +- crds/iam_v1beta1_iampolicy.yaml | 4 +- crds/iam_v1beta1_iampolicymember.yaml | 3 +- crds/iam_v1beta1_iamserviceaccount.yaml | 2 +- crds/iam_v1beta1_iamserviceaccountkey.yaml | 2 +- crds/iam_v1beta1_iamworkloadidentitypool.yaml | 2 +- ...beta1_iamworkloadidentitypoolprovider.yaml | 2 +- crds/iap_v1beta1_iapbrand.yaml | 2 +- ...p_v1beta1_iapidentityawareproxyclient.yaml | 2 +- ...1beta1_identityplatformoauthidpconfig.yaml | 2 +- ...atform_v1beta1_identityplatformtenant.yaml | 2 +- ..._identityplatformtenantoauthidpconfig.yaml | 2 +- crds/kms_v1beta1_kmscryptokey.yaml | 13 +- crds/kms_v1beta1_kmskeyring.yaml | 7 +- crds/logging_v1beta1_logginglogexclusion.yaml | 13 +- crds/logging_v1beta1_logginglogsink.yaml | 11 +- crds/memcache_v1beta1_memcacheinstance.yaml | 5 +- ...itoring_v1beta1_monitoringalertpolicy.yaml | 2 +- ...onitoring_v1beta1_monitoringdashboard.yaml | 2 +- crds/monitoring_v1beta1_monitoringgroup.yaml | 2 +- ...ng_v1beta1_monitoringmetricdescriptor.yaml | 2 +- ...v1beta1_monitoringnotificationchannel.yaml | 2 +- .../monitoring_v1beta1_monitoringservice.yaml | 2 +- ...beta1_monitoringservicelevelobjective.yaml | 2 +- ...g_v1beta1_monitoringuptimecheckconfig.yaml | 383 ++ ...tivity_v1beta1_networkconnectivityhub.yaml | 2 +- ...a1_networksecurityauthorizationpolicy.yaml | 2 +- ...1beta1_networksecurityclienttlspolicy.yaml | 2 +- ...1beta1_networksecurityservertlspolicy.yaml | 2 +- ...v1beta1_networkservicesendpointpolicy.yaml | 2 +- ...rvices_v1beta1_networkservicesgateway.yaml | 219 + ...ices_v1beta1_networkservicesgrpcroute.yaml | 623 +++ ...ices_v1beta1_networkserviceshttproute.yaml | 753 +++ ...kservices_v1beta1_networkservicesmesh.yaml | 203 + ...vices_v1beta1_networkservicestcproute.yaml | 344 ++ .../osconfig_v1beta1_osconfigguestpolicy.yaml | 2 +- ...ig_v1beta1_osconfigospolicyassignment.yaml | 2 +- crds/privateca_v1beta1_privatecacapool.yaml | 2 +- ..._v1beta1_privatecacertificatetemplate.yaml | 2 +- crds/pubsub_v1beta1_pubsubsubscription.yaml | 14 +- crds/pubsub_v1beta1_pubsubtopic.yaml | 12 +- ...rprise_v1beta1_recaptchaenterprisekey.yaml | 2 +- crds/redis_v1beta1_redisinstance.yaml | 2 +- crds/resourcemanager_v1beta1_folder.yaml | 2 +- crds/resourcemanager_v1beta1_project.yaml | 2 +- ...cemanager_v1beta1_resourcemanagerlien.yaml | 5 +- ...manager_v1beta1_resourcemanagerpolicy.yaml | 2 +- crds/run_v1beta1_runservice.yaml | 903 ++++ ...etmanager_v1beta1_secretmanagersecret.yaml | 5 +- ...er_v1beta1_secretmanagersecretversion.yaml | 2 +- ...g_v1beta1_servicenetworkingconnection.yaml | 2 +- crds/serviceusage_v1beta1_service.yaml | 2 +- ...urcerepo_v1beta1_sourcereporepository.yaml | 2 +- crds/spanner_v1beta1_spannerdatabase.yaml | 2 +- crds/spanner_v1beta1_spannerinstance.yaml | 2 +- crds/sql_v1beta1_sqldatabase.yaml | 2 +- crds/sql_v1beta1_sqlinstance.yaml | 34 +- crds/sql_v1beta1_sqlsslcert.yaml | 2 +- crds/sql_v1beta1_sqluser.yaml | 2 +- crds/storage_v1beta1_storagebucket.yaml | 9 +- ...ge_v1beta1_storagebucketaccesscontrol.yaml | 2 +- ...ta1_storagedefaultobjectaccesscontrol.yaml | 2 +- crds/storage_v1beta1_storagenotification.yaml | 5 +- ...getransfer_v1beta1_storagetransferjob.yaml | 2 +- .../vpcaccess_v1beta1_vpcaccessconnector.yaml | 2 +- .../0-cnrm-system.yaml | 80 +- .../install-bundle-gcp-identity/crds.yaml | 4748 ++++++++++++++--- .../0-cnrm-system.yaml | 66 +- .../install-bundle-namespaced/crds.yaml | 4748 ++++++++++++++--- .../per-namespace-components.yaml | 18 +- .../0-cnrm-system.yaml | 80 +- .../crds.yaml | 4748 ++++++++++++++--- .../compute/v1beta1/computefirewall_types.go | 3 +- .../compute/v1beta1/computeinstance_types.go | 4 + .../v1beta1/computeinstancetemplate_types.go | 4 + .../v1beta1/computerouterpeer_types.go | 35 + .../compute/v1beta1/computesnapshot_types.go | 2 - .../compute/v1beta1/zz_generated.deepcopy.go | 46 + .../v1beta1/containercluster_types.go | 18 +- .../v1beta1/containernodepool_types.go | 11 + .../v1beta1/zz_generated.deepcopy.go | 52 +- pkg/apis/kms/v1beta1/kmscryptokey_types.go | 4 +- pkg/apis/kms/v1beta1/kmskeyring_types.go | 2 +- .../monitoringuptimecheckconfig_types.go | 211 + pkg/apis/monitoring/v1beta1/register.go | 6 + .../v1beta1/zz_generated.deepcopy.go | 359 ++ .../v1beta1/networkservicesgateway_types.go | 116 + .../v1beta1/networkservicesgrpcroute_types.go | 299 ++ .../v1beta1/networkserviceshttproute_types.go | 428 ++ .../v1beta1/networkservicesmesh_types.go | 104 + .../v1beta1/networkservicestcproute_types.go | 145 + pkg/apis/networkservices/v1beta1/register.go | 30 + .../v1beta1/zz_generated.deepcopy.go | 1921 ++++++- .../v1beta1/pubsubsubscription_types.go | 2 - pkg/apis/pubsub/v1beta1/pubsubtopic_types.go | 10 + .../pubsub/v1beta1/zz_generated.deepcopy.go | 5 + pkg/apis/run/group.go | 32 + pkg/apis/run/v1beta1/doc.go | 40 + pkg/apis/run/v1beta1/register.go | 63 + pkg/apis/run/v1beta1/runservice_types.go | 421 ++ pkg/apis/run/v1beta1/zz_generated.deepcopy.go | 696 +++ pkg/apis/sql/v1beta1/sqlinstance_types.go | 9 +- .../storage/v1beta1/storagebucket_types.go | 3 +- pkg/client/clientset/versioned/clientset.go | 14 + .../versioned/fake/clientset_generated.go | 7 + .../clientset/versioned/fake/register.go | 2 + .../clientset/versioned/scheme/register.go | 2 + .../v1beta1/fake/fake_monitoring_client.go | 4 + .../fake/fake_monitoringuptimecheckconfig.go | 145 + .../monitoring/v1beta1/generated_expansion.go | 2 + .../monitoring/v1beta1/monitoring_client.go | 5 + .../v1beta1/monitoringuptimecheckconfig.go | 198 + .../fake/fake_networkservices_client.go | 20 + .../fake/fake_networkservicesgateway.go | 145 + .../fake/fake_networkservicesgrpcroute.go | 145 + .../fake/fake_networkserviceshttproute.go | 145 + .../v1beta1/fake/fake_networkservicesmesh.go | 145 + .../fake/fake_networkservicestcproute.go | 145 + .../v1beta1/generated_expansion.go | 10 + .../v1beta1/networkservices_client.go | 25 + .../v1beta1/networkservicesgateway.go | 198 + .../v1beta1/networkservicesgrpcroute.go | 198 + .../v1beta1/networkserviceshttproute.go | 198 + .../v1beta1/networkservicesmesh.go | 198 + .../v1beta1/networkservicestcproute.go | 198 + .../versioned/typed/run/v1beta1/doc.go | 23 + .../versioned/typed/run/v1beta1/fake/doc.go | 23 + .../typed/run/v1beta1/fake/fake_run_client.go | 43 + .../typed/run/v1beta1/fake/fake_runservice.go | 145 + .../typed/run/v1beta1/generated_expansion.go | 24 + .../versioned/typed/run/v1beta1/run_client.go | 92 + .../versioned/typed/run/v1beta1/runservice.go | 198 + .../compute_v1beta1_computefirewall.yaml | 2 + .../compute_v1beta1_computefirewall.yaml | 2 + .../container_v1beta1_containercluster.yaml | 5 +- .../dataproc_v1beta1_dataproccluster.yaml | 2 +- ...proc_v1beta1_dataprocworkflowtemplate.yaml | 2 +- ...g_v1beta1_monitoringuptimecheckconfig.yaml | 54 + .../http-uptime-check-config/secret.yaml | 20 + .../monitoring_v1beta1_monitoringgroup.yaml | 25 + ...g_v1beta1_monitoringuptimecheckconfig.yaml | 30 + ...rvices_v1beta1_networkservicesgateway.yaml | 30 + ...compute_v1beta1_computebackendservice.yaml | 22 + ...ices_v1beta1_networkservicesgrpcroute.yaml | 81 + ...compute_v1beta1_computebackendservice.yaml | 21 + ...ices_v1beta1_networkserviceshttproute.yaml | 79 + ...kservices_v1beta1_networkservicesmesh.yaml | 27 + ...compute_v1beta1_computebackendservice.yaml | 22 + ...vices_v1beta1_networkservicestcproute.yaml | 38 + .../runservice/run_v1beta1_runservice.yaml | 36 + .../storage_v1beta1_storagebucket.yaml | 1 + 241 files changed, 24345 insertions(+), 2422 deletions(-) create mode 100644 crds/monitoring_v1beta1_monitoringuptimecheckconfig.yaml create mode 100644 crds/networkservices_v1beta1_networkservicesgateway.yaml create mode 100644 crds/networkservices_v1beta1_networkservicesgrpcroute.yaml create mode 100644 crds/networkservices_v1beta1_networkserviceshttproute.yaml create mode 100644 crds/networkservices_v1beta1_networkservicesmesh.yaml create mode 100644 crds/networkservices_v1beta1_networkservicestcproute.yaml create mode 100644 crds/run_v1beta1_runservice.yaml create mode 100644 pkg/apis/monitoring/v1beta1/monitoringuptimecheckconfig_types.go create mode 100644 pkg/apis/networkservices/v1beta1/networkservicesgateway_types.go create mode 100644 pkg/apis/networkservices/v1beta1/networkservicesgrpcroute_types.go create mode 100644 pkg/apis/networkservices/v1beta1/networkserviceshttproute_types.go create mode 100644 pkg/apis/networkservices/v1beta1/networkservicesmesh_types.go create mode 100644 pkg/apis/networkservices/v1beta1/networkservicestcproute_types.go create mode 100644 pkg/apis/run/group.go create mode 100644 pkg/apis/run/v1beta1/doc.go create mode 100644 pkg/apis/run/v1beta1/register.go create mode 100644 pkg/apis/run/v1beta1/runservice_types.go create mode 100644 pkg/apis/run/v1beta1/zz_generated.deepcopy.go create mode 100644 pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoringuptimecheckconfig.go create mode 100644 pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoringuptimecheckconfig.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgateway.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgrpcroute.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkserviceshttproute.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesmesh.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicestcproute.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgateway.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgrpcroute.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkserviceshttproute.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesmesh.go create mode 100644 pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicestcproute.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/doc.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/fake/doc.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_run_client.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_runservice.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/generated_expansion.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/run_client.go create mode 100644 pkg/client/clientset/versioned/typed/run/v1beta1/runservice.go create mode 100644 samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml create mode 100644 samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/secret.yaml create mode 100644 samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringgroup.yaml create mode 100644 samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml create mode 100644 samples/resources/networkservicesgateway/networkservices_v1beta1_networkservicesgateway.yaml create mode 100644 samples/resources/networkservicesgrpcroute/compute_v1beta1_computebackendservice.yaml create mode 100644 samples/resources/networkservicesgrpcroute/networkservices_v1beta1_networkservicesgrpcroute.yaml create mode 100644 samples/resources/networkserviceshttproute/compute_v1beta1_computebackendservice.yaml create mode 100644 samples/resources/networkserviceshttproute/networkservices_v1beta1_networkserviceshttproute.yaml create mode 100644 samples/resources/networkservicesmesh/networkservices_v1beta1_networkservicesmesh.yaml create mode 100644 samples/resources/networkservicestcproute/compute_v1beta1_computebackendservice.yaml create mode 100644 samples/resources/networkservicestcproute/networkservices_v1beta1_networkservicestcproute.yaml create mode 100644 samples/resources/runservice/run_v1beta1_runservice.yaml diff --git a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml index 1d9e2e9796..42e7f4bc0d 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -91,7 +91,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -224,7 +225,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: diff --git a/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml b/crds/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml index a8dbfeba5e..f03da18df7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 f4cbca6ef4..b83a3a4144 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -91,7 +91,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -162,7 +163,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -212,7 +214,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -302,7 +305,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -360,7 +364,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -412,7 +417,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -446,7 +452,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -529,7 +536,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -568,7 +576,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -641,7 +650,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -691,7 +701,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -781,7 +792,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -839,7 +851,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -891,7 +904,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -925,7 +939,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1008,7 +1023,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1047,7 +1063,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml b/crds/artifactregistry_v1beta1_artifactregistryrepository.yaml index 1604c7299d..ec1c846821 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 bb7d3caeff..a68e2d5cf1 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 adb6358d80..b5ee4f2d75 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 bf2f25847f..8485761159 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 34fe36360e..7f329e07f4 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 87711993e0..02154d8ee8 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 78c96a4f86..7afcff16c3 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 1c6a3acff9..373111dd28 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0c3920c04c..633558c6b6 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 78cdbb8e65..c5a2566ede 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 53a9f3a19b..762100bd45 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -808,7 +808,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "projects/{{project}}/serviceAccounts/{{value}}", + where {{value}} is 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' diff --git a/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml b/crds/cloudidentity_v1beta1_cloudidentitygroup.yaml index 87e7419864..5a2980ac6a 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/cloudidentity_v1beta1_cloudidentitymembership.yaml b/crds/cloudidentity_v1beta1_cloudidentitymembership.yaml index e670ef8317..6e9d186c7d 100644 --- a/crds/cloudidentity_v1beta1_cloudidentitymembership.yaml +++ b/crds/cloudidentity_v1beta1_cloudidentitymembership.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml b/crds/cloudscheduler_v1beta1_cloudschedulerjob.yaml index d62f30addc..291d645733 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 116c3f368e..17a27386ce 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c7a84d1abd..de8f755353 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 9c70ff63d9..cf11b8c892 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computedisk.yaml b/crds/compute_v1beta1_computedisk.yaml index 58ef9027f6..a5a86d2d3a 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 8209fe0958..01c61a8714 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 6b1d8ecb70..b24f6187f7 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -148,7 +148,8 @@ spec: Immutable. Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify - sourceRanges OR sourceTags. Possible values: ["INGRESS", "EGRESS"]. + 'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]. type: string disabled: description: |- diff --git a/crds/compute_v1beta1_computefirewallpolicy.yaml b/crds/compute_v1beta1_computefirewallpolicy.yaml index 545a629a3e..19a90ecf89 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -130,8 +130,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' diff --git a/crds/compute_v1beta1_computefirewallpolicyrule.yaml b/crds/compute_v1beta1_computefirewallpolicyrule.yaml index e1d32c4641..d559d14a0d 100644 --- a/crds/compute_v1beta1_computefirewallpolicyrule.yaml +++ b/crds/compute_v1beta1_computefirewallpolicyrule.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computeforwardingrule.yaml b/crds/compute_v1beta1_computeforwardingrule.yaml index 1419da0f16..1a2b5f5fb6 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computehealthcheck.yaml b/crds/compute_v1beta1_computehealthcheck.yaml index d29fe1f07c..4371e1ddb0 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 3a1799750c..ef6fe0fac3 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c432bd9408..5299a97257 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 4aee1a85a4..cf38f7b972 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 a735ce0d7f..93005009ce 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -598,6 +598,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, diff --git a/crds/compute_v1beta1_computeinstancegroup.yaml b/crds/compute_v1beta1_computeinstancegroup.yaml index 442d974a34..13becbde91 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0b0f38b9e1..5334968028 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 70e791b6de..20c01f428f 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -478,6 +478,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, diff --git a/crds/compute_v1beta1_computeinterconnectattachment.yaml b/crds/compute_v1beta1_computeinterconnectattachment.yaml index 514df17585..4c7ef31a04 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 5a7c431767..6102d6b7e7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 15f16892eb..7f757ffe13 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 4a4d9470d8..3a25844258 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 fc630a731f..b73f50c744 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 d56d25644d..4fed003931 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computepacketmirroring.yaml b/crds/compute_v1beta1_computepacketmirroring.yaml index 8365be8c74..6366569e59 100644 --- a/crds/compute_v1beta1_computepacketmirroring.yaml +++ b/crds/compute_v1beta1_computepacketmirroring.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computeprojectmetadata.yaml b/crds/compute_v1beta1_computeprojectmetadata.yaml index d0e40d3cde..019a96e9ed 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 cbb23e6590..d21be5ab53 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0e5b5baec3..2fd3cb72b9 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 fdabd09ae9..f99c2f535f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c8e253729f..849695a144 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 ec1e3284b7..8e11df7972 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 05b9c89ecc..6c4a165425 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 61c9eafdb4..19e7425f26 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -120,6 +120,42 @@ spec: Where there is more than one matching route of maximum length, the routes with the lowest priority value win. type: integer + bfd: + description: BFD configuration for the BGP peering. + properties: + minReceiveInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + received from the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the transmit interval of the other router. If set, this value + must be between 1000 and 30000. + type: integer + minTransmitInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + transmitted to the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the corresponding receive interval of the other router. If set, + this value must be between 1000 and 30000. + type: integer + multiplier: + description: |- + The number of consecutive BFD packets that must be missed before + BFD declares that a peer is unavailable. If set, the value must + be a value between 5 and 16. + type: integer + sessionInitializationMode: + description: |- + The BFD session initialization mode for this BGP peer. + If set to 'ACTIVE', the Cloud Router will initiate the BFD session + for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait + for the peer router to initiate the BFD session for this BGP peer. + If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]. + type: string + required: + - sessionInitializationMode + type: object enable: description: |- The status of the BGP peer connection. If set to false, any active session diff --git a/crds/compute_v1beta1_computesecuritypolicy.yaml b/crds/compute_v1beta1_computesecuritypolicy.yaml index 57edd338c5..1d43a72e0e 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computeserviceattachment.yaml b/crds/compute_v1beta1_computeserviceattachment.yaml index b4d469faf6..991ace49d4 100644 --- a/crds/compute_v1beta1_computeserviceattachment.yaml +++ b/crds/compute_v1beta1_computeserviceattachment.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/compute_v1beta1_computesharedvpchostproject.yaml b/crds/compute_v1beta1_computesharedvpchostproject.yaml index 5502bc3a92..08a123f683 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 136c77d90c..3a339af037 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0bbee13fc1..8a369cc31a 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -365,11 +365,6 @@ spec: snapshotId: description: The unique identifier for the resource. type: integer - sourceDiskLink: - description: DEPRECATED — Deprecated in favor of source_disk, which - contains a compatible value. This field will be removed in the next - major release of the provider. - type: string storageBytes: description: |- A size of the storage used by the snapshot. As snapshots share diff --git a/crds/compute_v1beta1_computesslcertificate.yaml b/crds/compute_v1beta1_computesslcertificate.yaml index 5d105ccb7a..ca95df4985 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 075d6a05d9..710f398f5d 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 7ff3728f4e..9e1ca6bbc8 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/compute_v1beta1_computetargetgrpcproxy.yaml b/crds/compute_v1beta1_computetargetgrpcproxy.yaml index cb54db3783..37a814f2d5 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0d6aaf9a4b..2bcbcb3ac7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 2338dee976..0b38189d5c 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 d4407abce0..e1b97704ff 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0bf288bc52..bb5b9641a7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 7e10e9e68f..c4b3b08954 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 9279d01c8b..8a0f69d699 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 2b24fca346..d49d27b7d7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 07f8b2ffbc..d24f1abc1e 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 7d9ffb2d8e..75bf53f43f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 19537d50cc..a1a35213b8 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/configcontroller_v1beta1_configcontrollerinstance.yaml b/crds/configcontroller_v1beta1_configcontrollerinstance.yaml index d4c9aaf7fa..9d76550df7 100644 --- a/crds/configcontroller_v1beta1_configcontrollerinstance.yaml +++ b/crds/configcontroller_v1beta1_configcontrollerinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/container_v1beta1_containercluster.yaml b/crds/container_v1beta1_containercluster.yaml index 04ca0b9d35..54e927c45f 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -382,6 +382,7 @@ spec: type: boolean enableShieldedNodes: description: Enable Shielded Nodes features on all nodes in this cluster. + Defaults to true. type: boolean enableTpu: description: Immutable. Whether to enable Cloud TPU resources in this @@ -508,8 +509,8 @@ spec: cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials - for your GKE cluster. If you see an unexpected diff removing a username/password - or unsetting your client cert, ensure you have the container.clusters.getCredentials + for your GKE cluster. If you see an unexpected diff unsetting your + client cert, ensure you have the container.clusters.getCredentials permission. properties: clientCertificate: @@ -721,6 +722,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -937,7 +947,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1110,9 +1121,9 @@ spec: in GCP IAM policies. properties: identityNamespace: - description: DEPRECATED — This field will be removed in a future - major release as it has been deprecated in the API. Use `workload_pool` - instead. Enables workload identity. + description: |- + DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field. + Enables workload identity. type: string workloadPool: description: The workload pool to attach all Kubernetes service @@ -1153,13 +1164,6 @@ spec: endpoint: description: The IP address of this cluster's Kubernetes master. type: string - instanceGroupUrls: - description: DEPRECATED — Please use node_pool.instance_group_urls - instead. List of instance group URLs which have been assigned to - the cluster. - items: - type: string - type: array labelFingerprint: description: The fingerprint of the set of labels for this cluster. type: string diff --git a/crds/container_v1beta1_containernodepool.yaml b/crds/container_v1beta1_containernodepool.yaml index 0d4f018a08..159bde5897 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -216,6 +216,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -474,6 +483,12 @@ spec: items: type: string type: array + managedInstanceGroupUrls: + description: List of instance group URLs which have been assigned + to this node pool. + items: + type: string + type: array observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. diff --git a/crds/containeranalysis_v1beta1_containeranalysisnote.yaml b/crds/containeranalysis_v1beta1_containeranalysisnote.yaml index 00f35c66ef..e1dac1eed2 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 efe7e30139..d422e668ae 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 29e9cb3f74..e75dc3cc7e 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 287ed31a79..f4599c892f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 a4c821182e..60ad889279 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 2046419d42..1c806c8fc8 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 29a46094cc..e8d022fef2 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/dns_v1beta1_dnsmanagedzone.yaml b/crds/dns_v1beta1_dnsmanagedzone.yaml index a96e57a25a..4a927a68cb 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c623f65b73..6083f0dac1 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 eeabdab32a..35f3afe8b3 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/filestore_v1beta1_filestorebackup.yaml b/crds/filestore_v1beta1_filestorebackup.yaml index d4c2f1bf63..18112e2057 100644 --- a/crds/filestore_v1beta1_filestorebackup.yaml +++ b/crds/filestore_v1beta1_filestorebackup.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/filestore_v1beta1_filestoreinstance.yaml b/crds/filestore_v1beta1_filestoreinstance.yaml index b35ad810b6..17288aad68 100644 --- a/crds/filestore_v1beta1_filestoreinstance.yaml +++ b/crds/filestore_v1beta1_filestoreinstance.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/firestore_v1beta1_firestoreindex.yaml b/crds/firestore_v1beta1_firestoreindex.yaml index 404786e716..42cd6e3637 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c7bc4f2a01..f35def273e 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 914903d396..c52705e7e1 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 1200a67539..1be86c1bb0 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 dd995fcf5e..f3baf7eea3 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 5ce81c079b..eb049178a2 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -80,7 +80,6 @@ spec: of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: diff --git a/crds/iam_v1beta1_iamcustomrole.yaml b/crds/iam_v1beta1_iamcustomrole.yaml index f9ae7ce178..4fa98c11e0 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 63c9875604..f02a11c5b0 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -103,7 +103,6 @@ spec: member: description: The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: The IAM identity to be bound to the role. diff --git a/crds/iam_v1beta1_iampolicy.yaml b/crds/iam_v1beta1_iampolicy.yaml index 6a38cd0928..981c4ca26a 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -86,7 +86,6 @@ spec: this type of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -136,7 +135,6 @@ spec: description: Optional. The list of IAM users to be bound to the role. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array role: diff --git a/crds/iam_v1beta1_iampolicymember.yaml b/crds/iam_v1beta1_iampolicymember.yaml index ed0ae4aae3..dd2db1808f 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -92,7 +92,6 @@ spec: member: description: Immutable. The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: Immutable. The IAM identity to be bound to the role. diff --git a/crds/iam_v1beta1_iamserviceaccount.yaml b/crds/iam_v1beta1_iamserviceaccount.yaml index 16eb99471f..f1f00c07cb 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iamserviceaccountkey.yaml b/crds/iam_v1beta1_iamserviceaccountkey.yaml index ed22ea5e7b..35bb50b586 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/iam_v1beta1_iamworkloadidentitypool.yaml b/crds/iam_v1beta1_iamworkloadidentitypool.yaml index 91491fe03c..b7ee5ba8b8 100644 --- a/crds/iam_v1beta1_iamworkloadidentitypool.yaml +++ b/crds/iam_v1beta1_iamworkloadidentitypool.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/iam_v1beta1_iamworkloadidentitypoolprovider.yaml b/crds/iam_v1beta1_iamworkloadidentitypoolprovider.yaml index f8d713a8f9..15846dd09a 100644 --- a/crds/iam_v1beta1_iamworkloadidentitypoolprovider.yaml +++ b/crds/iam_v1beta1_iamworkloadidentitypoolprovider.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/iap_v1beta1_iapbrand.yaml b/crds/iap_v1beta1_iapbrand.yaml index d1242be033..6898769f82 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 32c986f254..c5bb4ad8dc 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 b78aae47fd..fcb779cac0 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 283c391c33..c0b455860a 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 dd02720a00..c6abe2cb16 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 312d1d7d29..6813e6b800 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -139,9 +139,9 @@ spec: See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. type: string protectionLevel: - description: 'Immutable. The protection level to use when creating - a version based on this template. Default value: "SOFTWARE" - Possible values: ["SOFTWARE", "HSM"].' + description: Immutable. The protection level to use when creating + a version based on this template. Possible values include "SOFTWARE", + "HSM", "EXTERNAL". Defaults to "SOFTWARE". type: string required: - algorithm @@ -185,10 +185,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: diff --git a/crds/kms_v1beta1_kmskeyring.yaml b/crds/kms_v1beta1_kmskeyring.yaml index a95d382fde..15fc2f7535 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -120,10 +120,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: diff --git a/crds/logging_v1beta1_logginglogexclusion.yaml b/crds/logging_v1beta1_logginglogexclusion.yaml index a326b2c092..adeb9e7483 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -103,9 +103,9 @@ spec: description: The ID of a BillingAccount in format billingAccounts/{billingaccount_id}. type: string name: - description: '[WARNING] BillingAccount is not yet supported in - Config Connector, use ''external'' field to reference existing - resources.' + description: |- + [WARNING] BillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -177,8 +177,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' diff --git a/crds/logging_v1beta1_logginglogsink.yaml b/crds/logging_v1beta1_logginglogsink.yaml index f33680d012..9e9d471b02 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -114,7 +114,8 @@ spec: - external properties: external: - description: The name of a BigQueryDataset. + description: A string of the format "bigquery.googleapis.com/projects/{{project}}/datasets/{{value}}", + where {{value}} is the name of a BigQueryDataset. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -140,7 +141,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "pubsub.googleapis.com/projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -166,7 +168,8 @@ spec: - external properties: external: - description: The name of a StorageBucket. + description: A string of the format "storage.googleapis.com/{{value}}", + where {{value}} is the name of a StorageBucket. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/memcache_v1beta1_memcacheinstance.yaml b/crds/memcache_v1beta1_memcacheinstance.yaml index 12fcf43edd..f69f3930f8 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -113,7 +113,8 @@ spec: - external properties: external: - description: The name of a ComputeNetwork. + description: A string of the format "projects/{{project}}/global/networks/{{value}}", + where {{value}} is the name of a ComputeNetwork. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/monitoring_v1beta1_monitoringalertpolicy.yaml b/crds/monitoring_v1beta1_monitoringalertpolicy.yaml index c45ea8e783..879afdc67e 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 79f4433c67..5caa4d771f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 81b3d2e0b3..cf238b1d94 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 ff6641d2d8..9b345af693 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 2b7436ca4a..477eb3ec52 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/monitoring_v1beta1_monitoringservice.yaml b/crds/monitoring_v1beta1_monitoringservice.yaml index 46fc569d54..7b8cfa30dd 100644 --- a/crds/monitoring_v1beta1_monitoringservice.yaml +++ b/crds/monitoring_v1beta1_monitoringservice.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/monitoring_v1beta1_monitoringservicelevelobjective.yaml b/crds/monitoring_v1beta1_monitoringservicelevelobjective.yaml index 1ddd2e9078..5f4e9baefb 100644 --- a/crds/monitoring_v1beta1_monitoringservicelevelobjective.yaml +++ b/crds/monitoring_v1beta1_monitoringservicelevelobjective.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/monitoring_v1beta1_monitoringuptimecheckconfig.yaml b/crds/monitoring_v1beta1_monitoringuptimecheckconfig.yaml new file mode 100644 index 0000000000..ccf4784265 --- /dev/null +++ b/crds/monitoring_v1beta1_monitoringuptimecheckconfig.yaml @@ -0,0 +1,383 @@ +# 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.70.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: monitoringuptimecheckconfigs.monitoring.cnrm.cloud.google.com +spec: + group: monitoring.cnrm.cloud.google.com + names: + categories: + - gcp + kind: MonitoringUptimeCheckConfig + plural: monitoringuptimecheckconfigs + shortNames: + - gcpmonitoringuptimecheckconfig + - gcpmonitoringuptimecheckconfigs + singular: monitoringuptimecheckconfig + 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: + contentMatchers: + description: The content that is expected to appear in the data returned + by the target server against which the check is run. Currently, + only the first entry in the `content_matchers` list is supported, + and additional entries will be ignored. This field is optional and + should only be specified if a content match is required as part + of the/ Uptime check. + items: + properties: + content: + type: string + matcher: + description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, + CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX' + type: string + required: + - content + type: object + type: array + displayName: + description: A human-friendly name for the Uptime check configuration. + The display name should be unique within a Stackdriver Workspace + in order to make it easier to identify; however, uniqueness is not + enforced. Required. + type: string + httpCheck: + description: Contains information needed to make an HTTP or HTTPS + check. + properties: + authInfo: + description: The authentication information. Optional when creating + an HTTP check; defaults to empty. + properties: + password: + oneOf: + - not: + required: + - valueFrom + required: + - value + - not: + required: + - value + required: + - valueFrom + properties: + value: + description: Value of the field. Cannot be used if 'valueFrom' + is specified. + type: string + valueFrom: + description: Source for the field's value. Cannot be used + if 'value' is specified. + properties: + secretKeyRef: + description: Reference to a value with the given key + in the given Secret in the resource's namespace. + properties: + key: + description: Key that identifies the value to + be extracted. + type: string + name: + description: Name of the Secret to extract a value + from. + type: string + required: + - name + - key + type: object + type: object + type: object + username: + type: string + required: + - password + - username + type: object + body: + description: 'The request body associated with the HTTP POST request. + If `content_type` is `URL_ENCODED`, the body passed in must + be URL-encoded. Users can provide a `Content-Length` header + via the `headers` field or the API will do so. If the `request_method` + is `GET` and `body` is not empty, the API will return an error. + The maximum byte size is 1 megabyte. Note: As with all `bytes` + fields JSON representations are base64 encoded. e.g.: "foo=bar" + in URL-encoded form is "foo%3Dbar" and in base64 encoding is + "Zm9vJTI1M0RiYXI=".' + type: string + contentType: + description: 'The content type to use for the check. Possible + values: TYPE_UNSPECIFIED, URL_ENCODED' + type: string + headers: + additionalProperties: + type: string + description: The list of headers to send as part of the Uptime + check request. If two headers have the same key and different + values, they should be entered as a single header, with the + value being a comma-separated list of all the desired values + as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt + (page 31). Entering two separate headers with the same key in + a Create call will cause the first to be overwritten by the + second. The maximum number of headers allowed is 100. + type: object + maskHeaders: + description: Boolean specifying whether to encrypt the header + information. Encryption should be specified for any headers + related to authentication that you do not wish to be seen when + retrieving the configuration. The server will be responsible + for encrypting the headers. On Get/List calls, if `mask_headers` + is set to `true` then the headers will be obscured with `******.` + type: boolean + path: + description: Optional (defaults to "/"). The path to the page + against which to run the check. Will be combined with the `host` + (specified within the `monitored_resource`) and `port` to construct + the full URL. If the provided path does not begin with "/", + a "/" will be prepended automatically. + type: string + port: + description: Optional (defaults to 80 when `use_ssl` is `false`, + and 443 when `use_ssl` is `true`). The TCP port on the HTTP + server against which to run the check. Will be combined with + host (specified within the `monitored_resource`) and `path` + to construct the full URL. + format: int64 + type: integer + requestMethod: + description: The HTTP request method to use for the check. If + set to `METHOD_UNSPECIFIED` then `request_method` defaults to + `GET`. + type: string + useSsl: + description: If `true`, use HTTPS instead of HTTP to run the check. + type: boolean + validateSsl: + description: Boolean specifying whether to include SSL certificate + validation as a part of the Uptime check. Only applies to checks + where `monitored_resource` is set to `uptime_url`. If `use_ssl` + is `false`, setting `validate_ssl` to `true` has no effect. + type: boolean + type: object + monitoredResource: + description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources) + associated with the configuration. The following monitored resource + types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`' + properties: + filterLabels: + additionalProperties: + type: string + type: object + type: + type: string + required: + - filterLabels + - type + type: object + period: + description: How often, in seconds, the Uptime check is performed. + Currently, the only supported values are `60s` (1 minute), `300s` + (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, + defaults to `60s`. + 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 this uptime check config. + 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 + resourceGroup: + description: The group resource associated with the configuration. + properties: + groupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The group of resources being monitored. Should + be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`. + 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 + resourceType: + description: 'The resource type of the group members. Possible + values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER' + type: string + type: object + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + selectedRegions: + description: The list of regions from which the check will be run. + Some regions contain one location, and others contain more than + one. If this field is specified, enough regions must be provided + to include a minimum of 3 locations. Not specifying this field + will result in Uptime checks running from all available regions. + items: + type: string + type: array + tcpCheck: + description: Contains information needed to make a TCP check. + properties: + port: + description: The TCP port on the server against which to run the + check. Will be combined with host (specified within the `monitored_resource`) + to construct the full URL. Required. + format: int64 + type: integer + required: + - port + type: object + timeout: + description: The maximum amount of time to wait for the request to + complete (must be between 1 and 60 seconds). Required. + type: string + required: + - displayName + - projectRef + - timeout + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/networkconnectivity_v1beta1_networkconnectivityhub.yaml b/crds/networkconnectivity_v1beta1_networkconnectivityhub.yaml index 35d37b2fbe..303294d04f 100644 --- a/crds/networkconnectivity_v1beta1_networkconnectivityhub.yaml +++ b/crds/networkconnectivity_v1beta1_networkconnectivityhub.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml b/crds/networksecurity_v1beta1_networksecurityauthorizationpolicy.yaml index 76faeed9fa..036dee0fc0 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 104e6b81a3..e05af4281c 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 a74f38443e..8260ad67c2 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c8d934cc31..094a4c97e4 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/networkservices_v1beta1_networkservicesgateway.yaml b/crds/networkservices_v1beta1_networkservicesgateway.yaml new file mode 100644 index 0000000000..250d217f3f --- /dev/null +++ b/crds/networkservices_v1beta1_networkservicesgateway.yaml @@ -0,0 +1,219 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgateways.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGateway + plural: networkservicesgateways + shortNames: + - gcpnetworkservicesgateway + - gcpnetworkservicesgateways + singular: networkservicesgateway + 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: + addresses: + description: One or more addresses with ports in format of ":" that + the Gateway must receive traffic on. The proxy binds to the ports + specified. IP address can be anything that is allowed by the underlying + infrastructure (auto-allocation, static IP, BYOIP). + items: + type: string + type: array + authorizationPolicy: + description: Optional. A fully-qualified AuthorizationPolicy URL reference. + Specifies how traffic is authorized. If empty, authorization checks + are disabled. + type: string + description: + description: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Gateway + resource. + type: object + location: + description: The location for the resource + type: string + ports: + description: Required. One or more ports that the Gateway must receive + traffic on. The proxy binds to the ports specified. Gateway listen + on 0.0.0.0 on the ports specified below. + items: + format: int64 + type: integer + 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 + scope: + description: Required. Immutable. Scope determines how configuration + across multiple Gateway instances are merged. The configuration + for multiple Gateway instances with the same scope will be merged + as presented as a single coniguration to the proxy/load balancer. + Max length 64 characters. Scope should start with a letter and can + only have letters, numbers, hyphens. + type: string + serverTlsPolicy: + description: Optional. A fully-qualified ServerTLSPolicy URL reference. + Specifies how TLS traffic is terminated. If empty, TLS termination + is disabled. + type: string + type: + description: 'Immutable. The type of the customer managed gateway. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - ports + - projectRef + - scope + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/networkservices_v1beta1_networkservicesgrpcroute.yaml b/crds/networkservices_v1beta1_networkservicesgrpcroute.yaml new file mode 100644 index 0000000000..e4455f203a --- /dev/null +++ b/crds/networkservices_v1beta1_networkservicesgrpcroute.yaml @@ -0,0 +1,623 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgrpcroutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGRPCRoute + plural: networkservicesgrpcroutes + shortNames: + - gcpnetworkservicesgrpcroute + - gcpnetworkservicesgrpcroutes + singular: networkservicesgrpcroute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: 'Required. Service hostnames with an optional port for + which this route describes traffic. Format: [:] Hostname is the + fully qualified domain name of a network host. This matches the + RFC 1123 definition of a hostname with 2 notable exceptions: - IPs + are not allowed. - A hostname may be prefixed with a wildcard label + (*.). The wildcard label must appear by itself as the first label. + Hostname can be “precise” which is a domain name without the terminating + dot of a network host (e.g. “foo.example.com”) or “wildcard”, which + is a domain name prefixed with a single wildcard label (e.g. *.example.com). + Note that as per RFC1035 and RFC1123, a label must consist of lower + case alphanumeric characters or ‘-’, and must start and end with + an alphanumeric character. No other punctuation is allowed. The + routes associated with a Router must have unique hostnames. If you + attempt to attach multiple routes with conflicting hostnames, the + configuration will be rejected. For example, while it is acceptable + for routes for the hostnames "*.foo.bar.com" and "*.bar.com" to + be associated with the same route, it is not possible to associate + two routes both with "*.bar.com" or both with "bar.com". In the + case that multiple routes match the hostname, the most specific + match will be selected. For example, "foo.bar.baz.com" will take + precedence over "*.bar.baz.com" and "*.bar.baz.com" will take precedence + over "*.baz.com". If a port is specified, then gRPC clients must + use the channel URI with the port to match this rule (i.e. "xds:///service:123"), + otherwise they must supply the URI without a port (i.e. "xds:///service").' + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the GrpcRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this GrpcRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/`' + items: + type: string + type: array + rules: + description: Required. A list of detailed rules defining how to route + traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated + with the first matching GrpcRoute.RouteRule will be executed. At + least one rule must be supplied. + items: + properties: + action: + description: Required. A detailed rule defining how to route + traffic. This field is required. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. If multiple destinations + are specified, traffic will be split between Backend Service(s) + according to the weight field of these destinations. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + faultInjectionPolicy: + description: Optional. The specification for fault injection + introduced into traffic to test the resiliency of clients + to destination service failure. As part of fault injection, + when clients send requests to a destination, delays can + be introduced on a percentage of requests before sending + those requests to the destination service. Similarly requests + from clients can be aborted by for a percentage of requests. + timeout and retry_policy will be ignored by clients that + are configured with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + requestHeaderModifier: + description: Optional. The specification for modifying the + headers of a matching request prior to delivery of the + request to the destination. Cannot be set if the route + is attached to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Optional. Specifies the policy on how requests + intended for the route's destination are mirrored to a + separate mirrored destination. The proxy will not wait + for the mirrored destination to respond before returning + the response. Prior to sending traffic to the mirrored + service, the host / authority header is suffixed with + -shadow. Cannot be set if the route is attached to a Router + whose type is PROXYLESS_GRPC. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion + of requests forwarded to the backend referenced + by the serviceName field. This is computed as: + weight/Sum(weights in this destination list). + For non-zero values, there may be some epsilon + from the exact proportion defined here depending + on the precision an implementation supports. If + only one serviceName is specified and it has a + weight greater than 0, 100% of the traffic is + forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in + equal proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: object + responseHeaderModifier: + description: Optional. The specification for modifying the + headers of a response prior to sending the response back + to the client. Cannot be set if the route is attached + to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Optional. Specifies the retry policy associated + with this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specpfied, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: If not specified, will use the timeout + set in the RouteAction. If timeout is not set in the + RouteAction, will use the largest timeout among all + Backend Services associated with the route. + type: string + retryConditions: + description: '- connect-failure: Router will retry on + failures connecting to Backend Services, for example + due to connection timeouts. - refused-stream: Router + will retry if the backend service resets the stream + with a REFUSED_STREAM error code. This reset type + indicates that it is safe to retry. - cancelled: Router + will retry if the gRPC status code in the response + header is set to cancelled - deadline-exceeded: Router + will retry if the gRPC status code in the response + header is set to deadline-exceeded - resource-exhausted: + Router will retry if the gRPC status code in the response + header is set to resource-exhausted - unavailable: + Router will retry if the gRPC status code in the response + header is set to unavailable' + items: + type: string + type: array + type: object + timeout: + description: Optional. Specifies the timeout for selected + route. Timeout is computed from the time the request has + been fully processed (i.e. end of stream) up until the + response has been completely processed. Timeout includes + all retries. + type: string + urlRewrite: + description: Optional. The specification for rewrite URL + before forwarding requests to the destination. Cannot + be set if the route is attached to a Router whose type + is PROXYLESS_GRPC. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: Optional. Matches define conditions used for matching + the rule against incoming gRPC requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. If no matches field is specified, this rule will + unconditionally match traffic. + items: + properties: + headers: + description: Optional. Specifies a collection of headers + to match. + items: + properties: + key: + description: Required. The key of the header. + type: string + type: + description: 'Optional. Specifies how to match against + the value of the header. If not specified, a default + value of EXACT is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + value: + description: Required. The value of the header. + type: string + required: + - key + - value + type: object + type: array + method: + description: Optional. A gRPC method to match against. + If this field is empty or omitted, will match all methods. + properties: + caseSensitive: + description: Optional. Specifies that matches are + case sensitive. The default value is true. case_sensitive + must not be used with a type of REGULAR_EXPRESSION. + type: boolean + grpcMethod: + description: Required. Name of the method to match + against. If unspecified, will match all methods. + type: string + grpcService: + description: Required. Name of the service to match + against. If unspecified, will match all services. + type: string + type: + description: 'Optional. Specifies how to match against + the name. If not specified, a default value of "EXACT" + is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + required: + - grpcMethod + - grpcService + type: object + type: object + type: array + required: + - action + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/networkservices_v1beta1_networkserviceshttproute.yaml b/crds/networkservices_v1beta1_networkserviceshttproute.yaml new file mode 100644 index 0000000000..aad9970c05 --- /dev/null +++ b/crds/networkservices_v1beta1_networkserviceshttproute.yaml @@ -0,0 +1,753 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkserviceshttproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesHTTPRoute + plural: networkserviceshttproutes + shortNames: + - gcpnetworkserviceshttproute + - gcpnetworkserviceshttproutes + singular: networkserviceshttproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: Required. Hostnames define a set of hosts that should + match against the HTTP host header to select a HttpRoute to process + the request. Hostname is the fully qualified domain name of a network + host, as defined by RFC 1123 with the exception that ip addresses + are not allowed. Wildcard hosts are supported as "*" (no prefix + or suffix allowed). + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the HttpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this HttpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. + items: + properties: + action: + description: The detailed rule defining how to route matched + traffic. + properties: + corsPolicy: + description: The specification for allowing client side + cross-origin requests. + properties: + allowCredentials: + description: In response to a preflight request, setting + this to true indicates that the actual request can + include user credentials. This translates to the Access-Control-Allow-Credentials + header. Default value is false. + type: boolean + allowHeaders: + description: Specifies the content for Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression patterns + that match allowed origins. For regular expression + grammar, please see https://github.com/google/re2/wiki/Syntax. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that will + be allowed to do CORS requests. An origin is allowed + if it matches either an item in allow_origins or an + item in allow_origin_regexes. + items: + type: string + type: array + disabled: + description: If true, the CORS policy is disabled. The + default value is false, which indicates that the CORS + policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long result of a preflight + request can be cached in seconds. This translates + to the Access-Control-Max-Age header. + type: string + type: object + destinations: + description: The destination to which traffic should be + forwarded. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to route + traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights in + this destination list). For non-zero values, there + may be some epsilon from the exact proportion defined + here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection introduced + into traffic to test the resiliency of clients to backend + service failure. As part of fault injection, when clients + send requests to a backend service, delays can be introduced + on a percentage of requests before sending those requests + to the backend service. Similarly requests from clients + can be aborted for a percentage of requests. timeout and + retry_policy will be ignored by clients that are configured + with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + originalDestination: + description: If true, the matched traffic will use the destination + ip and port of the original connection (as it was not + processed by proxy) as the destination of the request. + Only one of destinations, redirect, original_destination + can be set. + type: boolean + redirect: + description: If set, the request is directed as configured + by this field. + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the + request. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL + scheme of the redirected request will remain the same + as that of the request. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the + request. path_redirect can not be supplied together + with prefix_redirect. Supply one alone or neither. + If neither is supplied, the path of the original request + will be used for the redirect. + type: string + portRedirect: + description: The port that will be used in the redirected + request instead of the one that was supplied in the + request. + format: int64 + type: integer + prefixRewrite: + description: Indicates that during redirection, the + matched prefix (or path) should be swapped with this + value. This option allows URLs be dynamically created + based on the request. + type: string + responseCode: + description: 'The HTTP Status code to use for the redirect. + Possible values: MOVED_PERMANENTLY_DEFAULT, FOUND, + SEE_OTHER, TEMPORARY_REDIRECT, PERMANENT_REDIRECT' + type: string + stripQuery: + description: if set to true, any accompanying query + portion of the original URL is removed prior to redirecting + the request. If set to false, the query portion of + the original URL is retained. The default is set to + false. + type: boolean + type: object + requestHeaderModifier: + description: The specification for modifying the headers + of a matching request prior to delivery of the request + to the destination. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Specifies the policy on how requests intended + for the routes destination are shadowed to a separate + mirrored destination. Proxy will not wait for the shadow + destination to respond before returning the response. + Prior to sending traffic to the shadow service, the host/authority + header is suffixed with -shadow. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to + route traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified + and it has a weight greater than 0, 100% of the + traffic is forwarded to that backend. If weights + are specified for any one service name, they need + to be specified for all of them. If weights are + unspecified for all services, then, traffic is + distributed in equal proportions to all of them.' + format: int64 + type: integer + type: object + type: object + responseHeaderModifier: + description: The specification for modifying the headers + of a response prior to sending the response back to the + client. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Specifies the retry policy associated with + this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specified, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout per retry + attempt. + type: string + retryConditions: + description: 'Specifies one or more conditions when + this retry policy applies. Valid values are: 5xx: + Proxy will attempt a retry if the destination service + responds with any 5xx response code, of if the destination + service does not respond at all, example: disconnect, + reset, read timeout, connection failure and refused + streams. gateway-error: Similar to 5xx, but only applies + to response codes 502, 503, 504. reset: Proxy will + attempt a retry if the destination service does not + respond at all (disconnect/reset/read timeout) connect-failure: + Proxy will retry on failures connecting to destination + for example due to connection timeouts. retriable-4xx: + Proxy will retry fro retriable 4xx response codes. + Currently the only retriable error supported is 409. + refused-stream: Proxy will retry if the destination + resets the stream with a REFUSED_STREAM error code. + This reset type indicates that it is safe to retry.' + items: + type: string + type: array + type: object + timeout: + description: Specifies the timeout for selected route. Timeout + is computed from the time the request has been fully processed + (i.e. end of stream) up until the response has been completely + processed. Timeout includes all retries. + type: string + urlRewrite: + description: The specification for rewrite URL before forwarding + requests to the destination. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: A list of matches define conditions used for matching + the rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. + items: + properties: + fullPathMatch: + description: The HTTP request path value should exactly + match this value. Only one of full_path_match, prefix_match, + or regex_match should be used. + type: string + headers: + description: Specifies a list of HTTP request headers + to match against. ALL of the supplied headers must be + matched. + items: + properties: + exactMatch: + description: The value of the header should match + exactly the content of exact_match. + type: string + header: + description: The name of the HTTP header to match + against. + type: string + invertMatch: + description: If specified, the match result will + be inverted before checking. Default value is + set to false. + type: boolean + prefixMatch: + description: The value of the header must start + with the contents of prefix_match. + type: string + presentMatch: + description: A header with header_name must exist. + The match takes place whether or not the header + has a value. + type: boolean + rangeMatch: + description: If specified, the rule will match if + the request header value is within the range. + properties: + end: + description: End of the range (exclusive) + format: int64 + type: integer + start: + description: Start of the range (inclusive) + format: int64 + type: integer + type: object + regexMatch: + description: 'The value of the header must match + the regular expression specified in regex_match. + For regular expression grammar, please see: https://github.com/google/re2/wiki/Syntax' + type: string + suffixMatch: + description: The value of the header must end with + the contents of suffix_match. + type: string + type: object + type: array + ignoreCase: + description: Specifies if prefix_match and full_path_match + matches are case sensitive. The default value is false. + type: boolean + prefixMatch: + description: The HTTP request path value must begin with + specified prefix_match. prefix_match must begin with + a /. Only one of full_path_match, prefix_match, or regex_match + should be used. + type: string + queryParameters: + description: Specifies a list of query parameters to match + against. ALL of the query parameters must be matched. + items: + properties: + exactMatch: + description: The value of the query parameter must + exactly match the contents of exact_match. Only + one of exact_match, regex_match, or present_match + must be set. + type: string + presentMatch: + description: Specifies that the QueryParameterMatcher + matches if request contains query parameter, irrespective + of whether the parameter has a value or not. Only + one of exact_match, regex_match, or present_match + must be set. + type: boolean + queryParameter: + description: The name of the query parameter to + match. + type: string + regexMatch: + description: The value of the query parameter must + match the regular expression specified by regex_match. + For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax + Only one of exact_match, regex_match, or present_match + must be set. + type: string + type: object + type: array + regexMatch: + description: The HTTP request path value must satisfy + the regular expression specified by regex_match after + removing any query parameters and anchor supplied with + the original URL. For regular expression grammar, please + see https://github.com/google/re2/wiki/Syntax Only one + of full_path_match, prefix_match, or regex_match should + be used. + type: string + type: object + type: array + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/networkservices_v1beta1_networkservicesmesh.yaml b/crds/networkservices_v1beta1_networkservicesmesh.yaml new file mode 100644 index 0000000000..51462e4505 --- /dev/null +++ b/crds/networkservices_v1beta1_networkservicesmesh.yaml @@ -0,0 +1,203 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesmeshes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesMesh + plural: networkservicesmeshes + shortNames: + - gcpnetworkservicesmesh + - gcpnetworkservicesmeshes + singular: networkservicesmesh + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + interceptionPort: + description: Optional. If set to a valid TCP port (1-65535), instructs + the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) + address. The SIDECAR proxy will expect all traffic to be redirected + to this port regardless of its actual ip:port destination. If unset, + a port '15001' is used as the interception port. This field is only + valid if the type of Mesh is SIDECAR. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Mesh + resource. + type: object + 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 + scope: + description: Required. Immutable. Scope defines a logical configuration + boundary for mesh. The routes pointing to this particular mesh resource + defines the mesh configuration and the scope field name is used + by mesh clients to receive that configuration. There cannot be more + than one Mesh resource instance of the same type (SIDECAR or PROXYLESS_GRPC) + with the same scope. Max length 64 characters. Scope should start + with a letter and can only have letters, numbers, hyphens. + type: string + type: + description: 'Required. Immutable. The type of the Mesh resource. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - projectRef + - scope + - type + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/networkservices_v1beta1_networkservicestcproute.yaml b/crds/networkservices_v1beta1_networkservicestcproute.yaml new file mode 100644 index 0000000000..5571042550 --- /dev/null +++ b/crds/networkservices_v1beta1_networkservicestcproute.yaml @@ -0,0 +1,344 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicestcproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesTCPRoute + plural: networkservicestcproutes + shortNames: + - gcpnetworkservicestcproute + - gcpnetworkservicestcproutes + singular: networkservicestcproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the TcpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this TcpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. At least one RouteRule must be supplied. If there are multiple + rules then the action taken will be the first rule to match. + items: + properties: + action: + description: Required. The detailed rule defining how to route + matched traffic. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. At least one destination + service is required. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a BackendService + to route traffic to. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + originalDestination: + description: Optional. If true, Router will use the destination + IP and port of the original connection as the destination + of the request. Default is false. + type: boolean + type: object + matches: + description: Optional. RouteMatch defines the predicate used + to match requests to a given action. Multiple match types + are “OR”ed for evaluation. If no routeMatch field is specified, + this rule will unconditionally match traffic. + items: + properties: + address: + description: 'Required. Must be specified in the CIDR + range format. A CIDR range consists of an IP Address + and a prefix length to construct the subnet mask. By + default, the prefix length is 32 (i.e. matches a single + IP address). Only IPV4 addresses are supported. Examples: + “10.0.0.1” - matches against this exact IP address. + “10.0.0.0/8" - matches against any IP address within + the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" + - matches against any IP address''.' + type: string + port: + description: Required. Specifies the destination port + to match against. + type: string + required: + - address + - port + type: object + type: array + required: + - action + type: object + type: array + required: + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/osconfig_v1beta1_osconfigguestpolicy.yaml b/crds/osconfig_v1beta1_osconfigguestpolicy.yaml index a4bb1667ae..be5cc8f84f 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/osconfig_v1beta1_osconfigospolicyassignment.yaml b/crds/osconfig_v1beta1_osconfigospolicyassignment.yaml index dc199f36a6..01cb467606 100644 --- a/crds/osconfig_v1beta1_osconfigospolicyassignment.yaml +++ b/crds/osconfig_v1beta1_osconfigospolicyassignment.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/privateca_v1beta1_privatecacapool.yaml b/crds/privateca_v1beta1_privatecacapool.yaml index d0d24414fe..f26ac5fd7f 100644 --- a/crds/privateca_v1beta1_privatecacapool.yaml +++ b/crds/privateca_v1beta1_privatecacapool.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/privateca_v1beta1_privatecacertificatetemplate.yaml b/crds/privateca_v1beta1_privatecacertificatetemplate.yaml index c7f44b9847..7557229aa5 100644 --- a/crds/privateca_v1beta1_privatecacertificatetemplate.yaml +++ b/crds/privateca_v1beta1_privatecacertificatetemplate.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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 6c32461419..ab5f3cc9d9 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -120,7 +120,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -304,7 +305,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -351,12 +353,6 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - path: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. Path of the subscription in the format - projects/{project}/subscriptions/{name}. - type: string type: object required: - spec diff --git a/crds/pubsub_v1beta1_pubsubtopic.yaml b/crds/pubsub_v1beta1_pubsubtopic.yaml index a7639e57f5..da8a919414 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -103,6 +103,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + messageRetentionDuration: + description: |- + Indicates the minimum duration to retain a message after it is published + to the topic. If this field is set, messages published to the topic in + the last messageRetentionDuration are always available to subscribers. + For instance, it allows any attached subscription to seek to a timestamp + that is up to messageRetentionDuration in the past. If this field is not + set, message retention is controlled by settings on individual subscriptions. + Cannot be more than 7 days or less than 10 minutes. + type: string messageStoragePolicy: description: |- Policy constraining the set of Google Cloud Platform regions where diff --git a/crds/recaptchaenterprise_v1beta1_recaptchaenterprisekey.yaml b/crds/recaptchaenterprise_v1beta1_recaptchaenterprisekey.yaml index 4abb097705..3fe86b0bb5 100644 --- a/crds/recaptchaenterprise_v1beta1_recaptchaenterprisekey.yaml +++ b/crds/recaptchaenterprise_v1beta1_recaptchaenterprisekey.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/crds/redis_v1beta1_redisinstance.yaml b/crds/redis_v1beta1_redisinstance.yaml index 2a3152f29c..20df0e154e 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 0621f5923f..7292014d5f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 4f1971ec23..91699bc777 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 f49bd090f0..5b43ad3ece 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -96,7 +96,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml b/crds/resourcemanager_v1beta1_resourcemanagerpolicy.yaml index 9122ff1b95..e4a60f3fb3 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/run_v1beta1_runservice.yaml b/crds/run_v1beta1_runservice.yaml new file mode 100644 index 0000000000..61f268766b --- /dev/null +++ b/crds/run_v1beta1_runservice.yaml @@ -0,0 +1,903 @@ +# 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: runservices.run.cnrm.cloud.google.com +spec: + group: run.cnrm.cloud.google.com + names: + categories: + - gcp + kind: RunService + plural: runservices + shortNames: + - gcprunservice + - gcprunservices + singular: runservice + 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: + annotations: + additionalProperties: + type: string + description: 'Unstructured key value map that may be set by external + tools to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. Cloud Run will populate + some annotations using ''run.googleapis.com'' or ''serving.knative.dev'' + namespaces. This field follows Kubernetes annotations'' namespacing, + limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + binaryAuthorization: + description: Settings for the Binary Authorization feature. + properties: + breakglassJustification: + description: If present, indicates to use Breakglass using this + justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass + type: string + useDefault: + description: If True, indicates to use the default project's binary + authorization policy. If False, binary authorization will be + disabled + type: boolean + type: object + client: + description: Arbitrary identifier for the API client. + type: string + clientVersion: + description: Arbitrary version identifier for the API client. + type: string + description: + description: User-provided description of the Service. + type: string + ingress: + description: Provides the ingress settings for this Service. On output, + returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED + if no revision is active. + type: string + launchStage: + description: 'The launch stage as defined by [Google Cloud Platform + Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud + Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, + GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, + PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED' + 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 + template: + description: Required. The template used to create revisions for this + Service. + properties: + annotations: + additionalProperties: + type: string + description: KRM-style annotations for the resource. + type: object + confidential: + description: Enables Confidential Cloud Run in Revisions created + using this template. + type: boolean + containerConcurrency: + description: Sets the maximum number of requests that each serving + instance can receive. + format: int64 + type: integer + containers: + description: Holds the single container that defines the unit + of execution for this Revision. + items: + properties: + args: + description: 'Arguments to the entrypoint. The docker image''s + CMD is used if this is not provided. Variable references + $(VAR_NAME) are expanded using the container''s environment. + If a variable cannot be resolved, the reference in the + input string will be unchanged. The $(VAR_NAME) syntax + can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether + the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed within a shell. + The docker image''s ENTRYPOINT is used if this is not + provided. Variable references $(VAR_NAME) are expanded + using the container''s environment. If a variable cannot + be resolved, the reference in the input string will be + unchanged. The $(VAR_NAME) syntax can be escaped with + a double $$, ie: $$(VAR_NAME). Escaped references will + never be expanded, regardless of whether the variable + exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to set in the + container. + items: + properties: + name: + description: Required. Name of the environment variable. + Must be a C_IDENTIFIER, and mnay not exceed 32768 + characters. + type: string + value: + description: 'Variable references $(VAR_NAME) are + expanded using the previous defined environment + variables in the container and any route environment + variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. + The $(VAR_NAME) syntax can be escaped with a double + $$, ie: $$(VAR_NAME). Escaped references will never + be expanded, regardless of whether the variable + exists or not. Defaults to "", and the maximum length + is 32768 bytes.' + type: string + valueSource: + description: Source for the environment variable's + value. + properties: + secretKeyRef: + description: Selects a secret and a specific version + from Cloud Secret Manager. + properties: + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the + secret in Cloud Secret Manager. Format: + {secret_name} if the secret is in the + same project. projects/{project}/secrets/{secret_name} + if the secret is in a different project.' + 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 + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager + secret version. Can be 'latest' for + the latest value or an integer for a + specific version. + 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: + - secretRef + type: object + type: object + required: + - name + type: object + type: array + image: + description: 'Required. URL of the Container image in Google + Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images' + type: string + name: + description: Name of the container specified as a DNS_LABEL. + type: string + ports: + description: List of ports to expose from the container. + Only a single port can be specified. The specified ports + must be listening on all interfaces (0.0.0.0) within the + container to be accessible. If omitted, a port number + will be chosen and passed to the container through the + PORT environment variable for the container to listen + on. + items: + properties: + containerPort: + description: Port number the container listens on. + This must be a valid TCP port number, 0 < container_port + < 65536. + format: int64 + type: integer + name: + description: If specified, used to specify which protocol + to use. Allowed values are "http1" and "h2c". + type: string + type: object + type: array + resources: + description: 'Compute Resource requirements by this container. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + cpuIdle: + description: Determines whether CPU should be throttled + or not outside of requests. + type: boolean + limits: + additionalProperties: + type: string + description: 'Only memory and CPU are supported. Note: + The only supported values for CPU are ''1'', ''2'', + and ''4''. Setting 4 CPU requires at least 2Gi of + memory. The values of the map is string form of the + ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + type: object + volumeMounts: + description: Volume to mount into the container's filesystem. + items: + properties: + mountPath: + description: Required. Path within the container at + which the volume should be mounted. Must not contain + ':'. For Cloud SQL volumes, it can be left empty, + or must otherwise be `/cloudsql`. All instances + defined in the Volume will be available as `/cloudsql/[instance]`. + For more information on Cloud SQL volumes, visit + https://cloud.google.com/sql/docs/mysql/connect-run + type: string + name: + description: Required. This must match the Name of + a Volume. + type: string + required: + - mountPath + - name + type: object + type: array + required: + - image + type: object + type: array + executionEnvironment: + description: 'The sandbox environment to host this Revision. Possible + values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_DEFAULT, + EXECUTION_ENVIRONMENT_GEN2' + type: string + labels: + additionalProperties: + type: string + description: KRM-style labels for the resource. + type: object + revision: + description: The unique name for the revision. If this field is + omitted, it will be automatically generated based on the Service + name. + type: string + scaling: + description: Scaling settings for this Revision. + properties: + maxInstanceCount: + description: Maximum number of serving instances that this + resource should have. + format: int64 + type: integer + minInstanceCount: + description: Minimum number of serving instances that this + resource should have. + format: int64 + type: integer + type: object + serviceAccountRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Email address of the IAM service account associated + with the revision of the service. The service account represents + the identity of the running revision, and determines what + permissions the revision has. If not provided, the revision + will use the project's default service account. + 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 + timeout: + description: Max allowed time for an instance to respond to a + request. + type: string + volumes: + description: A list of Volumes to make available to containers. + items: + properties: + cloudSqlInstance: + description: For Cloud SQL volumes, contains the specific + instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run + for more information on how to connect Cloud SQL and Cloud + Run. + properties: + connections: + 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 + type: object + name: + description: Required. Volume's name. + type: string + secret: + description: 'Secret represents a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + properties: + defaultMode: + description: 'Integer representation of mode bits to + use on created files by default. Must be a value between + 0000 and 0777 (octal), defaulting to 0644. Directories + within the path are not affected by this setting. + Notes * Internally, a umask of 0222 will be applied + to any non-zero value. * This is an integer representation + of the mode bits. So, the octal integer value should + look exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod 640 + (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) + or 493 (base-10). * This might be in conflict with + other options that affect the file mode, like fsGroup, + and the result can be other mode bits set. This might + be in conflict with other options that affect the + file mode, like fsGroup, and as a result, other mode + bits could be set.' + format: int64 + type: integer + items: + description: If unspecified, the volume will expose + a file whose name is the secret, relative to VolumeMount.mount_path. + If specified, the key will be used as the version + to fetch from Cloud Secret Manager and the path will + be the name of the file exposed in the volume. When + items are defined, they must specify a path and a + version. + items: + properties: + mode: + description: 'Integer octal mode bits to use on + this file, must be a value between 01 and 0777 + (octal). If 0 or not set, the Volume''s default + mode will be used. Notes * Internally, a umask + of 0222 will be applied to any non-zero value. + * This is an integer representation of the mode + bits. So, the octal integer value should look + exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod + 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 + (octal) or 493 (base-10). * This might be in + conflict with other options that affect the + file mode, like fsGroup, and the result can + be other mode bits set.' + format: int64 + type: integer + path: + description: Required. The relative path of the + secret in the container. + type: string + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager secret + version. Can be 'latest' for the latest + value or an integer for a specific version. + 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: + - path + type: object + type: array + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the secret in + Cloud Secret Manager. Format: {secret} if the + secret is in the same project. projects/{project}/secrets/{secret} + if the secret is in a different project.' + 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: + - secretRef + type: object + required: + - name + type: object + type: array + vpcAccess: + description: VPC Access configuration to use for this Revision. + For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. + properties: + connectorRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}' + 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 + egress: + description: 'Traffic VPC egress settings. Possible values: + VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY' + type: string + type: object + type: object + traffic: + description: Specifies how to distribute traffic over a collection + of Revisions belonging to the Service. If traffic is empty or not + provided, defaults to 100% traffic to the latest `Ready` Revision. + items: + properties: + percent: + description: Specifies percent of the traffic to this Revision. + This defaults to zero if unspecified. Cloud Run currently + requires 100 percent for a single TrafficTarget entry. + format: int64 + type: integer + revision: + description: Revision to which to send this portion of traffic, + if traffic allocation is by revision. + type: string + tag: + description: Indicates a string to be part of the URI to exclusively + reference this target. + type: string + type: + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + type: object + type: array + required: + - location + - projectRef + - template + 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 creation time. + format: date-time + type: string + creator: + description: Output only. Email address of the authenticated creator. + type: string + deleteTime: + description: Output only. The deletion time. + format: date-time + type: string + etag: + description: Output only. A system-generated fingerprint for this + version of the resource. May be used to detect modification conflict + during updates. + type: string + expireTime: + description: Output only. For a deleted resource, the time after which + it will be permamently deleted. + format: date-time + type: string + generation: + description: Output only. A number that monotonically increases every + time the user modifies the desired state. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Map of string keys and values that can be used to organize + and categorize objects. User-provided labels are shared with Google's + billing system, so they can be used to filter, or break down billing + charges by team, component, environment, state, etc. For more information, + visit https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels Cloud Run + will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' + namespaces. Those labels are read-only, and user changes will not + be preserved. + type: object + lastModifier: + description: Output only. Email address of the last authenticated + modifier. + type: string + latestCreatedRevision: + description: Output only. Name of the last created revision. See comments + in `reconciling` for additional information on reconciliation process + in Cloud Run. + type: string + latestReadyRevision: + description: Output only. Name of the latest revision that is serving + traffic. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. + 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 + reconciling: + description: 'Output only. Returns true if the Service is currently + being acted upon by the system to bring it into the desired state. + When a new Service is created, or an existing one is updated, Cloud + Run will asynchronously perform all necessary steps to bring the + Service to the desired serving state. This process is called reconciliation. + While reconciliation is in process, `observed_generation`, `latest_ready_revison`, + `traffic_statuses`, and `uri` will have transient values that might + mismatch the intended state: Once reconciliation is over (and this + field is false), there are two possible outcomes: reconciliation + succeeded and the serving state matches the Service, or there was + an error, and reconciliation failed. This state can be found in + `terminal_condition.state`. If reconciliation succeeded, the following + fields will match: `traffic` and `traffic_statuses`, `observed_generation` + and `generation`, `latest_ready_revision` and `latest_created_revision`. + If reconciliation failed, `traffic_statuses`, `observed_generation`, + and `latest_ready_revision` will have the state of the last serving + revision, or empty for newly created Services. Additional information + on the failure can be found in `terminal_condition` and `conditions`.' + type: boolean + terminalCondition: + description: Output only. The Condition of this Service, containing + its readiness status, and detailed error information in case it + did not reach a serving state. See comments in `reconciling` for + additional information on reconciliation process in Cloud Run. + properties: + domainMappingReason: + description: 'A reason for the domain mapping condition. Possible + values: DOMAIN_MAPPING_REASON_UNDEFINED, ROUTE_NOT_READY, PERMISSION_DENIED, + CERTIFICATE_ALREADY_EXISTS, MAPPING_ALREADY_EXISTS, CERTIFICATE_PENDING, + CERTIFICATE_FAILED' + type: string + internalReason: + description: 'A reason for the internal condition. Possible values: + INTERNAL_REASON_UNDEFINED, CONFLICTING_REVISION_NAME, REVISION_MISSING, + CONFIGURATION_MISSING, ASSIGNING_TRAFFIC, UPDATING_INGRESS_TRAFFIC_ALLOWED, + REVISION_ORG_POLICY_VIOLATION, ENABLING_GCFV2_URI_SUPPORT' + type: string + jobReason: + description: 'A reason for the job condition. Possible values: + JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR' + type: string + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: Human readable message indicating details about the + current status. + type: string + reason: + description: 'A common (service-level) reason for this condition. + Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, ROUTE_MISSING, + REVISION_FAILED, PROGRESS_DEADLINE_EXCEEDED, BUILD_STEP_FAILED, + CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED, CONTAINER_IMAGE_UNAUTHORIZED, + CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED, ENCRYPTION_KEY_PERMISSION_DENIED, + ENCRYPTION_KEY_CHECK_FAILED, SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, + IMMEDIATE_RETRY, POSTPONED_RETRY' + type: string + revisionReason: + description: 'A reason for the revision condition. Possible values: + REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING, + RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING, + MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED, + NO_DEPLOYMENT' + type: string + severity: + description: 'How to interpret failures of this condition, one + of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED, + ERROR, WARNING, INFO' + type: string + state: + description: 'State of the condition. Possible values: STATE_UNSPECIFIED, + CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED, + CONDITION_SUCCEEDED' + type: string + type: + description: 'type is used to communicate the status of the reconciliation + process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting + Types common to all resources include: * "Ready": True when + the Resource is ready.' + type: string + type: object + trafficStatuses: + description: Output only. Detailed status information for corresponding + traffic targets. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. + items: + properties: + percent: + description: Specifies percent of the traffic to this Revision. + format: int64 + type: integer + revision: + description: Revision to which this traffic is sent. + type: string + tag: + description: Indicates the string used in the URI to exclusively + reference this target. + type: string + type: + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + uri: + description: Displays the target URI. + type: string + type: object + type: array + uid: + description: Output only. Server assigned unique identifier for the + trigger. The value is a UUID4 string and guaranteed to remain unchanged + until the resource is deleted. + type: string + updateTime: + description: Output only. The last-modified time. + format: date-time + type: string + uri: + description: Output only. The main URI in which this Service is serving + traffic. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/secretmanager_v1beta1_secretmanagersecret.yaml b/crds/secretmanager_v1beta1_secretmanagersecret.yaml index 2233db15b7..9d453b165d 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -186,7 +186,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml b/crds/secretmanager_v1beta1_secretmanagersecretversion.yaml index 7facadb5bc..494d0abe5c 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 20884f96d6..f15c5991b5 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 e86ef2855a..7e76fbe87f 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 e4a2efaf4c..433e886771 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c82a3ccbaa..151905f105 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 24b64858c2..f9edaf7315 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 c4b9731f68..ac6336a91d 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 4d93dc8537..ed45e27669 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -72,6 +72,7 @@ spec: spec: properties: databaseVersion: + default: MYSQL_5_6 description: Immutable. The MySQL, PostgreSQL or SQL Server (beta) version to use. Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, @@ -275,14 +276,9 @@ spec: Can be either ALWAYS, NEVER or ON_DEMAND. type: string authorizedGaeApplications: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - https://cloud.google.com/sql/docs/mysql/deprecation-notice for - information on how to upgrade to Second Generation instances. - A list of Google App Engine project names that are allowed to - access this instance. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. items: type: string type: array @@ -333,13 +329,9 @@ spec: description: The name of server instance collation. type: string crashSafeReplication: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Specific to read instances, indicates when crash-safe - replication flags are enabled. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: boolean databaseFlags: items: @@ -466,13 +458,9 @@ spec: description: Pricing plan for this instance, can only be PER_USE. type: string replicationType: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Replication type for this instance, can be one of - ASYNCHRONOUS or SYNCHRONOUS. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: string tier: description: The machine type to use. See tiers for more details diff --git a/crds/sql_v1beta1_sqlsslcert.yaml b/crds/sql_v1beta1_sqlsslcert.yaml index 58f322bb9f..d055f3a8e1 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 b709694c82..5cf630b3e2 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 30a0c48474..991d107a69 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -72,9 +72,9 @@ spec: spec: properties: bucketPolicyOnly: - description: DEPRECATED — Please use the uniform_bucket_level_access - as this field has been renamed by Google. Enables Bucket Policy - Only access to a bucket. + description: |- + DEPRECATED — Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field. + Enables Bucket PolicyOnly access to a bucket. type: boolean cors: description: The bucket's Cross-Origin Resource Sharing (CORS) configuration. @@ -212,6 +212,7 @@ spec: type: object type: array location: + default: US description: Immutable. The Google Cloud Storage location. type: string logging: diff --git a/crds/storage_v1beta1_storagebucketaccesscontrol.yaml b/crds/storage_v1beta1_storagebucketaccesscontrol.yaml index 3edfb68293..40d6e6fb62 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 e5e115f824..f0e91fc5f4 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.69.0 + cnrm.cloud.google.com/version: 1.70.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 da64c718b8..471bb75d2c 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -142,7 +142,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' diff --git a/crds/storagetransfer_v1beta1_storagetransferjob.yaml b/crds/storagetransfer_v1beta1_storagetransferjob.yaml index b7116b6afb..71ae7e1869 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" diff --git a/crds/vpcaccess_v1beta1_vpcaccessconnector.yaml b/crds/vpcaccess_v1beta1_vpcaccessconnector.yaml index 48faeb1888..eae9b207da 100644 --- a/crds/vpcaccess_v1beta1_vpcaccessconnector.yaml +++ b/crds/vpcaccess_v1beta1_vpcaccessconnector.yaml @@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" 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 573fd77661..2335aaad7c 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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -152,6 +152,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -176,7 +177,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -226,7 +227,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -284,7 +285,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -309,7 +310,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -339,7 +340,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -383,6 +384,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -403,7 +405,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -466,7 +468,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -484,7 +486,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -502,7 +504,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -525,7 +527,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -542,7 +544,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-binding @@ -559,7 +561,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-watcher-binding @@ -576,7 +578,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -593,7 +595,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -610,7 +612,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -627,7 +629,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -649,7 +651,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -670,7 +672,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -688,7 +690,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -701,8 +703,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.69.0 - image: gcr.io/cnrm-eap/recorder:c3120b9 + value: 1.70.0 + image: gcr.io/cnrm-eap/recorder:1d69b12 imagePullPolicy: Always name: recorder ports: @@ -734,7 +736,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -749,7 +751,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -762,7 +764,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:c3120b9 + image: gcr.io/cnrm-eap/webhook:1d69b12 imagePullPolicy: Always name: webhook ports: @@ -790,7 +792,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -805,7 +807,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -818,7 +820,7 @@ spec: env: - name: GOOGLE_APPLICATION_CREDENTIALS value: /var/secrets/google/key.json - image: gcr.io/cnrm-eap/controller:c3120b9 + image: gcr.io/cnrm-eap/controller:1d69b12 imagePullPolicy: Always name: manager ports: @@ -853,7 +855,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -868,7 +870,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -876,7 +878,7 @@ spec: containers: - command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:c3120b9 + image: gcr.io/cnrm-eap/deletiondefender:1d69b12 imagePullPolicy: Always name: deletiondefender ports: @@ -904,7 +906,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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 dd42b874e2..1236674773 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -92,7 +92,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -225,7 +226,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -396,7 +398,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +528,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -602,7 +604,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -673,7 +676,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -723,7 +727,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -813,7 +818,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -871,7 +877,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -923,7 +930,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -957,7 +965,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1040,7 +1049,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1079,7 +1089,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1152,7 +1163,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1202,7 +1214,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1292,7 +1305,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1350,7 +1364,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1402,7 +1417,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -1436,7 +1452,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1519,7 +1536,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1558,7 +1576,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1678,7 +1697,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1856,7 +1875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2176,7 +2195,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3002,7 +3021,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3441,7 +3460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3610,7 +3629,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3813,7 +3832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4009,7 +4028,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4170,7 +4189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4436,7 +4455,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4856,7 +4875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5649,7 +5668,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "projects/{{project}}/serviceAccounts/{{value}}", + where {{value}} is 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' @@ -5834,7 +5854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6028,7 +6048,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6269,7 +6289,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6811,7 +6831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7062,7 +7082,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7287,7 +7307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8324,7 +8344,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8932,7 +8952,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9078,7 +9098,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9193,8 +9213,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -9295,7 +9316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9577,7 +9598,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9710,7 +9731,8 @@ spec: Immutable. Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify - sourceRanges OR sourceTags. Possible values: ["INGRESS", "EGRESS"]. + 'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]. type: string disabled: description: |- @@ -9951,7 +9973,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10577,7 +10599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11041,7 +11063,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11202,7 +11224,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11363,7 +11385,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11639,7 +11661,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -12381,7 +12403,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12582,7 +12604,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13165,6 +13187,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -13451,7 +13478,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13914,6 +13941,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -14170,7 +14202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14494,7 +14526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14695,7 +14727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14888,7 +14920,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15038,7 +15070,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15246,7 +15278,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15427,7 +15459,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -15812,7 +15844,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15930,7 +15962,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16144,7 +16176,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16442,7 +16474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16649,7 +16681,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16976,7 +17008,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17081,6 +17113,42 @@ spec: Where there is more than one matching route of maximum length, the routes with the lowest priority value win. type: integer + bfd: + description: BFD configuration for the BGP peering. + properties: + minReceiveInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + received from the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the transmit interval of the other router. If set, this value + must be between 1000 and 30000. + type: integer + minTransmitInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + transmitted to the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the corresponding receive interval of the other router. If set, + this value must be between 1000 and 30000. + type: integer + multiplier: + description: |- + The number of consecutive BFD packets that must be missed before + BFD declares that a peer is unavailable. If set, the value must + be a value between 5 and 16. + type: integer + sessionInitializationMode: + description: |- + The BFD session initialization mode for this BGP peer. + If set to 'ACTIVE', the Cloud Router will initiate the BFD session + for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait + for the peer router to initiate the BFD session for this BGP peer. + If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]. + type: string + required: + - sessionInitializationMode + type: object enable: description: |- The status of the BGP peer connection. If set to false, any active session @@ -17244,7 +17312,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17459,7 +17527,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17734,7 +17802,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17951,7 +18019,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -18286,7 +18354,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18392,7 +18460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18531,7 +18599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18881,11 +18949,6 @@ spec: snapshotId: description: The unique identifier for the resource. type: integer - sourceDiskLink: - description: DEPRECATED — Deprecated in favor of source_disk, which - contains a compatible value. This field will be removed in the next - major release of the provider. - type: string storageBytes: description: |- A size of the storage used by the snapshot. As snapshots share @@ -18911,7 +18974,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19126,7 +19189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19289,7 +19352,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19578,7 +19641,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19755,7 +19818,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19923,7 +19986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20163,7 +20226,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20357,7 +20420,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20580,7 +20643,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20805,7 +20868,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20971,7 +21034,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -21131,7 +21194,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23826,7 +23889,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24023,7 +24086,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24390,7 +24453,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -24626,7 +24689,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25214,7 +25277,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25581,6 +25644,7 @@ spec: type: boolean enableShieldedNodes: description: Enable Shielded Nodes features on all nodes in this cluster. + Defaults to true. type: boolean enableTpu: description: Immutable. Whether to enable Cloud TPU resources in this @@ -25707,8 +25771,8 @@ spec: cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials - for your GKE cluster. If you see an unexpected diff removing a username/password - or unsetting your client cert, ensure you have the container.clusters.getCredentials + for your GKE cluster. If you see an unexpected diff unsetting your + client cert, ensure you have the container.clusters.getCredentials permission. properties: clientCertificate: @@ -25920,6 +25984,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26136,7 +26209,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -26309,9 +26383,9 @@ spec: in GCP IAM policies. properties: identityNamespace: - description: DEPRECATED — This field will be removed in a future - major release as it has been deprecated in the API. Use `workload_pool` - instead. Enables workload identity. + description: |- + DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field. + Enables workload identity. type: string workloadPool: description: The workload pool to attach all Kubernetes service @@ -26352,13 +26426,6 @@ spec: endpoint: description: The IP address of this cluster's Kubernetes master. type: string - instanceGroupUrls: - description: DEPRECATED — Please use node_pool.instance_group_urls - instead. List of instance group URLs which have been assigned to - the cluster. - items: - type: string - type: array labelFingerprint: description: The fingerprint of the set of labels for this cluster. type: string @@ -26407,7 +26474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -26608,6 +26675,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26866,6 +26942,12 @@ spec: items: type: string type: array + managedInstanceGroupUrls: + description: List of instance group URLs which have been assigned + to this node pool. + items: + type: string + type: array observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -26894,7 +26976,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27020,7 +27102,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27302,7 +27384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27581,7 +27663,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27873,7 +27955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29096,7 +29178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31011,7 +31093,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31337,7 +31419,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31532,7 +31614,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31687,7 +31769,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31904,7 +31986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32225,7 +32307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32379,7 +32461,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32590,7 +32672,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32728,7 +32810,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33056,7 +33138,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33291,7 +33373,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33655,7 +33737,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33720,7 +33802,6 @@ spec: of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -33817,7 +33898,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33957,7 +34038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34045,7 +34126,6 @@ spec: member: description: The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: The IAM identity to be bound to the role. @@ -34255,7 +34335,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34326,7 +34406,6 @@ spec: this type of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -34376,7 +34455,6 @@ spec: description: Optional. The list of IAM users to be bound to the role. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array role: @@ -34485,7 +34563,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34562,7 +34640,6 @@ spec: member: description: Immutable. The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: Immutable. The IAM identity to be bound to the role. @@ -34700,7 +34777,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34878,7 +34955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35015,7 +35092,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35304,7 +35381,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35468,7 +35545,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35592,7 +35669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35742,7 +35819,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35925,7 +36002,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36138,7 +36215,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36291,7 +36368,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36415,9 +36492,9 @@ spec: See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. type: string protectionLevel: - description: 'Immutable. The protection level to use when creating - a version based on this template. Default value: "SOFTWARE" - Possible values: ["SOFTWARE", "HSM"].' + description: Immutable. The protection level to use when creating + a version based on this template. Possible values include "SOFTWARE", + "HSM", "EXTERNAL". Defaults to "SOFTWARE". type: string required: - algorithm @@ -36461,10 +36538,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36485,7 +36559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36590,10 +36664,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36614,7 +36685,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36702,9 +36773,9 @@ spec: description: The ID of a BillingAccount in format billingAccounts/{billingaccount_id}. type: string name: - description: '[WARNING] BillingAccount is not yet supported in - Config Connector, use ''external'' field to reference existing - resources.' + description: |- + [WARNING] BillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36776,8 +36847,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36884,7 +36956,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36983,7 +37055,8 @@ spec: - external properties: external: - description: The name of a BigQueryDataset. + description: A string of the format "bigquery.googleapis.com/projects/{{project}}/datasets/{{value}}", + where {{value}} is the name of a BigQueryDataset. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37009,7 +37082,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "pubsub.googleapis.com/projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37035,7 +37109,8 @@ spec: - external properties: external: - description: The name of a StorageBucket. + description: A string of the format "storage.googleapis.com/{{value}}", + where {{value}} is the name of a StorageBucket. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37249,7 +37324,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -37347,7 +37422,8 @@ spec: - external properties: external: - description: The name of a ComputeNetwork. + description: A string of the format "projects/{{project}}/global/networks/{{value}}", + where {{value}} is the name of a ComputeNetwork. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37483,7 +37559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -38244,7 +38320,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44962,7 +45038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45149,7 +45225,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45437,7 +45513,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45730,7 +45806,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46294,7 +46370,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46450,7 +46526,378 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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: monitoringuptimecheckconfigs.monitoring.cnrm.cloud.google.com +spec: + group: monitoring.cnrm.cloud.google.com + names: + categories: + - gcp + kind: MonitoringUptimeCheckConfig + plural: monitoringuptimecheckconfigs + shortNames: + - gcpmonitoringuptimecheckconfig + - gcpmonitoringuptimecheckconfigs + singular: monitoringuptimecheckconfig + 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: + contentMatchers: + description: The content that is expected to appear in the data returned + by the target server against which the check is run. Currently, + only the first entry in the `content_matchers` list is supported, + and additional entries will be ignored. This field is optional and + should only be specified if a content match is required as part + of the/ Uptime check. + items: + properties: + content: + type: string + matcher: + description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, + CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX' + type: string + required: + - content + type: object + type: array + displayName: + description: A human-friendly name for the Uptime check configuration. + The display name should be unique within a Stackdriver Workspace + in order to make it easier to identify; however, uniqueness is not + enforced. Required. + type: string + httpCheck: + description: Contains information needed to make an HTTP or HTTPS + check. + properties: + authInfo: + description: The authentication information. Optional when creating + an HTTP check; defaults to empty. + properties: + password: + oneOf: + - not: + required: + - valueFrom + required: + - value + - not: + required: + - value + required: + - valueFrom + properties: + value: + description: Value of the field. Cannot be used if 'valueFrom' + is specified. + type: string + valueFrom: + description: Source for the field's value. Cannot be used + if 'value' is specified. + properties: + secretKeyRef: + description: Reference to a value with the given key + in the given Secret in the resource's namespace. + properties: + key: + description: Key that identifies the value to + be extracted. + type: string + name: + description: Name of the Secret to extract a value + from. + type: string + required: + - name + - key + type: object + type: object + type: object + username: + type: string + required: + - password + - username + type: object + body: + description: 'The request body associated with the HTTP POST request. + If `content_type` is `URL_ENCODED`, the body passed in must + be URL-encoded. Users can provide a `Content-Length` header + via the `headers` field or the API will do so. If the `request_method` + is `GET` and `body` is not empty, the API will return an error. + The maximum byte size is 1 megabyte. Note: As with all `bytes` + fields JSON representations are base64 encoded. e.g.: "foo=bar" + in URL-encoded form is "foo%3Dbar" and in base64 encoding is + "Zm9vJTI1M0RiYXI=".' + type: string + contentType: + description: 'The content type to use for the check. Possible + values: TYPE_UNSPECIFIED, URL_ENCODED' + type: string + headers: + additionalProperties: + type: string + description: The list of headers to send as part of the Uptime + check request. If two headers have the same key and different + values, they should be entered as a single header, with the + value being a comma-separated list of all the desired values + as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt + (page 31). Entering two separate headers with the same key in + a Create call will cause the first to be overwritten by the + second. The maximum number of headers allowed is 100. + type: object + maskHeaders: + description: Boolean specifying whether to encrypt the header + information. Encryption should be specified for any headers + related to authentication that you do not wish to be seen when + retrieving the configuration. The server will be responsible + for encrypting the headers. On Get/List calls, if `mask_headers` + is set to `true` then the headers will be obscured with `******.` + type: boolean + path: + description: Optional (defaults to "/"). The path to the page + against which to run the check. Will be combined with the `host` + (specified within the `monitored_resource`) and `port` to construct + the full URL. If the provided path does not begin with "/", + a "/" will be prepended automatically. + type: string + port: + description: Optional (defaults to 80 when `use_ssl` is `false`, + and 443 when `use_ssl` is `true`). The TCP port on the HTTP + server against which to run the check. Will be combined with + host (specified within the `monitored_resource`) and `path` + to construct the full URL. + format: int64 + type: integer + requestMethod: + description: The HTTP request method to use for the check. If + set to `METHOD_UNSPECIFIED` then `request_method` defaults to + `GET`. + type: string + useSsl: + description: If `true`, use HTTPS instead of HTTP to run the check. + type: boolean + validateSsl: + description: Boolean specifying whether to include SSL certificate + validation as a part of the Uptime check. Only applies to checks + where `monitored_resource` is set to `uptime_url`. If `use_ssl` + is `false`, setting `validate_ssl` to `true` has no effect. + type: boolean + type: object + monitoredResource: + description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources) + associated with the configuration. The following monitored resource + types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`' + properties: + filterLabels: + additionalProperties: + type: string + type: object + type: + type: string + required: + - filterLabels + - type + type: object + period: + description: How often, in seconds, the Uptime check is performed. + Currently, the only supported values are `60s` (1 minute), `300s` + (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, + defaults to `60s`. + 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 this uptime check config. + 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 + resourceGroup: + description: The group resource associated with the configuration. + properties: + groupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The group of resources being monitored. Should + be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`. + 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 + resourceType: + description: 'The resource type of the group members. Possible + values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER' + type: string + type: object + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + selectedRegions: + description: The list of regions from which the check will be run. + Some regions contain one location, and others contain more than + one. If this field is specified, enough regions must be provided + to include a minimum of 3 locations. Not specifying this field + will result in Uptime checks running from all available regions. + items: + type: string + type: array + tcpCheck: + description: Contains information needed to make a TCP check. + properties: + port: + description: The TCP port on the server against which to run the + check. Will be combined with host (specified within the `monitored_resource`) + to construct the full URL. Required. + format: int64 + type: integer + required: + - port + type: object + timeout: + description: The maximum amount of time to wait for the request to + complete (must be between 1 and 60 seconds). Required. + type: string + required: + - displayName + - projectRef + - timeout + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46629,7 +47076,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46884,7 +47331,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47110,7 +47557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47351,7 +47798,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47677,7 +48124,2089 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgateways.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGateway + plural: networkservicesgateways + shortNames: + - gcpnetworkservicesgateway + - gcpnetworkservicesgateways + singular: networkservicesgateway + 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: + addresses: + description: One or more addresses with ports in format of ":" that + the Gateway must receive traffic on. The proxy binds to the ports + specified. IP address can be anything that is allowed by the underlying + infrastructure (auto-allocation, static IP, BYOIP). + items: + type: string + type: array + authorizationPolicy: + description: Optional. A fully-qualified AuthorizationPolicy URL reference. + Specifies how traffic is authorized. If empty, authorization checks + are disabled. + type: string + description: + description: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Gateway + resource. + type: object + location: + description: The location for the resource + type: string + ports: + description: Required. One or more ports that the Gateway must receive + traffic on. The proxy binds to the ports specified. Gateway listen + on 0.0.0.0 on the ports specified below. + items: + format: int64 + type: integer + 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 + scope: + description: Required. Immutable. Scope determines how configuration + across multiple Gateway instances are merged. The configuration + for multiple Gateway instances with the same scope will be merged + as presented as a single coniguration to the proxy/load balancer. + Max length 64 characters. Scope should start with a letter and can + only have letters, numbers, hyphens. + type: string + serverTlsPolicy: + description: Optional. A fully-qualified ServerTLSPolicy URL reference. + Specifies how TLS traffic is terminated. If empty, TLS termination + is disabled. + type: string + type: + description: 'Immutable. The type of the customer managed gateway. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - ports + - projectRef + - scope + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgrpcroutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGRPCRoute + plural: networkservicesgrpcroutes + shortNames: + - gcpnetworkservicesgrpcroute + - gcpnetworkservicesgrpcroutes + singular: networkservicesgrpcroute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: 'Required. Service hostnames with an optional port for + which this route describes traffic. Format: [:] Hostname is the + fully qualified domain name of a network host. This matches the + RFC 1123 definition of a hostname with 2 notable exceptions: - IPs + are not allowed. - A hostname may be prefixed with a wildcard label + (*.). The wildcard label must appear by itself as the first label. + Hostname can be “precise” which is a domain name without the terminating + dot of a network host (e.g. “foo.example.com”) or “wildcard”, which + is a domain name prefixed with a single wildcard label (e.g. *.example.com). + Note that as per RFC1035 and RFC1123, a label must consist of lower + case alphanumeric characters or ‘-’, and must start and end with + an alphanumeric character. No other punctuation is allowed. The + routes associated with a Router must have unique hostnames. If you + attempt to attach multiple routes with conflicting hostnames, the + configuration will be rejected. For example, while it is acceptable + for routes for the hostnames "*.foo.bar.com" and "*.bar.com" to + be associated with the same route, it is not possible to associate + two routes both with "*.bar.com" or both with "bar.com". In the + case that multiple routes match the hostname, the most specific + match will be selected. For example, "foo.bar.baz.com" will take + precedence over "*.bar.baz.com" and "*.bar.baz.com" will take precedence + over "*.baz.com". If a port is specified, then gRPC clients must + use the channel URI with the port to match this rule (i.e. "xds:///service:123"), + otherwise they must supply the URI without a port (i.e. "xds:///service").' + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the GrpcRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this GrpcRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/`' + items: + type: string + type: array + rules: + description: Required. A list of detailed rules defining how to route + traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated + with the first matching GrpcRoute.RouteRule will be executed. At + least one rule must be supplied. + items: + properties: + action: + description: Required. A detailed rule defining how to route + traffic. This field is required. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. If multiple destinations + are specified, traffic will be split between Backend Service(s) + according to the weight field of these destinations. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + faultInjectionPolicy: + description: Optional. The specification for fault injection + introduced into traffic to test the resiliency of clients + to destination service failure. As part of fault injection, + when clients send requests to a destination, delays can + be introduced on a percentage of requests before sending + those requests to the destination service. Similarly requests + from clients can be aborted by for a percentage of requests. + timeout and retry_policy will be ignored by clients that + are configured with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + requestHeaderModifier: + description: Optional. The specification for modifying the + headers of a matching request prior to delivery of the + request to the destination. Cannot be set if the route + is attached to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Optional. Specifies the policy on how requests + intended for the route's destination are mirrored to a + separate mirrored destination. The proxy will not wait + for the mirrored destination to respond before returning + the response. Prior to sending traffic to the mirrored + service, the host / authority header is suffixed with + -shadow. Cannot be set if the route is attached to a Router + whose type is PROXYLESS_GRPC. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion + of requests forwarded to the backend referenced + by the serviceName field. This is computed as: + weight/Sum(weights in this destination list). + For non-zero values, there may be some epsilon + from the exact proportion defined here depending + on the precision an implementation supports. If + only one serviceName is specified and it has a + weight greater than 0, 100% of the traffic is + forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in + equal proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: object + responseHeaderModifier: + description: Optional. The specification for modifying the + headers of a response prior to sending the response back + to the client. Cannot be set if the route is attached + to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Optional. Specifies the retry policy associated + with this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specpfied, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: If not specified, will use the timeout + set in the RouteAction. If timeout is not set in the + RouteAction, will use the largest timeout among all + Backend Services associated with the route. + type: string + retryConditions: + description: '- connect-failure: Router will retry on + failures connecting to Backend Services, for example + due to connection timeouts. - refused-stream: Router + will retry if the backend service resets the stream + with a REFUSED_STREAM error code. This reset type + indicates that it is safe to retry. - cancelled: Router + will retry if the gRPC status code in the response + header is set to cancelled - deadline-exceeded: Router + will retry if the gRPC status code in the response + header is set to deadline-exceeded - resource-exhausted: + Router will retry if the gRPC status code in the response + header is set to resource-exhausted - unavailable: + Router will retry if the gRPC status code in the response + header is set to unavailable' + items: + type: string + type: array + type: object + timeout: + description: Optional. Specifies the timeout for selected + route. Timeout is computed from the time the request has + been fully processed (i.e. end of stream) up until the + response has been completely processed. Timeout includes + all retries. + type: string + urlRewrite: + description: Optional. The specification for rewrite URL + before forwarding requests to the destination. Cannot + be set if the route is attached to a Router whose type + is PROXYLESS_GRPC. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: Optional. Matches define conditions used for matching + the rule against incoming gRPC requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. If no matches field is specified, this rule will + unconditionally match traffic. + items: + properties: + headers: + description: Optional. Specifies a collection of headers + to match. + items: + properties: + key: + description: Required. The key of the header. + type: string + type: + description: 'Optional. Specifies how to match against + the value of the header. If not specified, a default + value of EXACT is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + value: + description: Required. The value of the header. + type: string + required: + - key + - value + type: object + type: array + method: + description: Optional. A gRPC method to match against. + If this field is empty or omitted, will match all methods. + properties: + caseSensitive: + description: Optional. Specifies that matches are + case sensitive. The default value is true. case_sensitive + must not be used with a type of REGULAR_EXPRESSION. + type: boolean + grpcMethod: + description: Required. Name of the method to match + against. If unspecified, will match all methods. + type: string + grpcService: + description: Required. Name of the service to match + against. If unspecified, will match all services. + type: string + type: + description: 'Optional. Specifies how to match against + the name. If not specified, a default value of "EXACT" + is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + required: + - grpcMethod + - grpcService + type: object + type: object + type: array + required: + - action + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkserviceshttproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesHTTPRoute + plural: networkserviceshttproutes + shortNames: + - gcpnetworkserviceshttproute + - gcpnetworkserviceshttproutes + singular: networkserviceshttproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: Required. Hostnames define a set of hosts that should + match against the HTTP host header to select a HttpRoute to process + the request. Hostname is the fully qualified domain name of a network + host, as defined by RFC 1123 with the exception that ip addresses + are not allowed. Wildcard hosts are supported as "*" (no prefix + or suffix allowed). + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the HttpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this HttpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. + items: + properties: + action: + description: The detailed rule defining how to route matched + traffic. + properties: + corsPolicy: + description: The specification for allowing client side + cross-origin requests. + properties: + allowCredentials: + description: In response to a preflight request, setting + this to true indicates that the actual request can + include user credentials. This translates to the Access-Control-Allow-Credentials + header. Default value is false. + type: boolean + allowHeaders: + description: Specifies the content for Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression patterns + that match allowed origins. For regular expression + grammar, please see https://github.com/google/re2/wiki/Syntax. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that will + be allowed to do CORS requests. An origin is allowed + if it matches either an item in allow_origins or an + item in allow_origin_regexes. + items: + type: string + type: array + disabled: + description: If true, the CORS policy is disabled. The + default value is false, which indicates that the CORS + policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long result of a preflight + request can be cached in seconds. This translates + to the Access-Control-Max-Age header. + type: string + type: object + destinations: + description: The destination to which traffic should be + forwarded. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to route + traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights in + this destination list). For non-zero values, there + may be some epsilon from the exact proportion defined + here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection introduced + into traffic to test the resiliency of clients to backend + service failure. As part of fault injection, when clients + send requests to a backend service, delays can be introduced + on a percentage of requests before sending those requests + to the backend service. Similarly requests from clients + can be aborted for a percentage of requests. timeout and + retry_policy will be ignored by clients that are configured + with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + originalDestination: + description: If true, the matched traffic will use the destination + ip and port of the original connection (as it was not + processed by proxy) as the destination of the request. + Only one of destinations, redirect, original_destination + can be set. + type: boolean + redirect: + description: If set, the request is directed as configured + by this field. + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the + request. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL + scheme of the redirected request will remain the same + as that of the request. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the + request. path_redirect can not be supplied together + with prefix_redirect. Supply one alone or neither. + If neither is supplied, the path of the original request + will be used for the redirect. + type: string + portRedirect: + description: The port that will be used in the redirected + request instead of the one that was supplied in the + request. + format: int64 + type: integer + prefixRewrite: + description: Indicates that during redirection, the + matched prefix (or path) should be swapped with this + value. This option allows URLs be dynamically created + based on the request. + type: string + responseCode: + description: 'The HTTP Status code to use for the redirect. + Possible values: MOVED_PERMANENTLY_DEFAULT, FOUND, + SEE_OTHER, TEMPORARY_REDIRECT, PERMANENT_REDIRECT' + type: string + stripQuery: + description: if set to true, any accompanying query + portion of the original URL is removed prior to redirecting + the request. If set to false, the query portion of + the original URL is retained. The default is set to + false. + type: boolean + type: object + requestHeaderModifier: + description: The specification for modifying the headers + of a matching request prior to delivery of the request + to the destination. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Specifies the policy on how requests intended + for the routes destination are shadowed to a separate + mirrored destination. Proxy will not wait for the shadow + destination to respond before returning the response. + Prior to sending traffic to the shadow service, the host/authority + header is suffixed with -shadow. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to + route traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified + and it has a weight greater than 0, 100% of the + traffic is forwarded to that backend. If weights + are specified for any one service name, they need + to be specified for all of them. If weights are + unspecified for all services, then, traffic is + distributed in equal proportions to all of them.' + format: int64 + type: integer + type: object + type: object + responseHeaderModifier: + description: The specification for modifying the headers + of a response prior to sending the response back to the + client. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Specifies the retry policy associated with + this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specified, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout per retry + attempt. + type: string + retryConditions: + description: 'Specifies one or more conditions when + this retry policy applies. Valid values are: 5xx: + Proxy will attempt a retry if the destination service + responds with any 5xx response code, of if the destination + service does not respond at all, example: disconnect, + reset, read timeout, connection failure and refused + streams. gateway-error: Similar to 5xx, but only applies + to response codes 502, 503, 504. reset: Proxy will + attempt a retry if the destination service does not + respond at all (disconnect/reset/read timeout) connect-failure: + Proxy will retry on failures connecting to destination + for example due to connection timeouts. retriable-4xx: + Proxy will retry fro retriable 4xx response codes. + Currently the only retriable error supported is 409. + refused-stream: Proxy will retry if the destination + resets the stream with a REFUSED_STREAM error code. + This reset type indicates that it is safe to retry.' + items: + type: string + type: array + type: object + timeout: + description: Specifies the timeout for selected route. Timeout + is computed from the time the request has been fully processed + (i.e. end of stream) up until the response has been completely + processed. Timeout includes all retries. + type: string + urlRewrite: + description: The specification for rewrite URL before forwarding + requests to the destination. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: A list of matches define conditions used for matching + the rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. + items: + properties: + fullPathMatch: + description: The HTTP request path value should exactly + match this value. Only one of full_path_match, prefix_match, + or regex_match should be used. + type: string + headers: + description: Specifies a list of HTTP request headers + to match against. ALL of the supplied headers must be + matched. + items: + properties: + exactMatch: + description: The value of the header should match + exactly the content of exact_match. + type: string + header: + description: The name of the HTTP header to match + against. + type: string + invertMatch: + description: If specified, the match result will + be inverted before checking. Default value is + set to false. + type: boolean + prefixMatch: + description: The value of the header must start + with the contents of prefix_match. + type: string + presentMatch: + description: A header with header_name must exist. + The match takes place whether or not the header + has a value. + type: boolean + rangeMatch: + description: If specified, the rule will match if + the request header value is within the range. + properties: + end: + description: End of the range (exclusive) + format: int64 + type: integer + start: + description: Start of the range (inclusive) + format: int64 + type: integer + type: object + regexMatch: + description: 'The value of the header must match + the regular expression specified in regex_match. + For regular expression grammar, please see: https://github.com/google/re2/wiki/Syntax' + type: string + suffixMatch: + description: The value of the header must end with + the contents of suffix_match. + type: string + type: object + type: array + ignoreCase: + description: Specifies if prefix_match and full_path_match + matches are case sensitive. The default value is false. + type: boolean + prefixMatch: + description: The HTTP request path value must begin with + specified prefix_match. prefix_match must begin with + a /. Only one of full_path_match, prefix_match, or regex_match + should be used. + type: string + queryParameters: + description: Specifies a list of query parameters to match + against. ALL of the query parameters must be matched. + items: + properties: + exactMatch: + description: The value of the query parameter must + exactly match the contents of exact_match. Only + one of exact_match, regex_match, or present_match + must be set. + type: string + presentMatch: + description: Specifies that the QueryParameterMatcher + matches if request contains query parameter, irrespective + of whether the parameter has a value or not. Only + one of exact_match, regex_match, or present_match + must be set. + type: boolean + queryParameter: + description: The name of the query parameter to + match. + type: string + regexMatch: + description: The value of the query parameter must + match the regular expression specified by regex_match. + For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax + Only one of exact_match, regex_match, or present_match + must be set. + type: string + type: object + type: array + regexMatch: + description: The HTTP request path value must satisfy + the regular expression specified by regex_match after + removing any query parameters and anchor supplied with + the original URL. For regular expression grammar, please + see https://github.com/google/re2/wiki/Syntax Only one + of full_path_match, prefix_match, or regex_match should + be used. + type: string + type: object + type: array + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesmeshes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesMesh + plural: networkservicesmeshes + shortNames: + - gcpnetworkservicesmesh + - gcpnetworkservicesmeshes + singular: networkservicesmesh + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + interceptionPort: + description: Optional. If set to a valid TCP port (1-65535), instructs + the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) + address. The SIDECAR proxy will expect all traffic to be redirected + to this port regardless of its actual ip:port destination. If unset, + a port '15001' is used as the interception port. This field is only + valid if the type of Mesh is SIDECAR. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Mesh + resource. + type: object + 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 + scope: + description: Required. Immutable. Scope defines a logical configuration + boundary for mesh. The routes pointing to this particular mesh resource + defines the mesh configuration and the scope field name is used + by mesh clients to receive that configuration. There cannot be more + than one Mesh resource instance of the same type (SIDECAR or PROXYLESS_GRPC) + with the same scope. Max length 64 characters. Scope should start + with a letter and can only have letters, numbers, hyphens. + type: string + type: + description: 'Required. Immutable. The type of the Mesh resource. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - projectRef + - scope + - type + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicestcproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesTCPRoute + plural: networkservicestcproutes + shortNames: + - gcpnetworkservicestcproute + - gcpnetworkservicestcproutes + singular: networkservicestcproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the TcpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this TcpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. At least one RouteRule must be supplied. If there are multiple + rules then the action taken will be the first rule to match. + items: + properties: + action: + description: Required. The detailed rule defining how to route + matched traffic. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. At least one destination + service is required. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a BackendService + to route traffic to. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + originalDestination: + description: Optional. If true, Router will use the destination + IP and port of the original connection as the destination + of the request. Default is false. + type: boolean + type: object + matches: + description: Optional. RouteMatch defines the predicate used + to match requests to a given action. Multiple match types + are “OR”ed for evaluation. If no routeMatch field is specified, + this rule will unconditionally match traffic. + items: + properties: + address: + description: 'Required. Must be specified in the CIDR + range format. A CIDR range consists of an IP Address + and a prefix length to construct the subnet mask. By + default, the prefix length is 32 (i.e. matches a single + IP address). Only IPV4 addresses are supported. Examples: + “10.0.0.1” - matches against this exact IP address. + “10.0.0.0/8" - matches against any IP address within + the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" + - matches against any IP address''.' + type: string + port: + description: Required. Specifies the destination port + to match against. + type: string + required: + - address + - port + type: object + type: array + required: + - action + type: object + type: array + required: + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -48443,7 +50972,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49440,7 +51969,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49933,7 +52462,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -50346,7 +52875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50568,7 +53097,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50673,7 +53202,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50857,7 +53387,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50904,12 +53435,6 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - path: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. Path of the subscription in the format - projects/{project}/subscriptions/{name}. - type: string type: object required: - spec @@ -50929,7 +53454,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51017,6 +53542,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + messageRetentionDuration: + description: |- + Indicates the minimum duration to retain a message after it is published + to the topic. If this field is set, messages published to the topic in + the last messageRetentionDuration are always available to subscribers. + For instance, it allows any attached subscription to seek to a timestamp + that is up to messageRetentionDuration in the past. If this field is not + set, message retention is controlled by settings on individual subscriptions. + Cannot be more than 7 days or less than 10 minutes. + type: string messageStoragePolicy: description: |- Policy constraining the set of Google Cloud Platform regions where @@ -51095,7 +53630,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -51328,7 +53863,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51403,8 +53938,525 @@ spec: type: string authorizedNetworkRef: description: |- - The network to which the instance is connected. If left - unspecified, the default network will be used. + The network to which the instance is connected. If left + unspecified, the default network will be used. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The selfLink of a ComputeNetwork. + 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 + connectMode: + description: 'Immutable. The connection mode of the Redis instance. + Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"].' + type: string + displayName: + description: An arbitrary and optional user-provided name for the + instance. + type: string + locationId: + description: |- + Immutable. The zone where the instance will be provisioned. If not provided, + the service will choose a zone for the instance. For STANDARD_HA tier, + instances will be created across two zones for protection against + zonal failures. If [alternativeLocationId] is also provided, it must + be different from [locationId]. + type: string + memorySizeGb: + description: Redis memory size in GiB. + type: integer + redisConfigs: + additionalProperties: + type: string + description: |- + Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported parameters: + https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + type: object + redisVersion: + description: "The version of Redis software. If not provided, latest + supported\nversion will be used. Please check the API documentation + linked \nat the top for the latest valid values." + type: string + region: + description: Immutable. The name of the Redis region of the instance. + type: string + reservedIpRange: + description: |- + Immutable. The CIDR range of internal addresses that are reserved for this + instance. If not provided, the service will choose an unused /29 + block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be + unique and non-overlapping with existing subnets in an authorized + network. + type: string + 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: |- + Immutable. The service tier of the instance. Must be one of these values: + + - BASIC: standalone instance + - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. + type: string + transitEncryptionMode: + description: |- + Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. + + - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. + type: string + required: + - memorySizeGb + - region + 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: |- + The time the instance was created in RFC3339 UTC "Zulu" format, + accurate to nanoseconds. + type: string + currentLocationId: + description: |- + The current zone where the Redis endpoint is placed. + For Basic Tier instances, this will always be the same as the + [locationId] provided by the user at creation time. For Standard Tier + instances, this can be either [locationId] or [alternativeLocationId] + and can change after a failover event. + type: string + host: + description: |- + Hostname or IP address of the exposed Redis endpoint used by clients + to connect to the service. + 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 + persistenceIamIdentity: + description: |- + Output only. Cloud IAM identity used by import / export operations + to transfer data to/from Cloud Storage. Format is "serviceAccount:". + The value may change over time for a given instance so should be + checked before each import/export operation. + type: string + port: + description: The port number of the exposed Redis endpoint. + type: integer + serverCaCerts: + description: List of server CA certificates for the instance. + items: + properties: + cert: + description: Serial number, as extracted from the certificate. + type: string + createTime: + description: The time when the certificate was created. + type: string + expireTime: + description: The time when the certificate expires. + type: string + serialNumber: + description: Serial number, as extracted from the certificate. + type: string + sha1Fingerprint: + description: Sha1 Fingerprint of the certificate. + type: string + type: object + type: array + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerLien + plural: resourcemanagerliens + shortNames: + - gcpresourcemanagerlien + - gcpresourcemanagerliens + singular: resourcemanagerlien + 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: + origin: + description: |- + Immutable. A stable, user-visible/meaningful string identifying the origin + of the Lien, intended to be inspected programmatically. Maximum length of + 200 characters. + type: string + parent: + properties: + projectRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. + 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 + reason: + description: |- + Immutable. Concise user-visible strings indicating why an action cannot be performed + on a resource. Maximum length of 200 characters. + type: string + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + restrictions: + description: |- + Immutable. The types of operations which should be blocked as a result of this Lien. + Each value should correspond to an IAM permission. The server will validate + the permissions against those for which Liens are supported. An empty + list is meaningless and will be rejected. + e.g. ['resourcemanager.projects.delete']. + items: + type: string + type: array + required: + - origin + - parent + - reason + - restrictions + 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: Time of creation. + type: string + name: + description: A system-generated unique identifier for this Lien. + 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 + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerPolicy + plural: resourcemanagerpolicies + shortNames: + - gcpresourcemanagerpolicy + - gcpresourcemanagerpolicies + singular: resourcemanagerpolicy + 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: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + properties: + enforced: + description: If true, then the Policy is enforced. If false, then + any configuration is acceptable. + type: boolean + required: + - enforced + type: object + constraint: + description: Immutable. The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + folderRef: + description: |- + The folder on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Folder. + 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 + listPolicy: + description: A policy that can define specific values that are allowed + or denied for the given constraint. It can also be used to allow + or deny all values. . + properties: + allow: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + deny: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + inheritFromParent: + description: If set to true, the values from the effective Policy + of the parent resource are inherited, meaning the values set + in this Policy are added to the values inherited up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default to a + configuration that matches the value specified in this field. + type: string + type: object + organizationRef: + description: |- + The organization on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. oneOf: - not: required: @@ -51421,7 +54473,7 @@ spec: - external properties: external: - description: The selfLink of a ComputeNetwork. + description: The name of an Organization. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51430,71 +54482,51 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object - connectMode: - description: 'Immutable. The connection mode of the Redis instance. - Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", - "PRIVATE_SERVICE_ACCESS"].' - type: string - displayName: - description: An arbitrary and optional user-provided name for the - instance. - type: string - locationId: - description: |- - Immutable. The zone where the instance will be provisioned. If not provided, - the service will choose a zone for the instance. For STANDARD_HA tier, - instances will be created across two zones for protection against - zonal failures. If [alternativeLocationId] is also provided, it must - be different from [locationId]. - type: string - memorySizeGb: - description: Redis memory size in GiB. - type: integer - redisConfigs: - additionalProperties: - type: string + projectRef: description: |- - Redis configuration parameters, according to http://redis.io/topics/config. - Please check Memorystore documentation for the list of supported parameters: - https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + The project on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Project. + 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 - redisVersion: - description: "The version of Redis software. If not provided, latest - supported\nversion will be used. Please check the API documentation - linked \nat the top for the latest valid values." - type: string - region: - description: Immutable. The name of the Redis region of the instance. - type: string - reservedIpRange: - description: |- - Immutable. The CIDR range of internal addresses that are reserved for this - instance. If not provided, the service will choose an unused /29 - block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be - unique and non-overlapping with existing subnets in an authorized - network. - type: string - 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: |- - Immutable. The service tier of the instance. Must be one of these values: - - - BASIC: standalone instance - - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. - type: string - transitEncryptionMode: - description: |- - Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. - - - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. - type: string + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + version: + description: Version of the Policy. Default version is 0. + type: integer required: - - memorySizeGb - - region + - constraint type: object status: properties: @@ -51524,23 +54556,10 @@ spec: type: string type: object type: array - createTime: - description: |- - The time the instance was created in RFC3339 UTC "Zulu" format, - accurate to nanoseconds. - type: string - currentLocationId: - description: |- - The current zone where the Redis endpoint is placed. - For Basic Tier instances, this will always be the same as the - [locationId] provided by the user at creation time. For Standard Tier - instances, this can be either [locationId] or [alternativeLocationId] - and can change after a failover event. - type: string - host: - description: |- - Hostname or IP address of the exposed Redis endpoint used by clients - to connect to the service. + etag: + description: The etag of the organization policy. etag is used for + optimistic concurrency control as a way to help prevent simultaneous + updates of a policy from overwriting each other. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51549,37 +54568,11 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - persistenceIamIdentity: - description: |- - Output only. Cloud IAM identity used by import / export operations - to transfer data to/from Cloud Storage. Format is "serviceAccount:". - The value may change over time for a given instance so should be - checked before each import/export operation. + updateTime: + description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate + to nanoseconds, representing when the variable was last updated. + Example: "2016-10-09T12:33:37.578138407Z".' type: string - port: - description: The port number of the exposed Redis endpoint. - type: integer - serverCaCerts: - description: List of server CA certificates for the instance. - items: - properties: - cert: - description: Serial number, as extracted from the certificate. - type: string - createTime: - description: The time when the certificate was created. - type: string - expireTime: - description: The time when the certificate expires. - type: string - serialNumber: - description: Serial number, as extracted from the certificate. - type: string - sha1Fingerprint: - description: Sha1 Fingerprint of the certificate. - type: string - type: object - type: array type: object required: - spec @@ -51599,25 +54592,25 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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/stability-level: alpha cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com + name: runservices.run.cnrm.cloud.google.com spec: - group: resourcemanager.cnrm.cloud.google.com + group: run.cnrm.cloud.google.com names: categories: - gcp - kind: ResourceManagerLien - plural: resourcemanagerliens + kind: RunService + plural: runservices shortNames: - - gcpresourcemanagerlien - - gcpresourcemanagerliens - singular: resourcemanagerlien + - gcprunservice + - gcprunservices + singular: runservice preserveUnknownFields: false scope: Namespaced versions: @@ -51655,15 +54648,337 @@ spec: type: object spec: properties: - origin: - description: |- - Immutable. A stable, user-visible/meaningful string identifying the origin - of the Lien, intended to be inspected programmatically. Maximum length of - 200 characters. + annotations: + additionalProperties: + type: string + description: 'Unstructured key value map that may be set by external + tools to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. Cloud Run will populate + some annotations using ''run.googleapis.com'' or ''serving.knative.dev'' + namespaces. This field follows Kubernetes annotations'' namespacing, + limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + binaryAuthorization: + description: Settings for the Binary Authorization feature. + properties: + breakglassJustification: + description: If present, indicates to use Breakglass using this + justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass + type: string + useDefault: + description: If True, indicates to use the default project's binary + authorization policy. If False, binary authorization will be + disabled + type: boolean + type: object + client: + description: Arbitrary identifier for the API client. type: string - parent: + clientVersion: + description: Arbitrary version identifier for the API client. + type: string + description: + description: User-provided description of the Service. + type: string + ingress: + description: Provides the ingress settings for this Service. On output, + returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED + if no revision is active. + type: string + launchStage: + description: 'The launch stage as defined by [Google Cloud Platform + Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud + Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, + GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, + PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED' + 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: - projectRef: + 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 + template: + description: Required. The template used to create revisions for this + Service. + properties: + annotations: + additionalProperties: + type: string + description: KRM-style annotations for the resource. + type: object + confidential: + description: Enables Confidential Cloud Run in Revisions created + using this template. + type: boolean + containerConcurrency: + description: Sets the maximum number of requests that each serving + instance can receive. + format: int64 + type: integer + containers: + description: Holds the single container that defines the unit + of execution for this Revision. + items: + properties: + args: + description: 'Arguments to the entrypoint. The docker image''s + CMD is used if this is not provided. Variable references + $(VAR_NAME) are expanded using the container''s environment. + If a variable cannot be resolved, the reference in the + input string will be unchanged. The $(VAR_NAME) syntax + can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether + the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed within a shell. + The docker image''s ENTRYPOINT is used if this is not + provided. Variable references $(VAR_NAME) are expanded + using the container''s environment. If a variable cannot + be resolved, the reference in the input string will be + unchanged. The $(VAR_NAME) syntax can be escaped with + a double $$, ie: $$(VAR_NAME). Escaped references will + never be expanded, regardless of whether the variable + exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to set in the + container. + items: + properties: + name: + description: Required. Name of the environment variable. + Must be a C_IDENTIFIER, and mnay not exceed 32768 + characters. + type: string + value: + description: 'Variable references $(VAR_NAME) are + expanded using the previous defined environment + variables in the container and any route environment + variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. + The $(VAR_NAME) syntax can be escaped with a double + $$, ie: $$(VAR_NAME). Escaped references will never + be expanded, regardless of whether the variable + exists or not. Defaults to "", and the maximum length + is 32768 bytes.' + type: string + valueSource: + description: Source for the environment variable's + value. + properties: + secretKeyRef: + description: Selects a secret and a specific version + from Cloud Secret Manager. + properties: + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the + secret in Cloud Secret Manager. Format: + {secret_name} if the secret is in the + same project. projects/{project}/secrets/{secret_name} + if the secret is in a different project.' + 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 + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager + secret version. Can be 'latest' for + the latest value or an integer for a + specific version. + 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: + - secretRef + type: object + type: object + required: + - name + type: object + type: array + image: + description: 'Required. URL of the Container image in Google + Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images' + type: string + name: + description: Name of the container specified as a DNS_LABEL. + type: string + ports: + description: List of ports to expose from the container. + Only a single port can be specified. The specified ports + must be listening on all interfaces (0.0.0.0) within the + container to be accessible. If omitted, a port number + will be chosen and passed to the container through the + PORT environment variable for the container to listen + on. + items: + properties: + containerPort: + description: Port number the container listens on. + This must be a valid TCP port number, 0 < container_port + < 65536. + format: int64 + type: integer + name: + description: If specified, used to specify which protocol + to use. Allowed values are "http1" and "h2c". + type: string + type: object + type: array + resources: + description: 'Compute Resource requirements by this container. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + cpuIdle: + description: Determines whether CPU should be throttled + or not outside of requests. + type: boolean + limits: + additionalProperties: + type: string + description: 'Only memory and CPU are supported. Note: + The only supported values for CPU are ''1'', ''2'', + and ''4''. Setting 4 CPU requires at least 2Gi of + memory. The values of the map is string form of the + ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + type: object + volumeMounts: + description: Volume to mount into the container's filesystem. + items: + properties: + mountPath: + description: Required. Path within the container at + which the volume should be mounted. Must not contain + ':'. For Cloud SQL volumes, it can be left empty, + or must otherwise be `/cloudsql`. All instances + defined in the Volume will be available as `/cloudsql/[instance]`. + For more information on Cloud SQL volumes, visit + https://cloud.google.com/sql/docs/mysql/connect-run + type: string + name: + description: Required. This must match the Name of + a Volume. + type: string + required: + - mountPath + - name + type: object + type: array + required: + - image + type: object + type: array + executionEnvironment: + description: 'The sandbox environment to host this Revision. Possible + values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_DEFAULT, + EXECUTION_ENVIRONMENT_GEN2' + type: string + labels: + additionalProperties: + type: string + description: KRM-style labels for the resource. + type: object + revision: + description: The unique name for the revision. If this field is + omitted, it will be automatically generated based on the Service + name. + type: string + scaling: + description: Scaling settings for this Revision. + properties: + maxInstanceCount: + description: Maximum number of serving instances that this + resource should have. + format: int64 + type: integer + minInstanceCount: + description: Minimum number of serving instances that this + resource should have. + format: int64 + type: integer + type: object + serviceAccountRef: oneOf: - not: required: @@ -51680,7 +54995,11 @@ spec: - external properties: external: - description: The number of a Project. + description: Email address of the IAM service account associated + with the revision of the service. The service account represents + the identity of the running revision, and determines what + permissions the revision has. If not provided, the revision + will use the project's default service account. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51689,32 +55008,249 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + timeout: + description: Max allowed time for an instance to respond to a + request. + type: string + volumes: + description: A list of Volumes to make available to containers. + items: + properties: + cloudSqlInstance: + description: For Cloud SQL volumes, contains the specific + instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run + for more information on how to connect Cloud SQL and Cloud + Run. + properties: + connections: + 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 + type: object + name: + description: Required. Volume's name. + type: string + secret: + description: 'Secret represents a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + properties: + defaultMode: + description: 'Integer representation of mode bits to + use on created files by default. Must be a value between + 0000 and 0777 (octal), defaulting to 0644. Directories + within the path are not affected by this setting. + Notes * Internally, a umask of 0222 will be applied + to any non-zero value. * This is an integer representation + of the mode bits. So, the octal integer value should + look exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod 640 + (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) + or 493 (base-10). * This might be in conflict with + other options that affect the file mode, like fsGroup, + and the result can be other mode bits set. This might + be in conflict with other options that affect the + file mode, like fsGroup, and as a result, other mode + bits could be set.' + format: int64 + type: integer + items: + description: If unspecified, the volume will expose + a file whose name is the secret, relative to VolumeMount.mount_path. + If specified, the key will be used as the version + to fetch from Cloud Secret Manager and the path will + be the name of the file exposed in the volume. When + items are defined, they must specify a path and a + version. + items: + properties: + mode: + description: 'Integer octal mode bits to use on + this file, must be a value between 01 and 0777 + (octal). If 0 or not set, the Volume''s default + mode will be used. Notes * Internally, a umask + of 0222 will be applied to any non-zero value. + * This is an integer representation of the mode + bits. So, the octal integer value should look + exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod + 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 + (octal) or 493 (base-10). * This might be in + conflict with other options that affect the + file mode, like fsGroup, and the result can + be other mode bits set.' + format: int64 + type: integer + path: + description: Required. The relative path of the + secret in the container. + type: string + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager secret + version. Can be 'latest' for the latest + value or an integer for a specific version. + 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: + - path + type: object + type: array + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the secret in + Cloud Secret Manager. Format: {secret} if the + secret is in the same project. projects/{project}/secrets/{secret} + if the secret is in a different project.' + 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: + - secretRef + type: object + required: + - name + type: object + type: array + vpcAccess: + description: VPC Access configuration to use for this Revision. + For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. + properties: + connectorRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}' + 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 + egress: + description: 'Traffic VPC egress settings. Possible values: + VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY' + type: string + type: object type: object - reason: - description: |- - Immutable. Concise user-visible strings indicating why an action cannot be performed - on a resource. Maximum length of 200 characters. - type: string - resourceID: - description: Immutable. Optional. The service-generated name of the - resource. Used for acquisition only. Leave unset to create a new - resource. - type: string - restrictions: - description: |- - Immutable. The types of operations which should be blocked as a result of this Lien. - Each value should correspond to an IAM permission. The server will validate - the permissions against those for which Liens are supported. An empty - list is meaningless and will be rejected. - e.g. ['resourcemanager.projects.delete']. + traffic: + description: Specifies how to distribute traffic over a collection + of Revisions belonging to the Service. If traffic is empty or not + provided, defaults to 100% traffic to the latest `Ready` Revision. items: - type: string + properties: + percent: + description: Specifies percent of the traffic to this Revision. + This defaults to zero if unspecified. Cloud Run currently + requires 100 percent for a single TrafficTarget entry. + format: int64 + type: integer + revision: + description: Revision to which to send this portion of traffic, + if traffic allocation is by revision. + type: string + tag: + description: Indicates a string to be part of the URI to exclusively + reference this target. + type: string + type: + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + type: object type: array required: - - origin - - parent - - reason - - restrictions + - location + - projectRef + - template type: object status: properties: @@ -51745,10 +55281,57 @@ spec: type: object type: array createTime: - description: Time of creation. + description: Output only. The creation time. + format: date-time type: string - name: - description: A system-generated unique identifier for this Lien. + creator: + description: Output only. Email address of the authenticated creator. + type: string + deleteTime: + description: Output only. The deletion time. + format: date-time + type: string + etag: + description: Output only. A system-generated fingerprint for this + version of the resource. May be used to detect modification conflict + during updates. + type: string + expireTime: + description: Output only. For a deleted resource, the time after which + it will be permamently deleted. + format: date-time + type: string + generation: + description: Output only. A number that monotonically increases every + time the user modifies the desired state. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Map of string keys and values that can be used to organize + and categorize objects. User-provided labels are shared with Google's + billing system, so they can be used to filter, or break down billing + charges by team, component, environment, state, etc. For more information, + visit https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels Cloud Run + will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' + namespaces. Those labels are read-only, and user changes will not + be preserved. + type: object + lastModifier: + description: Output only. Email address of the last authenticated + modifier. + type: string + latestCreatedRevision: + description: Output only. Name of the last created revision. See comments + in `reconciling` for additional information on reconciliation process + in Cloud Run. + type: string + latestReadyRevision: + description: Output only. Name of the latest revision that is serving + traffic. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51757,285 +55340,129 @@ spec: current reported status reflects the most recent desired state of the resource. 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.69.0 - creationTimestamp: null - labels: - cnrm.cloud.google.com/managed-by-kcc: "true" - cnrm.cloud.google.com/stability-level: stable - cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com -spec: - group: resourcemanager.cnrm.cloud.google.com - names: - categories: - - gcp - kind: ResourceManagerPolicy - plural: resourcemanagerpolicies - shortNames: - - gcpresourcemanagerpolicy - - gcpresourcemanagerpolicies - singular: resourcemanagerpolicy - 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: - booleanPolicy: - description: A boolean policy is a constraint that is either enforced - or not. - properties: - enforced: - description: If true, then the Policy is enforced. If false, then - any configuration is acceptable. - type: boolean - required: - - enforced - type: object - constraint: - description: Immutable. The name of the Constraint the Policy is configuring, - for example, serviceuser.services. - type: string - folderRef: - description: |- - The folder on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Folder. - 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 - listPolicy: - description: A policy that can define specific values that are allowed - or denied for the given constraint. It can also be used to allow - or deny all values. . - properties: - allow: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - deny: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - inheritFromParent: - description: If set to true, the values from the effective Policy - of the parent resource are inherited, meaning the values set - in this Policy are added to the values inherited up the hierarchy. - type: boolean - suggestedValue: - description: The Google Cloud Console will try to default to a - configuration that matches the value specified in this field. - type: string - type: object - organizationRef: - description: |- - The organization on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of an Organization. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + reconciling: + description: 'Output only. Returns true if the Service is currently + being acted upon by the system to bring it into the desired state. + When a new Service is created, or an existing one is updated, Cloud + Run will asynchronously perform all necessary steps to bring the + Service to the desired serving state. This process is called reconciliation. + While reconciliation is in process, `observed_generation`, `latest_ready_revison`, + `traffic_statuses`, and `uri` will have transient values that might + mismatch the intended state: Once reconciliation is over (and this + field is false), there are two possible outcomes: reconciliation + succeeded and the serving state matches the Service, or there was + an error, and reconciliation failed. This state can be found in + `terminal_condition.state`. If reconciliation succeeded, the following + fields will match: `traffic` and `traffic_statuses`, `observed_generation` + and `generation`, `latest_ready_revision` and `latest_created_revision`. + If reconciliation failed, `traffic_statuses`, `observed_generation`, + and `latest_ready_revision` will have the state of the last serving + revision, or empty for newly created Services. Additional information + on the failure can be found in `terminal_condition` and `conditions`.' + type: boolean + terminalCondition: + description: Output only. The Condition of this Service, containing + its readiness status, and detailed error information in case it + did not reach a serving state. See comments in `reconciling` for + additional information on reconciliation process in Cloud Run. + properties: + domainMappingReason: + description: 'A reason for the domain mapping condition. Possible + values: DOMAIN_MAPPING_REASON_UNDEFINED, ROUTE_NOT_READY, PERMISSION_DENIED, + CERTIFICATE_ALREADY_EXISTS, MAPPING_ALREADY_EXISTS, CERTIFICATE_PENDING, + CERTIFICATE_FAILED' + type: string + internalReason: + description: 'A reason for the internal condition. Possible values: + INTERNAL_REASON_UNDEFINED, CONFLICTING_REVISION_NAME, REVISION_MISSING, + CONFIGURATION_MISSING, ASSIGNING_TRAFFIC, UPDATING_INGRESS_TRAFFIC_ALLOWED, + REVISION_ORG_POLICY_VIOLATION, ENABLING_GCFV2_URI_SUPPORT' + type: string + jobReason: + description: 'A reason for the job condition. Possible values: + JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR' + type: string + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + message: + description: Human readable message indicating details about the + current status. + type: string + reason: + description: 'A common (service-level) reason for this condition. + Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, ROUTE_MISSING, + REVISION_FAILED, PROGRESS_DEADLINE_EXCEEDED, BUILD_STEP_FAILED, + CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED, CONTAINER_IMAGE_UNAUTHORIZED, + CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED, ENCRYPTION_KEY_PERMISSION_DENIED, + ENCRYPTION_KEY_CHECK_FAILED, SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, + IMMEDIATE_RETRY, POSTPONED_RETRY' + type: string + revisionReason: + description: 'A reason for the revision condition. Possible values: + REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING, + RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING, + MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED, + NO_DEPLOYMENT' type: string - type: object - projectRef: - description: |- - The project on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Project. + severity: + description: 'How to interpret failures of this condition, one + of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED, + ERROR, WARNING, INFO' type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + state: + description: 'State of the condition. Possible values: STATE_UNSPECIFIED, + CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED, + CONDITION_SUCCEEDED' type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: + description: 'type is used to communicate the status of the reconciliation + process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting + Types common to all resources include: * "Ready": True when + the Resource is ready.' type: string type: object - restorePolicy: - description: A restore policy is a constraint to restore the default - policy. - properties: - default: - description: May only be set to true. If set, then the default - Policy is restored. - type: boolean - required: - - default - type: object - version: - description: Version of the Policy. Default version is 0. - type: integer - required: - - constraint - type: object - status: - properties: - conditions: - description: Conditions represent the latest available observation - of the resource's current state. + trafficStatuses: + description: Output only. Detailed status information for corresponding + traffic targets. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. 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. + percent: + description: Specifies percent of the traffic to this Revision. + format: int64 + type: integer + revision: + description: Revision to which this traffic is sent. 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. + tag: + description: Indicates the string used in the URI to exclusively + reference this target. type: string type: - description: Type is the type of the condition. + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + uri: + description: Displays the target URI. type: string type: object type: array - etag: - description: The etag of the organization policy. etag is used for - optimistic concurrency control as a way to help prevent simultaneous - updates of a policy from overwriting each other. + uid: + description: Output only. Server assigned unique identifier for the + trigger. The value is a UUID4 string and guaranteed to remain unchanged + until the resource is deleted. 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 updateTime: - description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate - to nanoseconds, representing when the variable was last updated. - Example: "2016-10-09T12:33:37.578138407Z".' + description: Output only. The last-modified time. + format: date-time + type: string + uri: + description: Output only. The main URI in which this Service is serving + traffic. type: string type: object required: @@ -52056,7 +55483,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52227,7 +55654,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -52307,7 +55735,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52506,7 +55934,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52682,7 +56110,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52823,7 +56251,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53020,7 +56448,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53212,7 +56640,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53352,7 +56780,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53515,7 +56943,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53572,6 +57000,7 @@ spec: spec: properties: databaseVersion: + default: MYSQL_5_6 description: Immutable. The MySQL, PostgreSQL or SQL Server (beta) version to use. Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, @@ -53775,14 +57204,9 @@ spec: Can be either ALWAYS, NEVER or ON_DEMAND. type: string authorizedGaeApplications: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - https://cloud.google.com/sql/docs/mysql/deprecation-notice for - information on how to upgrade to Second Generation instances. - A list of Google App Engine project names that are allowed to - access this instance. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. items: type: string type: array @@ -53833,13 +57257,9 @@ spec: description: The name of server instance collation. type: string crashSafeReplication: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Specific to read instances, indicates when crash-safe - replication flags are enabled. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: boolean databaseFlags: items: @@ -53966,13 +57386,9 @@ spec: description: Pricing plan for this instance, can only be PER_USE. type: string replicationType: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Replication type for this instance, can be one of - ASYNCHRONOUS or SYNCHRONOUS. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: string tier: description: The machine type to use. See tiers for more details @@ -54087,7 +57503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54262,7 +57678,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54457,7 +57873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54626,7 +58042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54683,9 +58099,9 @@ spec: spec: properties: bucketPolicyOnly: - description: DEPRECATED — Please use the uniform_bucket_level_access - as this field has been renamed by Google. Enables Bucket Policy - Only access to a bucket. + description: |- + DEPRECATED — Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field. + Enables Bucket PolicyOnly access to a bucket. type: boolean cors: description: The bucket's Cross-Origin Resource Sharing (CORS) configuration. @@ -54823,6 +58239,7 @@ spec: type: object type: array location: + default: US description: Immutable. The Google Cloud Storage location. type: string logging: @@ -54952,7 +58369,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55137,7 +58554,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55264,7 +58681,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -55338,7 +58756,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55863,7 +59281,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml b/install-bundles/install-bundle-namespaced/0-cnrm-system.yaml index 19141754a9..e4a5ff75f9 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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -142,6 +142,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -166,7 +167,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -216,7 +217,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -274,7 +275,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -299,7 +300,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -329,7 +330,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -373,6 +374,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -393,7 +395,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -456,7 +458,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -474,7 +476,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -492,7 +494,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -512,7 +514,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -529,7 +531,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -546,7 +548,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -563,7 +565,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -580,7 +582,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -601,7 +603,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -619,7 +621,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -632,8 +634,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.69.0 - image: gcr.io/cnrm-eap/recorder:c3120b9 + value: 1.70.0 + image: gcr.io/cnrm-eap/recorder:1d69b12 imagePullPolicy: Always name: recorder ports: @@ -665,7 +667,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -680,7 +682,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -693,7 +695,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:c3120b9 + image: gcr.io/cnrm-eap/webhook:1d69b12 imagePullPolicy: Always name: webhook ports: @@ -721,7 +723,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -736,7 +738,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -744,7 +746,7 @@ spec: containers: - command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:c3120b9 + image: gcr.io/cnrm-eap/deletiondefender:1d69b12 imagePullPolicy: Always name: deletiondefender ports: @@ -772,7 +774,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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 dd42b874e2..1236674773 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -92,7 +92,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -225,7 +226,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -396,7 +398,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +528,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -602,7 +604,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -673,7 +676,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -723,7 +727,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -813,7 +818,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -871,7 +877,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -923,7 +930,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -957,7 +965,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1040,7 +1049,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1079,7 +1089,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1152,7 +1163,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1202,7 +1214,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1292,7 +1305,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1350,7 +1364,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1402,7 +1417,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -1436,7 +1452,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1519,7 +1536,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1558,7 +1576,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1678,7 +1697,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1856,7 +1875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2176,7 +2195,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3002,7 +3021,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3441,7 +3460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3610,7 +3629,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3813,7 +3832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4009,7 +4028,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4170,7 +4189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4436,7 +4455,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4856,7 +4875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5649,7 +5668,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "projects/{{project}}/serviceAccounts/{{value}}", + where {{value}} is 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' @@ -5834,7 +5854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6028,7 +6048,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6269,7 +6289,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6811,7 +6831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7062,7 +7082,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7287,7 +7307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8324,7 +8344,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8932,7 +8952,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9078,7 +9098,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9193,8 +9213,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -9295,7 +9316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9577,7 +9598,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9710,7 +9731,8 @@ spec: Immutable. Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify - sourceRanges OR sourceTags. Possible values: ["INGRESS", "EGRESS"]. + 'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]. type: string disabled: description: |- @@ -9951,7 +9973,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10577,7 +10599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11041,7 +11063,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11202,7 +11224,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11363,7 +11385,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11639,7 +11661,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -12381,7 +12403,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12582,7 +12604,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13165,6 +13187,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -13451,7 +13478,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13914,6 +13941,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -14170,7 +14202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14494,7 +14526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14695,7 +14727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14888,7 +14920,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15038,7 +15070,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15246,7 +15278,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15427,7 +15459,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -15812,7 +15844,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15930,7 +15962,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16144,7 +16176,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16442,7 +16474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16649,7 +16681,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16976,7 +17008,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17081,6 +17113,42 @@ spec: Where there is more than one matching route of maximum length, the routes with the lowest priority value win. type: integer + bfd: + description: BFD configuration for the BGP peering. + properties: + minReceiveInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + received from the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the transmit interval of the other router. If set, this value + must be between 1000 and 30000. + type: integer + minTransmitInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + transmitted to the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the corresponding receive interval of the other router. If set, + this value must be between 1000 and 30000. + type: integer + multiplier: + description: |- + The number of consecutive BFD packets that must be missed before + BFD declares that a peer is unavailable. If set, the value must + be a value between 5 and 16. + type: integer + sessionInitializationMode: + description: |- + The BFD session initialization mode for this BGP peer. + If set to 'ACTIVE', the Cloud Router will initiate the BFD session + for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait + for the peer router to initiate the BFD session for this BGP peer. + If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]. + type: string + required: + - sessionInitializationMode + type: object enable: description: |- The status of the BGP peer connection. If set to false, any active session @@ -17244,7 +17312,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17459,7 +17527,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17734,7 +17802,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17951,7 +18019,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -18286,7 +18354,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18392,7 +18460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18531,7 +18599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18881,11 +18949,6 @@ spec: snapshotId: description: The unique identifier for the resource. type: integer - sourceDiskLink: - description: DEPRECATED — Deprecated in favor of source_disk, which - contains a compatible value. This field will be removed in the next - major release of the provider. - type: string storageBytes: description: |- A size of the storage used by the snapshot. As snapshots share @@ -18911,7 +18974,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19126,7 +19189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19289,7 +19352,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19578,7 +19641,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19755,7 +19818,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19923,7 +19986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20163,7 +20226,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20357,7 +20420,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20580,7 +20643,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20805,7 +20868,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20971,7 +21034,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -21131,7 +21194,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23826,7 +23889,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24023,7 +24086,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24390,7 +24453,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -24626,7 +24689,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25214,7 +25277,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25581,6 +25644,7 @@ spec: type: boolean enableShieldedNodes: description: Enable Shielded Nodes features on all nodes in this cluster. + Defaults to true. type: boolean enableTpu: description: Immutable. Whether to enable Cloud TPU resources in this @@ -25707,8 +25771,8 @@ spec: cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials - for your GKE cluster. If you see an unexpected diff removing a username/password - or unsetting your client cert, ensure you have the container.clusters.getCredentials + for your GKE cluster. If you see an unexpected diff unsetting your + client cert, ensure you have the container.clusters.getCredentials permission. properties: clientCertificate: @@ -25920,6 +25984,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26136,7 +26209,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -26309,9 +26383,9 @@ spec: in GCP IAM policies. properties: identityNamespace: - description: DEPRECATED — This field will be removed in a future - major release as it has been deprecated in the API. Use `workload_pool` - instead. Enables workload identity. + description: |- + DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field. + Enables workload identity. type: string workloadPool: description: The workload pool to attach all Kubernetes service @@ -26352,13 +26426,6 @@ spec: endpoint: description: The IP address of this cluster's Kubernetes master. type: string - instanceGroupUrls: - description: DEPRECATED — Please use node_pool.instance_group_urls - instead. List of instance group URLs which have been assigned to - the cluster. - items: - type: string - type: array labelFingerprint: description: The fingerprint of the set of labels for this cluster. type: string @@ -26407,7 +26474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -26608,6 +26675,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26866,6 +26942,12 @@ spec: items: type: string type: array + managedInstanceGroupUrls: + description: List of instance group URLs which have been assigned + to this node pool. + items: + type: string + type: array observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -26894,7 +26976,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27020,7 +27102,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27302,7 +27384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27581,7 +27663,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27873,7 +27955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29096,7 +29178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31011,7 +31093,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31337,7 +31419,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31532,7 +31614,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31687,7 +31769,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31904,7 +31986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32225,7 +32307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32379,7 +32461,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32590,7 +32672,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32728,7 +32810,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33056,7 +33138,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33291,7 +33373,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33655,7 +33737,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33720,7 +33802,6 @@ spec: of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -33817,7 +33898,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33957,7 +34038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34045,7 +34126,6 @@ spec: member: description: The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: The IAM identity to be bound to the role. @@ -34255,7 +34335,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34326,7 +34406,6 @@ spec: this type of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -34376,7 +34455,6 @@ spec: description: Optional. The list of IAM users to be bound to the role. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array role: @@ -34485,7 +34563,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34562,7 +34640,6 @@ spec: member: description: Immutable. The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: Immutable. The IAM identity to be bound to the role. @@ -34700,7 +34777,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34878,7 +34955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35015,7 +35092,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35304,7 +35381,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35468,7 +35545,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35592,7 +35669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35742,7 +35819,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35925,7 +36002,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36138,7 +36215,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36291,7 +36368,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36415,9 +36492,9 @@ spec: See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. type: string protectionLevel: - description: 'Immutable. The protection level to use when creating - a version based on this template. Default value: "SOFTWARE" - Possible values: ["SOFTWARE", "HSM"].' + description: Immutable. The protection level to use when creating + a version based on this template. Possible values include "SOFTWARE", + "HSM", "EXTERNAL". Defaults to "SOFTWARE". type: string required: - algorithm @@ -36461,10 +36538,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36485,7 +36559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36590,10 +36664,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36614,7 +36685,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36702,9 +36773,9 @@ spec: description: The ID of a BillingAccount in format billingAccounts/{billingaccount_id}. type: string name: - description: '[WARNING] BillingAccount is not yet supported in - Config Connector, use ''external'' field to reference existing - resources.' + description: |- + [WARNING] BillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36776,8 +36847,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36884,7 +36956,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36983,7 +37055,8 @@ spec: - external properties: external: - description: The name of a BigQueryDataset. + description: A string of the format "bigquery.googleapis.com/projects/{{project}}/datasets/{{value}}", + where {{value}} is the name of a BigQueryDataset. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37009,7 +37082,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "pubsub.googleapis.com/projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37035,7 +37109,8 @@ spec: - external properties: external: - description: The name of a StorageBucket. + description: A string of the format "storage.googleapis.com/{{value}}", + where {{value}} is the name of a StorageBucket. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37249,7 +37324,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -37347,7 +37422,8 @@ spec: - external properties: external: - description: The name of a ComputeNetwork. + description: A string of the format "projects/{{project}}/global/networks/{{value}}", + where {{value}} is the name of a ComputeNetwork. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37483,7 +37559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -38244,7 +38320,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44962,7 +45038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45149,7 +45225,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45437,7 +45513,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45730,7 +45806,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46294,7 +46370,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46450,7 +46526,378 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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: monitoringuptimecheckconfigs.monitoring.cnrm.cloud.google.com +spec: + group: monitoring.cnrm.cloud.google.com + names: + categories: + - gcp + kind: MonitoringUptimeCheckConfig + plural: monitoringuptimecheckconfigs + shortNames: + - gcpmonitoringuptimecheckconfig + - gcpmonitoringuptimecheckconfigs + singular: monitoringuptimecheckconfig + 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: + contentMatchers: + description: The content that is expected to appear in the data returned + by the target server against which the check is run. Currently, + only the first entry in the `content_matchers` list is supported, + and additional entries will be ignored. This field is optional and + should only be specified if a content match is required as part + of the/ Uptime check. + items: + properties: + content: + type: string + matcher: + description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, + CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX' + type: string + required: + - content + type: object + type: array + displayName: + description: A human-friendly name for the Uptime check configuration. + The display name should be unique within a Stackdriver Workspace + in order to make it easier to identify; however, uniqueness is not + enforced. Required. + type: string + httpCheck: + description: Contains information needed to make an HTTP or HTTPS + check. + properties: + authInfo: + description: The authentication information. Optional when creating + an HTTP check; defaults to empty. + properties: + password: + oneOf: + - not: + required: + - valueFrom + required: + - value + - not: + required: + - value + required: + - valueFrom + properties: + value: + description: Value of the field. Cannot be used if 'valueFrom' + is specified. + type: string + valueFrom: + description: Source for the field's value. Cannot be used + if 'value' is specified. + properties: + secretKeyRef: + description: Reference to a value with the given key + in the given Secret in the resource's namespace. + properties: + key: + description: Key that identifies the value to + be extracted. + type: string + name: + description: Name of the Secret to extract a value + from. + type: string + required: + - name + - key + type: object + type: object + type: object + username: + type: string + required: + - password + - username + type: object + body: + description: 'The request body associated with the HTTP POST request. + If `content_type` is `URL_ENCODED`, the body passed in must + be URL-encoded. Users can provide a `Content-Length` header + via the `headers` field or the API will do so. If the `request_method` + is `GET` and `body` is not empty, the API will return an error. + The maximum byte size is 1 megabyte. Note: As with all `bytes` + fields JSON representations are base64 encoded. e.g.: "foo=bar" + in URL-encoded form is "foo%3Dbar" and in base64 encoding is + "Zm9vJTI1M0RiYXI=".' + type: string + contentType: + description: 'The content type to use for the check. Possible + values: TYPE_UNSPECIFIED, URL_ENCODED' + type: string + headers: + additionalProperties: + type: string + description: The list of headers to send as part of the Uptime + check request. If two headers have the same key and different + values, they should be entered as a single header, with the + value being a comma-separated list of all the desired values + as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt + (page 31). Entering two separate headers with the same key in + a Create call will cause the first to be overwritten by the + second. The maximum number of headers allowed is 100. + type: object + maskHeaders: + description: Boolean specifying whether to encrypt the header + information. Encryption should be specified for any headers + related to authentication that you do not wish to be seen when + retrieving the configuration. The server will be responsible + for encrypting the headers. On Get/List calls, if `mask_headers` + is set to `true` then the headers will be obscured with `******.` + type: boolean + path: + description: Optional (defaults to "/"). The path to the page + against which to run the check. Will be combined with the `host` + (specified within the `monitored_resource`) and `port` to construct + the full URL. If the provided path does not begin with "/", + a "/" will be prepended automatically. + type: string + port: + description: Optional (defaults to 80 when `use_ssl` is `false`, + and 443 when `use_ssl` is `true`). The TCP port on the HTTP + server against which to run the check. Will be combined with + host (specified within the `monitored_resource`) and `path` + to construct the full URL. + format: int64 + type: integer + requestMethod: + description: The HTTP request method to use for the check. If + set to `METHOD_UNSPECIFIED` then `request_method` defaults to + `GET`. + type: string + useSsl: + description: If `true`, use HTTPS instead of HTTP to run the check. + type: boolean + validateSsl: + description: Boolean specifying whether to include SSL certificate + validation as a part of the Uptime check. Only applies to checks + where `monitored_resource` is set to `uptime_url`. If `use_ssl` + is `false`, setting `validate_ssl` to `true` has no effect. + type: boolean + type: object + monitoredResource: + description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources) + associated with the configuration. The following monitored resource + types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`' + properties: + filterLabels: + additionalProperties: + type: string + type: object + type: + type: string + required: + - filterLabels + - type + type: object + period: + description: How often, in seconds, the Uptime check is performed. + Currently, the only supported values are `60s` (1 minute), `300s` + (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, + defaults to `60s`. + 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 this uptime check config. + 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 + resourceGroup: + description: The group resource associated with the configuration. + properties: + groupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The group of resources being monitored. Should + be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`. + 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 + resourceType: + description: 'The resource type of the group members. Possible + values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER' + type: string + type: object + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + selectedRegions: + description: The list of regions from which the check will be run. + Some regions contain one location, and others contain more than + one. If this field is specified, enough regions must be provided + to include a minimum of 3 locations. Not specifying this field + will result in Uptime checks running from all available regions. + items: + type: string + type: array + tcpCheck: + description: Contains information needed to make a TCP check. + properties: + port: + description: The TCP port on the server against which to run the + check. Will be combined with host (specified within the `monitored_resource`) + to construct the full URL. Required. + format: int64 + type: integer + required: + - port + type: object + timeout: + description: The maximum amount of time to wait for the request to + complete (must be between 1 and 60 seconds). Required. + type: string + required: + - displayName + - projectRef + - timeout + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46629,7 +47076,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46884,7 +47331,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47110,7 +47557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47351,7 +47798,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47677,7 +48124,2089 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgateways.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGateway + plural: networkservicesgateways + shortNames: + - gcpnetworkservicesgateway + - gcpnetworkservicesgateways + singular: networkservicesgateway + 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: + addresses: + description: One or more addresses with ports in format of ":" that + the Gateway must receive traffic on. The proxy binds to the ports + specified. IP address can be anything that is allowed by the underlying + infrastructure (auto-allocation, static IP, BYOIP). + items: + type: string + type: array + authorizationPolicy: + description: Optional. A fully-qualified AuthorizationPolicy URL reference. + Specifies how traffic is authorized. If empty, authorization checks + are disabled. + type: string + description: + description: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Gateway + resource. + type: object + location: + description: The location for the resource + type: string + ports: + description: Required. One or more ports that the Gateway must receive + traffic on. The proxy binds to the ports specified. Gateway listen + on 0.0.0.0 on the ports specified below. + items: + format: int64 + type: integer + 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 + scope: + description: Required. Immutable. Scope determines how configuration + across multiple Gateway instances are merged. The configuration + for multiple Gateway instances with the same scope will be merged + as presented as a single coniguration to the proxy/load balancer. + Max length 64 characters. Scope should start with a letter and can + only have letters, numbers, hyphens. + type: string + serverTlsPolicy: + description: Optional. A fully-qualified ServerTLSPolicy URL reference. + Specifies how TLS traffic is terminated. If empty, TLS termination + is disabled. + type: string + type: + description: 'Immutable. The type of the customer managed gateway. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - ports + - projectRef + - scope + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgrpcroutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGRPCRoute + plural: networkservicesgrpcroutes + shortNames: + - gcpnetworkservicesgrpcroute + - gcpnetworkservicesgrpcroutes + singular: networkservicesgrpcroute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: 'Required. Service hostnames with an optional port for + which this route describes traffic. Format: [:] Hostname is the + fully qualified domain name of a network host. This matches the + RFC 1123 definition of a hostname with 2 notable exceptions: - IPs + are not allowed. - A hostname may be prefixed with a wildcard label + (*.). The wildcard label must appear by itself as the first label. + Hostname can be “precise” which is a domain name without the terminating + dot of a network host (e.g. “foo.example.com”) or “wildcard”, which + is a domain name prefixed with a single wildcard label (e.g. *.example.com). + Note that as per RFC1035 and RFC1123, a label must consist of lower + case alphanumeric characters or ‘-’, and must start and end with + an alphanumeric character. No other punctuation is allowed. The + routes associated with a Router must have unique hostnames. If you + attempt to attach multiple routes with conflicting hostnames, the + configuration will be rejected. For example, while it is acceptable + for routes for the hostnames "*.foo.bar.com" and "*.bar.com" to + be associated with the same route, it is not possible to associate + two routes both with "*.bar.com" or both with "bar.com". In the + case that multiple routes match the hostname, the most specific + match will be selected. For example, "foo.bar.baz.com" will take + precedence over "*.bar.baz.com" and "*.bar.baz.com" will take precedence + over "*.baz.com". If a port is specified, then gRPC clients must + use the channel URI with the port to match this rule (i.e. "xds:///service:123"), + otherwise they must supply the URI without a port (i.e. "xds:///service").' + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the GrpcRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this GrpcRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/`' + items: + type: string + type: array + rules: + description: Required. A list of detailed rules defining how to route + traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated + with the first matching GrpcRoute.RouteRule will be executed. At + least one rule must be supplied. + items: + properties: + action: + description: Required. A detailed rule defining how to route + traffic. This field is required. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. If multiple destinations + are specified, traffic will be split between Backend Service(s) + according to the weight field of these destinations. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + faultInjectionPolicy: + description: Optional. The specification for fault injection + introduced into traffic to test the resiliency of clients + to destination service failure. As part of fault injection, + when clients send requests to a destination, delays can + be introduced on a percentage of requests before sending + those requests to the destination service. Similarly requests + from clients can be aborted by for a percentage of requests. + timeout and retry_policy will be ignored by clients that + are configured with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + requestHeaderModifier: + description: Optional. The specification for modifying the + headers of a matching request prior to delivery of the + request to the destination. Cannot be set if the route + is attached to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Optional. Specifies the policy on how requests + intended for the route's destination are mirrored to a + separate mirrored destination. The proxy will not wait + for the mirrored destination to respond before returning + the response. Prior to sending traffic to the mirrored + service, the host / authority header is suffixed with + -shadow. Cannot be set if the route is attached to a Router + whose type is PROXYLESS_GRPC. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion + of requests forwarded to the backend referenced + by the serviceName field. This is computed as: + weight/Sum(weights in this destination list). + For non-zero values, there may be some epsilon + from the exact proportion defined here depending + on the precision an implementation supports. If + only one serviceName is specified and it has a + weight greater than 0, 100% of the traffic is + forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in + equal proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: object + responseHeaderModifier: + description: Optional. The specification for modifying the + headers of a response prior to sending the response back + to the client. Cannot be set if the route is attached + to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Optional. Specifies the retry policy associated + with this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specpfied, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: If not specified, will use the timeout + set in the RouteAction. If timeout is not set in the + RouteAction, will use the largest timeout among all + Backend Services associated with the route. + type: string + retryConditions: + description: '- connect-failure: Router will retry on + failures connecting to Backend Services, for example + due to connection timeouts. - refused-stream: Router + will retry if the backend service resets the stream + with a REFUSED_STREAM error code. This reset type + indicates that it is safe to retry. - cancelled: Router + will retry if the gRPC status code in the response + header is set to cancelled - deadline-exceeded: Router + will retry if the gRPC status code in the response + header is set to deadline-exceeded - resource-exhausted: + Router will retry if the gRPC status code in the response + header is set to resource-exhausted - unavailable: + Router will retry if the gRPC status code in the response + header is set to unavailable' + items: + type: string + type: array + type: object + timeout: + description: Optional. Specifies the timeout for selected + route. Timeout is computed from the time the request has + been fully processed (i.e. end of stream) up until the + response has been completely processed. Timeout includes + all retries. + type: string + urlRewrite: + description: Optional. The specification for rewrite URL + before forwarding requests to the destination. Cannot + be set if the route is attached to a Router whose type + is PROXYLESS_GRPC. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: Optional. Matches define conditions used for matching + the rule against incoming gRPC requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. If no matches field is specified, this rule will + unconditionally match traffic. + items: + properties: + headers: + description: Optional. Specifies a collection of headers + to match. + items: + properties: + key: + description: Required. The key of the header. + type: string + type: + description: 'Optional. Specifies how to match against + the value of the header. If not specified, a default + value of EXACT is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + value: + description: Required. The value of the header. + type: string + required: + - key + - value + type: object + type: array + method: + description: Optional. A gRPC method to match against. + If this field is empty or omitted, will match all methods. + properties: + caseSensitive: + description: Optional. Specifies that matches are + case sensitive. The default value is true. case_sensitive + must not be used with a type of REGULAR_EXPRESSION. + type: boolean + grpcMethod: + description: Required. Name of the method to match + against. If unspecified, will match all methods. + type: string + grpcService: + description: Required. Name of the service to match + against. If unspecified, will match all services. + type: string + type: + description: 'Optional. Specifies how to match against + the name. If not specified, a default value of "EXACT" + is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + required: + - grpcMethod + - grpcService + type: object + type: object + type: array + required: + - action + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkserviceshttproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesHTTPRoute + plural: networkserviceshttproutes + shortNames: + - gcpnetworkserviceshttproute + - gcpnetworkserviceshttproutes + singular: networkserviceshttproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: Required. Hostnames define a set of hosts that should + match against the HTTP host header to select a HttpRoute to process + the request. Hostname is the fully qualified domain name of a network + host, as defined by RFC 1123 with the exception that ip addresses + are not allowed. Wildcard hosts are supported as "*" (no prefix + or suffix allowed). + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the HttpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this HttpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. + items: + properties: + action: + description: The detailed rule defining how to route matched + traffic. + properties: + corsPolicy: + description: The specification for allowing client side + cross-origin requests. + properties: + allowCredentials: + description: In response to a preflight request, setting + this to true indicates that the actual request can + include user credentials. This translates to the Access-Control-Allow-Credentials + header. Default value is false. + type: boolean + allowHeaders: + description: Specifies the content for Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression patterns + that match allowed origins. For regular expression + grammar, please see https://github.com/google/re2/wiki/Syntax. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that will + be allowed to do CORS requests. An origin is allowed + if it matches either an item in allow_origins or an + item in allow_origin_regexes. + items: + type: string + type: array + disabled: + description: If true, the CORS policy is disabled. The + default value is false, which indicates that the CORS + policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long result of a preflight + request can be cached in seconds. This translates + to the Access-Control-Max-Age header. + type: string + type: object + destinations: + description: The destination to which traffic should be + forwarded. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to route + traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights in + this destination list). For non-zero values, there + may be some epsilon from the exact proportion defined + here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection introduced + into traffic to test the resiliency of clients to backend + service failure. As part of fault injection, when clients + send requests to a backend service, delays can be introduced + on a percentage of requests before sending those requests + to the backend service. Similarly requests from clients + can be aborted for a percentage of requests. timeout and + retry_policy will be ignored by clients that are configured + with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + originalDestination: + description: If true, the matched traffic will use the destination + ip and port of the original connection (as it was not + processed by proxy) as the destination of the request. + Only one of destinations, redirect, original_destination + can be set. + type: boolean + redirect: + description: If set, the request is directed as configured + by this field. + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the + request. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL + scheme of the redirected request will remain the same + as that of the request. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the + request. path_redirect can not be supplied together + with prefix_redirect. Supply one alone or neither. + If neither is supplied, the path of the original request + will be used for the redirect. + type: string + portRedirect: + description: The port that will be used in the redirected + request instead of the one that was supplied in the + request. + format: int64 + type: integer + prefixRewrite: + description: Indicates that during redirection, the + matched prefix (or path) should be swapped with this + value. This option allows URLs be dynamically created + based on the request. + type: string + responseCode: + description: 'The HTTP Status code to use for the redirect. + Possible values: MOVED_PERMANENTLY_DEFAULT, FOUND, + SEE_OTHER, TEMPORARY_REDIRECT, PERMANENT_REDIRECT' + type: string + stripQuery: + description: if set to true, any accompanying query + portion of the original URL is removed prior to redirecting + the request. If set to false, the query portion of + the original URL is retained. The default is set to + false. + type: boolean + type: object + requestHeaderModifier: + description: The specification for modifying the headers + of a matching request prior to delivery of the request + to the destination. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Specifies the policy on how requests intended + for the routes destination are shadowed to a separate + mirrored destination. Proxy will not wait for the shadow + destination to respond before returning the response. + Prior to sending traffic to the shadow service, the host/authority + header is suffixed with -shadow. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to + route traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified + and it has a weight greater than 0, 100% of the + traffic is forwarded to that backend. If weights + are specified for any one service name, they need + to be specified for all of them. If weights are + unspecified for all services, then, traffic is + distributed in equal proportions to all of them.' + format: int64 + type: integer + type: object + type: object + responseHeaderModifier: + description: The specification for modifying the headers + of a response prior to sending the response back to the + client. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Specifies the retry policy associated with + this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specified, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout per retry + attempt. + type: string + retryConditions: + description: 'Specifies one or more conditions when + this retry policy applies. Valid values are: 5xx: + Proxy will attempt a retry if the destination service + responds with any 5xx response code, of if the destination + service does not respond at all, example: disconnect, + reset, read timeout, connection failure and refused + streams. gateway-error: Similar to 5xx, but only applies + to response codes 502, 503, 504. reset: Proxy will + attempt a retry if the destination service does not + respond at all (disconnect/reset/read timeout) connect-failure: + Proxy will retry on failures connecting to destination + for example due to connection timeouts. retriable-4xx: + Proxy will retry fro retriable 4xx response codes. + Currently the only retriable error supported is 409. + refused-stream: Proxy will retry if the destination + resets the stream with a REFUSED_STREAM error code. + This reset type indicates that it is safe to retry.' + items: + type: string + type: array + type: object + timeout: + description: Specifies the timeout for selected route. Timeout + is computed from the time the request has been fully processed + (i.e. end of stream) up until the response has been completely + processed. Timeout includes all retries. + type: string + urlRewrite: + description: The specification for rewrite URL before forwarding + requests to the destination. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: A list of matches define conditions used for matching + the rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. + items: + properties: + fullPathMatch: + description: The HTTP request path value should exactly + match this value. Only one of full_path_match, prefix_match, + or regex_match should be used. + type: string + headers: + description: Specifies a list of HTTP request headers + to match against. ALL of the supplied headers must be + matched. + items: + properties: + exactMatch: + description: The value of the header should match + exactly the content of exact_match. + type: string + header: + description: The name of the HTTP header to match + against. + type: string + invertMatch: + description: If specified, the match result will + be inverted before checking. Default value is + set to false. + type: boolean + prefixMatch: + description: The value of the header must start + with the contents of prefix_match. + type: string + presentMatch: + description: A header with header_name must exist. + The match takes place whether or not the header + has a value. + type: boolean + rangeMatch: + description: If specified, the rule will match if + the request header value is within the range. + properties: + end: + description: End of the range (exclusive) + format: int64 + type: integer + start: + description: Start of the range (inclusive) + format: int64 + type: integer + type: object + regexMatch: + description: 'The value of the header must match + the regular expression specified in regex_match. + For regular expression grammar, please see: https://github.com/google/re2/wiki/Syntax' + type: string + suffixMatch: + description: The value of the header must end with + the contents of suffix_match. + type: string + type: object + type: array + ignoreCase: + description: Specifies if prefix_match and full_path_match + matches are case sensitive. The default value is false. + type: boolean + prefixMatch: + description: The HTTP request path value must begin with + specified prefix_match. prefix_match must begin with + a /. Only one of full_path_match, prefix_match, or regex_match + should be used. + type: string + queryParameters: + description: Specifies a list of query parameters to match + against. ALL of the query parameters must be matched. + items: + properties: + exactMatch: + description: The value of the query parameter must + exactly match the contents of exact_match. Only + one of exact_match, regex_match, or present_match + must be set. + type: string + presentMatch: + description: Specifies that the QueryParameterMatcher + matches if request contains query parameter, irrespective + of whether the parameter has a value or not. Only + one of exact_match, regex_match, or present_match + must be set. + type: boolean + queryParameter: + description: The name of the query parameter to + match. + type: string + regexMatch: + description: The value of the query parameter must + match the regular expression specified by regex_match. + For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax + Only one of exact_match, regex_match, or present_match + must be set. + type: string + type: object + type: array + regexMatch: + description: The HTTP request path value must satisfy + the regular expression specified by regex_match after + removing any query parameters and anchor supplied with + the original URL. For regular expression grammar, please + see https://github.com/google/re2/wiki/Syntax Only one + of full_path_match, prefix_match, or regex_match should + be used. + type: string + type: object + type: array + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesmeshes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesMesh + plural: networkservicesmeshes + shortNames: + - gcpnetworkservicesmesh + - gcpnetworkservicesmeshes + singular: networkservicesmesh + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + interceptionPort: + description: Optional. If set to a valid TCP port (1-65535), instructs + the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) + address. The SIDECAR proxy will expect all traffic to be redirected + to this port regardless of its actual ip:port destination. If unset, + a port '15001' is used as the interception port. This field is only + valid if the type of Mesh is SIDECAR. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Mesh + resource. + type: object + 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 + scope: + description: Required. Immutable. Scope defines a logical configuration + boundary for mesh. The routes pointing to this particular mesh resource + defines the mesh configuration and the scope field name is used + by mesh clients to receive that configuration. There cannot be more + than one Mesh resource instance of the same type (SIDECAR or PROXYLESS_GRPC) + with the same scope. Max length 64 characters. Scope should start + with a letter and can only have letters, numbers, hyphens. + type: string + type: + description: 'Required. Immutable. The type of the Mesh resource. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - projectRef + - scope + - type + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicestcproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesTCPRoute + plural: networkservicestcproutes + shortNames: + - gcpnetworkservicestcproute + - gcpnetworkservicestcproutes + singular: networkservicestcproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the TcpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this TcpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. At least one RouteRule must be supplied. If there are multiple + rules then the action taken will be the first rule to match. + items: + properties: + action: + description: Required. The detailed rule defining how to route + matched traffic. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. At least one destination + service is required. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a BackendService + to route traffic to. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + originalDestination: + description: Optional. If true, Router will use the destination + IP and port of the original connection as the destination + of the request. Default is false. + type: boolean + type: object + matches: + description: Optional. RouteMatch defines the predicate used + to match requests to a given action. Multiple match types + are “OR”ed for evaluation. If no routeMatch field is specified, + this rule will unconditionally match traffic. + items: + properties: + address: + description: 'Required. Must be specified in the CIDR + range format. A CIDR range consists of an IP Address + and a prefix length to construct the subnet mask. By + default, the prefix length is 32 (i.e. matches a single + IP address). Only IPV4 addresses are supported. Examples: + “10.0.0.1” - matches against this exact IP address. + “10.0.0.0/8" - matches against any IP address within + the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" + - matches against any IP address''.' + type: string + port: + description: Required. Specifies the destination port + to match against. + type: string + required: + - address + - port + type: object + type: array + required: + - action + type: object + type: array + required: + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -48443,7 +50972,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49440,7 +51969,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49933,7 +52462,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -50346,7 +52875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50568,7 +53097,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50673,7 +53202,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50857,7 +53387,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50904,12 +53435,6 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - path: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. Path of the subscription in the format - projects/{project}/subscriptions/{name}. - type: string type: object required: - spec @@ -50929,7 +53454,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51017,6 +53542,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + messageRetentionDuration: + description: |- + Indicates the minimum duration to retain a message after it is published + to the topic. If this field is set, messages published to the topic in + the last messageRetentionDuration are always available to subscribers. + For instance, it allows any attached subscription to seek to a timestamp + that is up to messageRetentionDuration in the past. If this field is not + set, message retention is controlled by settings on individual subscriptions. + Cannot be more than 7 days or less than 10 minutes. + type: string messageStoragePolicy: description: |- Policy constraining the set of Google Cloud Platform regions where @@ -51095,7 +53630,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -51328,7 +53863,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51403,8 +53938,525 @@ spec: type: string authorizedNetworkRef: description: |- - The network to which the instance is connected. If left - unspecified, the default network will be used. + The network to which the instance is connected. If left + unspecified, the default network will be used. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The selfLink of a ComputeNetwork. + 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 + connectMode: + description: 'Immutable. The connection mode of the Redis instance. + Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"].' + type: string + displayName: + description: An arbitrary and optional user-provided name for the + instance. + type: string + locationId: + description: |- + Immutable. The zone where the instance will be provisioned. If not provided, + the service will choose a zone for the instance. For STANDARD_HA tier, + instances will be created across two zones for protection against + zonal failures. If [alternativeLocationId] is also provided, it must + be different from [locationId]. + type: string + memorySizeGb: + description: Redis memory size in GiB. + type: integer + redisConfigs: + additionalProperties: + type: string + description: |- + Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported parameters: + https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + type: object + redisVersion: + description: "The version of Redis software. If not provided, latest + supported\nversion will be used. Please check the API documentation + linked \nat the top for the latest valid values." + type: string + region: + description: Immutable. The name of the Redis region of the instance. + type: string + reservedIpRange: + description: |- + Immutable. The CIDR range of internal addresses that are reserved for this + instance. If not provided, the service will choose an unused /29 + block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be + unique and non-overlapping with existing subnets in an authorized + network. + type: string + 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: |- + Immutable. The service tier of the instance. Must be one of these values: + + - BASIC: standalone instance + - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. + type: string + transitEncryptionMode: + description: |- + Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. + + - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. + type: string + required: + - memorySizeGb + - region + 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: |- + The time the instance was created in RFC3339 UTC "Zulu" format, + accurate to nanoseconds. + type: string + currentLocationId: + description: |- + The current zone where the Redis endpoint is placed. + For Basic Tier instances, this will always be the same as the + [locationId] provided by the user at creation time. For Standard Tier + instances, this can be either [locationId] or [alternativeLocationId] + and can change after a failover event. + type: string + host: + description: |- + Hostname or IP address of the exposed Redis endpoint used by clients + to connect to the service. + 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 + persistenceIamIdentity: + description: |- + Output only. Cloud IAM identity used by import / export operations + to transfer data to/from Cloud Storage. Format is "serviceAccount:". + The value may change over time for a given instance so should be + checked before each import/export operation. + type: string + port: + description: The port number of the exposed Redis endpoint. + type: integer + serverCaCerts: + description: List of server CA certificates for the instance. + items: + properties: + cert: + description: Serial number, as extracted from the certificate. + type: string + createTime: + description: The time when the certificate was created. + type: string + expireTime: + description: The time when the certificate expires. + type: string + serialNumber: + description: Serial number, as extracted from the certificate. + type: string + sha1Fingerprint: + description: Sha1 Fingerprint of the certificate. + type: string + type: object + type: array + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerLien + plural: resourcemanagerliens + shortNames: + - gcpresourcemanagerlien + - gcpresourcemanagerliens + singular: resourcemanagerlien + 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: + origin: + description: |- + Immutable. A stable, user-visible/meaningful string identifying the origin + of the Lien, intended to be inspected programmatically. Maximum length of + 200 characters. + type: string + parent: + properties: + projectRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. + 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 + reason: + description: |- + Immutable. Concise user-visible strings indicating why an action cannot be performed + on a resource. Maximum length of 200 characters. + type: string + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + restrictions: + description: |- + Immutable. The types of operations which should be blocked as a result of this Lien. + Each value should correspond to an IAM permission. The server will validate + the permissions against those for which Liens are supported. An empty + list is meaningless and will be rejected. + e.g. ['resourcemanager.projects.delete']. + items: + type: string + type: array + required: + - origin + - parent + - reason + - restrictions + 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: Time of creation. + type: string + name: + description: A system-generated unique identifier for this Lien. + 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 + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerPolicy + plural: resourcemanagerpolicies + shortNames: + - gcpresourcemanagerpolicy + - gcpresourcemanagerpolicies + singular: resourcemanagerpolicy + 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: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + properties: + enforced: + description: If true, then the Policy is enforced. If false, then + any configuration is acceptable. + type: boolean + required: + - enforced + type: object + constraint: + description: Immutable. The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + folderRef: + description: |- + The folder on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Folder. + 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 + listPolicy: + description: A policy that can define specific values that are allowed + or denied for the given constraint. It can also be used to allow + or deny all values. . + properties: + allow: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + deny: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + inheritFromParent: + description: If set to true, the values from the effective Policy + of the parent resource are inherited, meaning the values set + in this Policy are added to the values inherited up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default to a + configuration that matches the value specified in this field. + type: string + type: object + organizationRef: + description: |- + The organization on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. oneOf: - not: required: @@ -51421,7 +54473,7 @@ spec: - external properties: external: - description: The selfLink of a ComputeNetwork. + description: The name of an Organization. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51430,71 +54482,51 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object - connectMode: - description: 'Immutable. The connection mode of the Redis instance. - Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", - "PRIVATE_SERVICE_ACCESS"].' - type: string - displayName: - description: An arbitrary and optional user-provided name for the - instance. - type: string - locationId: - description: |- - Immutable. The zone where the instance will be provisioned. If not provided, - the service will choose a zone for the instance. For STANDARD_HA tier, - instances will be created across two zones for protection against - zonal failures. If [alternativeLocationId] is also provided, it must - be different from [locationId]. - type: string - memorySizeGb: - description: Redis memory size in GiB. - type: integer - redisConfigs: - additionalProperties: - type: string + projectRef: description: |- - Redis configuration parameters, according to http://redis.io/topics/config. - Please check Memorystore documentation for the list of supported parameters: - https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + The project on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Project. + 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 - redisVersion: - description: "The version of Redis software. If not provided, latest - supported\nversion will be used. Please check the API documentation - linked \nat the top for the latest valid values." - type: string - region: - description: Immutable. The name of the Redis region of the instance. - type: string - reservedIpRange: - description: |- - Immutable. The CIDR range of internal addresses that are reserved for this - instance. If not provided, the service will choose an unused /29 - block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be - unique and non-overlapping with existing subnets in an authorized - network. - type: string - 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: |- - Immutable. The service tier of the instance. Must be one of these values: - - - BASIC: standalone instance - - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. - type: string - transitEncryptionMode: - description: |- - Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. - - - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. - type: string + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + version: + description: Version of the Policy. Default version is 0. + type: integer required: - - memorySizeGb - - region + - constraint type: object status: properties: @@ -51524,23 +54556,10 @@ spec: type: string type: object type: array - createTime: - description: |- - The time the instance was created in RFC3339 UTC "Zulu" format, - accurate to nanoseconds. - type: string - currentLocationId: - description: |- - The current zone where the Redis endpoint is placed. - For Basic Tier instances, this will always be the same as the - [locationId] provided by the user at creation time. For Standard Tier - instances, this can be either [locationId] or [alternativeLocationId] - and can change after a failover event. - type: string - host: - description: |- - Hostname or IP address of the exposed Redis endpoint used by clients - to connect to the service. + etag: + description: The etag of the organization policy. etag is used for + optimistic concurrency control as a way to help prevent simultaneous + updates of a policy from overwriting each other. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51549,37 +54568,11 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - persistenceIamIdentity: - description: |- - Output only. Cloud IAM identity used by import / export operations - to transfer data to/from Cloud Storage. Format is "serviceAccount:". - The value may change over time for a given instance so should be - checked before each import/export operation. + updateTime: + description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate + to nanoseconds, representing when the variable was last updated. + Example: "2016-10-09T12:33:37.578138407Z".' type: string - port: - description: The port number of the exposed Redis endpoint. - type: integer - serverCaCerts: - description: List of server CA certificates for the instance. - items: - properties: - cert: - description: Serial number, as extracted from the certificate. - type: string - createTime: - description: The time when the certificate was created. - type: string - expireTime: - description: The time when the certificate expires. - type: string - serialNumber: - description: Serial number, as extracted from the certificate. - type: string - sha1Fingerprint: - description: Sha1 Fingerprint of the certificate. - type: string - type: object - type: array type: object required: - spec @@ -51599,25 +54592,25 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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/stability-level: alpha cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com + name: runservices.run.cnrm.cloud.google.com spec: - group: resourcemanager.cnrm.cloud.google.com + group: run.cnrm.cloud.google.com names: categories: - gcp - kind: ResourceManagerLien - plural: resourcemanagerliens + kind: RunService + plural: runservices shortNames: - - gcpresourcemanagerlien - - gcpresourcemanagerliens - singular: resourcemanagerlien + - gcprunservice + - gcprunservices + singular: runservice preserveUnknownFields: false scope: Namespaced versions: @@ -51655,15 +54648,337 @@ spec: type: object spec: properties: - origin: - description: |- - Immutable. A stable, user-visible/meaningful string identifying the origin - of the Lien, intended to be inspected programmatically. Maximum length of - 200 characters. + annotations: + additionalProperties: + type: string + description: 'Unstructured key value map that may be set by external + tools to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. Cloud Run will populate + some annotations using ''run.googleapis.com'' or ''serving.knative.dev'' + namespaces. This field follows Kubernetes annotations'' namespacing, + limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + binaryAuthorization: + description: Settings for the Binary Authorization feature. + properties: + breakglassJustification: + description: If present, indicates to use Breakglass using this + justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass + type: string + useDefault: + description: If True, indicates to use the default project's binary + authorization policy. If False, binary authorization will be + disabled + type: boolean + type: object + client: + description: Arbitrary identifier for the API client. type: string - parent: + clientVersion: + description: Arbitrary version identifier for the API client. + type: string + description: + description: User-provided description of the Service. + type: string + ingress: + description: Provides the ingress settings for this Service. On output, + returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED + if no revision is active. + type: string + launchStage: + description: 'The launch stage as defined by [Google Cloud Platform + Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud + Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, + GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, + PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED' + 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: - projectRef: + 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 + template: + description: Required. The template used to create revisions for this + Service. + properties: + annotations: + additionalProperties: + type: string + description: KRM-style annotations for the resource. + type: object + confidential: + description: Enables Confidential Cloud Run in Revisions created + using this template. + type: boolean + containerConcurrency: + description: Sets the maximum number of requests that each serving + instance can receive. + format: int64 + type: integer + containers: + description: Holds the single container that defines the unit + of execution for this Revision. + items: + properties: + args: + description: 'Arguments to the entrypoint. The docker image''s + CMD is used if this is not provided. Variable references + $(VAR_NAME) are expanded using the container''s environment. + If a variable cannot be resolved, the reference in the + input string will be unchanged. The $(VAR_NAME) syntax + can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether + the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed within a shell. + The docker image''s ENTRYPOINT is used if this is not + provided. Variable references $(VAR_NAME) are expanded + using the container''s environment. If a variable cannot + be resolved, the reference in the input string will be + unchanged. The $(VAR_NAME) syntax can be escaped with + a double $$, ie: $$(VAR_NAME). Escaped references will + never be expanded, regardless of whether the variable + exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to set in the + container. + items: + properties: + name: + description: Required. Name of the environment variable. + Must be a C_IDENTIFIER, and mnay not exceed 32768 + characters. + type: string + value: + description: 'Variable references $(VAR_NAME) are + expanded using the previous defined environment + variables in the container and any route environment + variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. + The $(VAR_NAME) syntax can be escaped with a double + $$, ie: $$(VAR_NAME). Escaped references will never + be expanded, regardless of whether the variable + exists or not. Defaults to "", and the maximum length + is 32768 bytes.' + type: string + valueSource: + description: Source for the environment variable's + value. + properties: + secretKeyRef: + description: Selects a secret and a specific version + from Cloud Secret Manager. + properties: + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the + secret in Cloud Secret Manager. Format: + {secret_name} if the secret is in the + same project. projects/{project}/secrets/{secret_name} + if the secret is in a different project.' + 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 + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager + secret version. Can be 'latest' for + the latest value or an integer for a + specific version. + 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: + - secretRef + type: object + type: object + required: + - name + type: object + type: array + image: + description: 'Required. URL of the Container image in Google + Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images' + type: string + name: + description: Name of the container specified as a DNS_LABEL. + type: string + ports: + description: List of ports to expose from the container. + Only a single port can be specified. The specified ports + must be listening on all interfaces (0.0.0.0) within the + container to be accessible. If omitted, a port number + will be chosen and passed to the container through the + PORT environment variable for the container to listen + on. + items: + properties: + containerPort: + description: Port number the container listens on. + This must be a valid TCP port number, 0 < container_port + < 65536. + format: int64 + type: integer + name: + description: If specified, used to specify which protocol + to use. Allowed values are "http1" and "h2c". + type: string + type: object + type: array + resources: + description: 'Compute Resource requirements by this container. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + cpuIdle: + description: Determines whether CPU should be throttled + or not outside of requests. + type: boolean + limits: + additionalProperties: + type: string + description: 'Only memory and CPU are supported. Note: + The only supported values for CPU are ''1'', ''2'', + and ''4''. Setting 4 CPU requires at least 2Gi of + memory. The values of the map is string form of the + ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + type: object + volumeMounts: + description: Volume to mount into the container's filesystem. + items: + properties: + mountPath: + description: Required. Path within the container at + which the volume should be mounted. Must not contain + ':'. For Cloud SQL volumes, it can be left empty, + or must otherwise be `/cloudsql`. All instances + defined in the Volume will be available as `/cloudsql/[instance]`. + For more information on Cloud SQL volumes, visit + https://cloud.google.com/sql/docs/mysql/connect-run + type: string + name: + description: Required. This must match the Name of + a Volume. + type: string + required: + - mountPath + - name + type: object + type: array + required: + - image + type: object + type: array + executionEnvironment: + description: 'The sandbox environment to host this Revision. Possible + values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_DEFAULT, + EXECUTION_ENVIRONMENT_GEN2' + type: string + labels: + additionalProperties: + type: string + description: KRM-style labels for the resource. + type: object + revision: + description: The unique name for the revision. If this field is + omitted, it will be automatically generated based on the Service + name. + type: string + scaling: + description: Scaling settings for this Revision. + properties: + maxInstanceCount: + description: Maximum number of serving instances that this + resource should have. + format: int64 + type: integer + minInstanceCount: + description: Minimum number of serving instances that this + resource should have. + format: int64 + type: integer + type: object + serviceAccountRef: oneOf: - not: required: @@ -51680,7 +54995,11 @@ spec: - external properties: external: - description: The number of a Project. + description: Email address of the IAM service account associated + with the revision of the service. The service account represents + the identity of the running revision, and determines what + permissions the revision has. If not provided, the revision + will use the project's default service account. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51689,32 +55008,249 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + timeout: + description: Max allowed time for an instance to respond to a + request. + type: string + volumes: + description: A list of Volumes to make available to containers. + items: + properties: + cloudSqlInstance: + description: For Cloud SQL volumes, contains the specific + instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run + for more information on how to connect Cloud SQL and Cloud + Run. + properties: + connections: + 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 + type: object + name: + description: Required. Volume's name. + type: string + secret: + description: 'Secret represents a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + properties: + defaultMode: + description: 'Integer representation of mode bits to + use on created files by default. Must be a value between + 0000 and 0777 (octal), defaulting to 0644. Directories + within the path are not affected by this setting. + Notes * Internally, a umask of 0222 will be applied + to any non-zero value. * This is an integer representation + of the mode bits. So, the octal integer value should + look exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod 640 + (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) + or 493 (base-10). * This might be in conflict with + other options that affect the file mode, like fsGroup, + and the result can be other mode bits set. This might + be in conflict with other options that affect the + file mode, like fsGroup, and as a result, other mode + bits could be set.' + format: int64 + type: integer + items: + description: If unspecified, the volume will expose + a file whose name is the secret, relative to VolumeMount.mount_path. + If specified, the key will be used as the version + to fetch from Cloud Secret Manager and the path will + be the name of the file exposed in the volume. When + items are defined, they must specify a path and a + version. + items: + properties: + mode: + description: 'Integer octal mode bits to use on + this file, must be a value between 01 and 0777 + (octal). If 0 or not set, the Volume''s default + mode will be used. Notes * Internally, a umask + of 0222 will be applied to any non-zero value. + * This is an integer representation of the mode + bits. So, the octal integer value should look + exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod + 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 + (octal) or 493 (base-10). * This might be in + conflict with other options that affect the + file mode, like fsGroup, and the result can + be other mode bits set.' + format: int64 + type: integer + path: + description: Required. The relative path of the + secret in the container. + type: string + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager secret + version. Can be 'latest' for the latest + value or an integer for a specific version. + 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: + - path + type: object + type: array + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the secret in + Cloud Secret Manager. Format: {secret} if the + secret is in the same project. projects/{project}/secrets/{secret} + if the secret is in a different project.' + 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: + - secretRef + type: object + required: + - name + type: object + type: array + vpcAccess: + description: VPC Access configuration to use for this Revision. + For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. + properties: + connectorRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}' + 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 + egress: + description: 'Traffic VPC egress settings. Possible values: + VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY' + type: string + type: object type: object - reason: - description: |- - Immutable. Concise user-visible strings indicating why an action cannot be performed - on a resource. Maximum length of 200 characters. - type: string - resourceID: - description: Immutable. Optional. The service-generated name of the - resource. Used for acquisition only. Leave unset to create a new - resource. - type: string - restrictions: - description: |- - Immutable. The types of operations which should be blocked as a result of this Lien. - Each value should correspond to an IAM permission. The server will validate - the permissions against those for which Liens are supported. An empty - list is meaningless and will be rejected. - e.g. ['resourcemanager.projects.delete']. + traffic: + description: Specifies how to distribute traffic over a collection + of Revisions belonging to the Service. If traffic is empty or not + provided, defaults to 100% traffic to the latest `Ready` Revision. items: - type: string + properties: + percent: + description: Specifies percent of the traffic to this Revision. + This defaults to zero if unspecified. Cloud Run currently + requires 100 percent for a single TrafficTarget entry. + format: int64 + type: integer + revision: + description: Revision to which to send this portion of traffic, + if traffic allocation is by revision. + type: string + tag: + description: Indicates a string to be part of the URI to exclusively + reference this target. + type: string + type: + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + type: object type: array required: - - origin - - parent - - reason - - restrictions + - location + - projectRef + - template type: object status: properties: @@ -51745,10 +55281,57 @@ spec: type: object type: array createTime: - description: Time of creation. + description: Output only. The creation time. + format: date-time type: string - name: - description: A system-generated unique identifier for this Lien. + creator: + description: Output only. Email address of the authenticated creator. + type: string + deleteTime: + description: Output only. The deletion time. + format: date-time + type: string + etag: + description: Output only. A system-generated fingerprint for this + version of the resource. May be used to detect modification conflict + during updates. + type: string + expireTime: + description: Output only. For a deleted resource, the time after which + it will be permamently deleted. + format: date-time + type: string + generation: + description: Output only. A number that monotonically increases every + time the user modifies the desired state. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Map of string keys and values that can be used to organize + and categorize objects. User-provided labels are shared with Google's + billing system, so they can be used to filter, or break down billing + charges by team, component, environment, state, etc. For more information, + visit https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels Cloud Run + will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' + namespaces. Those labels are read-only, and user changes will not + be preserved. + type: object + lastModifier: + description: Output only. Email address of the last authenticated + modifier. + type: string + latestCreatedRevision: + description: Output only. Name of the last created revision. See comments + in `reconciling` for additional information on reconciliation process + in Cloud Run. + type: string + latestReadyRevision: + description: Output only. Name of the latest revision that is serving + traffic. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51757,285 +55340,129 @@ spec: current reported status reflects the most recent desired state of the resource. 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.69.0 - creationTimestamp: null - labels: - cnrm.cloud.google.com/managed-by-kcc: "true" - cnrm.cloud.google.com/stability-level: stable - cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com -spec: - group: resourcemanager.cnrm.cloud.google.com - names: - categories: - - gcp - kind: ResourceManagerPolicy - plural: resourcemanagerpolicies - shortNames: - - gcpresourcemanagerpolicy - - gcpresourcemanagerpolicies - singular: resourcemanagerpolicy - 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: - booleanPolicy: - description: A boolean policy is a constraint that is either enforced - or not. - properties: - enforced: - description: If true, then the Policy is enforced. If false, then - any configuration is acceptable. - type: boolean - required: - - enforced - type: object - constraint: - description: Immutable. The name of the Constraint the Policy is configuring, - for example, serviceuser.services. - type: string - folderRef: - description: |- - The folder on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Folder. - 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 - listPolicy: - description: A policy that can define specific values that are allowed - or denied for the given constraint. It can also be used to allow - or deny all values. . - properties: - allow: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - deny: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - inheritFromParent: - description: If set to true, the values from the effective Policy - of the parent resource are inherited, meaning the values set - in this Policy are added to the values inherited up the hierarchy. - type: boolean - suggestedValue: - description: The Google Cloud Console will try to default to a - configuration that matches the value specified in this field. - type: string - type: object - organizationRef: - description: |- - The organization on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of an Organization. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + reconciling: + description: 'Output only. Returns true if the Service is currently + being acted upon by the system to bring it into the desired state. + When a new Service is created, or an existing one is updated, Cloud + Run will asynchronously perform all necessary steps to bring the + Service to the desired serving state. This process is called reconciliation. + While reconciliation is in process, `observed_generation`, `latest_ready_revison`, + `traffic_statuses`, and `uri` will have transient values that might + mismatch the intended state: Once reconciliation is over (and this + field is false), there are two possible outcomes: reconciliation + succeeded and the serving state matches the Service, or there was + an error, and reconciliation failed. This state can be found in + `terminal_condition.state`. If reconciliation succeeded, the following + fields will match: `traffic` and `traffic_statuses`, `observed_generation` + and `generation`, `latest_ready_revision` and `latest_created_revision`. + If reconciliation failed, `traffic_statuses`, `observed_generation`, + and `latest_ready_revision` will have the state of the last serving + revision, or empty for newly created Services. Additional information + on the failure can be found in `terminal_condition` and `conditions`.' + type: boolean + terminalCondition: + description: Output only. The Condition of this Service, containing + its readiness status, and detailed error information in case it + did not reach a serving state. See comments in `reconciling` for + additional information on reconciliation process in Cloud Run. + properties: + domainMappingReason: + description: 'A reason for the domain mapping condition. Possible + values: DOMAIN_MAPPING_REASON_UNDEFINED, ROUTE_NOT_READY, PERMISSION_DENIED, + CERTIFICATE_ALREADY_EXISTS, MAPPING_ALREADY_EXISTS, CERTIFICATE_PENDING, + CERTIFICATE_FAILED' + type: string + internalReason: + description: 'A reason for the internal condition. Possible values: + INTERNAL_REASON_UNDEFINED, CONFLICTING_REVISION_NAME, REVISION_MISSING, + CONFIGURATION_MISSING, ASSIGNING_TRAFFIC, UPDATING_INGRESS_TRAFFIC_ALLOWED, + REVISION_ORG_POLICY_VIOLATION, ENABLING_GCFV2_URI_SUPPORT' + type: string + jobReason: + description: 'A reason for the job condition. Possible values: + JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR' + type: string + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + message: + description: Human readable message indicating details about the + current status. + type: string + reason: + description: 'A common (service-level) reason for this condition. + Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, ROUTE_MISSING, + REVISION_FAILED, PROGRESS_DEADLINE_EXCEEDED, BUILD_STEP_FAILED, + CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED, CONTAINER_IMAGE_UNAUTHORIZED, + CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED, ENCRYPTION_KEY_PERMISSION_DENIED, + ENCRYPTION_KEY_CHECK_FAILED, SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, + IMMEDIATE_RETRY, POSTPONED_RETRY' + type: string + revisionReason: + description: 'A reason for the revision condition. Possible values: + REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING, + RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING, + MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED, + NO_DEPLOYMENT' type: string - type: object - projectRef: - description: |- - The project on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Project. + severity: + description: 'How to interpret failures of this condition, one + of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED, + ERROR, WARNING, INFO' type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + state: + description: 'State of the condition. Possible values: STATE_UNSPECIFIED, + CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED, + CONDITION_SUCCEEDED' type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: + description: 'type is used to communicate the status of the reconciliation + process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting + Types common to all resources include: * "Ready": True when + the Resource is ready.' type: string type: object - restorePolicy: - description: A restore policy is a constraint to restore the default - policy. - properties: - default: - description: May only be set to true. If set, then the default - Policy is restored. - type: boolean - required: - - default - type: object - version: - description: Version of the Policy. Default version is 0. - type: integer - required: - - constraint - type: object - status: - properties: - conditions: - description: Conditions represent the latest available observation - of the resource's current state. + trafficStatuses: + description: Output only. Detailed status information for corresponding + traffic targets. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. 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. + percent: + description: Specifies percent of the traffic to this Revision. + format: int64 + type: integer + revision: + description: Revision to which this traffic is sent. 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. + tag: + description: Indicates the string used in the URI to exclusively + reference this target. type: string type: - description: Type is the type of the condition. + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + uri: + description: Displays the target URI. type: string type: object type: array - etag: - description: The etag of the organization policy. etag is used for - optimistic concurrency control as a way to help prevent simultaneous - updates of a policy from overwriting each other. + uid: + description: Output only. Server assigned unique identifier for the + trigger. The value is a UUID4 string and guaranteed to remain unchanged + until the resource is deleted. 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 updateTime: - description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate - to nanoseconds, representing when the variable was last updated. - Example: "2016-10-09T12:33:37.578138407Z".' + description: Output only. The last-modified time. + format: date-time + type: string + uri: + description: Output only. The main URI in which this Service is serving + traffic. type: string type: object required: @@ -52056,7 +55483,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52227,7 +55654,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -52307,7 +55735,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52506,7 +55934,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52682,7 +56110,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52823,7 +56251,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53020,7 +56448,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53212,7 +56640,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53352,7 +56780,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53515,7 +56943,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53572,6 +57000,7 @@ spec: spec: properties: databaseVersion: + default: MYSQL_5_6 description: Immutable. The MySQL, PostgreSQL or SQL Server (beta) version to use. Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, @@ -53775,14 +57204,9 @@ spec: Can be either ALWAYS, NEVER or ON_DEMAND. type: string authorizedGaeApplications: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - https://cloud.google.com/sql/docs/mysql/deprecation-notice for - information on how to upgrade to Second Generation instances. - A list of Google App Engine project names that are allowed to - access this instance. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. items: type: string type: array @@ -53833,13 +57257,9 @@ spec: description: The name of server instance collation. type: string crashSafeReplication: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Specific to read instances, indicates when crash-safe - replication flags are enabled. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: boolean databaseFlags: items: @@ -53966,13 +57386,9 @@ spec: description: Pricing plan for this instance, can only be PER_USE. type: string replicationType: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Replication type for this instance, can be one of - ASYNCHRONOUS or SYNCHRONOUS. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: string tier: description: The machine type to use. See tiers for more details @@ -54087,7 +57503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54262,7 +57678,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54457,7 +57873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54626,7 +58042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54683,9 +58099,9 @@ spec: spec: properties: bucketPolicyOnly: - description: DEPRECATED — Please use the uniform_bucket_level_access - as this field has been renamed by Google. Enables Bucket Policy - Only access to a bucket. + description: |- + DEPRECATED — Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field. + Enables Bucket PolicyOnly access to a bucket. type: boolean cors: description: The bucket's Cross-Origin Resource Sharing (CORS) configuration. @@ -54823,6 +58239,7 @@ spec: type: object type: array location: + default: US description: Immutable. The Google Cloud Storage location. type: string logging: @@ -54952,7 +58369,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55137,7 +58554,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55264,7 +58681,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -55338,7 +58756,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55863,7 +59281,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/install-bundles/install-bundle-namespaced/per-namespace-components.yaml b/install-bundles/install-bundle-namespaced/per-namespace-components.yaml index 2c1f8bf2e6..1432924801 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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/scoped-namespace: ${NAMESPACE?} @@ -156,7 +156,7 @@ spec: - --prometheus-scrape-endpoint=:8888 command: - /configconnector/manager - image: gcr.io/cnrm-eap/controller:c3120b9 + image: gcr.io/cnrm-eap/controller:1d69b12 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 e4ae3b94c4..836ee5a7e7 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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -153,6 +153,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -177,7 +178,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role @@ -227,7 +228,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-cluster-role @@ -285,7 +286,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-ns-role @@ -310,7 +311,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-role @@ -340,7 +341,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/system: "true" @@ -384,6 +385,7 @@ rules: - recaptchaenterprise.cnrm.cloud.google.com - redis.cnrm.cloud.google.com - resourcemanager.cnrm.cloud.google.com + - run.cnrm.cloud.google.com - secretmanager.cnrm.cloud.google.com - servicenetworking.cnrm.cloud.google.com - serviceusage.cnrm.cloud.google.com @@ -404,7 +406,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role @@ -467,7 +469,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-role-binding @@ -485,7 +487,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-role-binding @@ -503,7 +505,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-admin-binding @@ -526,7 +528,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender-binding @@ -543,7 +545,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-binding @@ -560,7 +562,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-manager-watcher-binding @@ -577,7 +579,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-recorder-binding @@ -594,7 +596,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-webhook-binding @@ -611,7 +613,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/system: "true" name: cnrm-deletiondefender @@ -628,7 +630,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -650,7 +652,7 @@ apiVersion: v1 kind: Service metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 prometheus.io/port: "8888" prometheus.io/scrape: "true" labels: @@ -671,7 +673,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -689,7 +691,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-resource-stats-recorder cnrm.cloud.google.com/system: "true" @@ -702,8 +704,8 @@ spec: - /configconnector/recorder env: - name: CONFIG_CONNECTOR_VERSION - value: 1.69.0 - image: gcr.io/cnrm-eap/recorder:c3120b9 + value: 1.70.0 + image: gcr.io/cnrm-eap/recorder:1d69b12 imagePullPolicy: Always name: recorder ports: @@ -735,7 +737,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -750,7 +752,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-webhook-manager cnrm.cloud.google.com/system: "true" @@ -763,7 +765,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: gcr.io/cnrm-eap/webhook:c3120b9 + image: gcr.io/cnrm-eap/webhook:1d69b12 imagePullPolicy: Always name: webhook ports: @@ -791,7 +793,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -806,7 +808,7 @@ spec: template: metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-controller-manager cnrm.cloud.google.com/system: "true" @@ -816,7 +818,7 @@ spec: - --prometheus-scrape-endpoint=:8888 command: - /configconnector/manager - image: gcr.io/cnrm-eap/controller:c3120b9 + image: gcr.io/cnrm-eap/controller:1d69b12 imagePullPolicy: Always name: manager ports: @@ -844,7 +846,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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.69.0 + cnrm.cloud.google.com/version: 1.70.0 labels: cnrm.cloud.google.com/component: cnrm-deletiondefender cnrm.cloud.google.com/system: "true" @@ -867,7 +869,7 @@ spec: containers: - command: - /configconnector/deletiondefender - image: gcr.io/cnrm-eap/deletiondefender:c3120b9 + image: gcr.io/cnrm-eap/deletiondefender:1d69b12 imagePullPolicy: Always name: deletiondefender ports: @@ -895,7 +897,7 @@ apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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 dd42b874e2..1236674773 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.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -92,7 +92,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -225,7 +226,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -396,7 +398,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -526,7 +528,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -602,7 +604,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessPolicy. + description: A string of the format "accessPolicies/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessPolicy. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -673,7 +676,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -723,7 +727,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -813,7 +818,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -871,7 +877,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -923,7 +930,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -957,7 +965,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1040,7 +1049,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1079,7 +1089,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1152,7 +1163,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1202,7 +1214,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1292,7 +1305,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1350,7 +1364,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "serviceAccount:{{value}}", + where {{value}} is the email of an IAMServiceAccount. type: string name: description: 'Name of the referent. More info: @@ -1402,7 +1417,8 @@ spec: - external properties: external: - description: The name of an AccessContextManagerAccessLevel. + description: A string of the format "{{parent}}/accessLevels/{{value}}", + where {{value}} is the name of an AccessContextManagerAccessLevel. type: string name: description: 'Name of the referent. More info: @@ -1436,7 +1452,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1519,7 +1536,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: @@ -1558,7 +1576,8 @@ spec: - external properties: external: - description: The number of a Project. + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -1678,7 +1697,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -1856,7 +1875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -2176,7 +2195,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3002,7 +3021,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3441,7 +3460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3610,7 +3629,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -3813,7 +3832,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4009,7 +4028,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -4170,7 +4189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4436,7 +4455,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -4856,7 +4875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -5649,7 +5668,8 @@ spec: - external properties: external: - description: The email of an IAMServiceAccount. + description: A string of the format "projects/{{project}}/serviceAccounts/{{value}}", + where {{value}} is 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' @@ -5834,7 +5854,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -6028,7 +6048,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6269,7 +6289,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -6811,7 +6831,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7062,7 +7082,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -7287,7 +7307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8324,7 +8344,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -8932,7 +8952,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9078,7 +9098,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9193,8 +9213,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -9295,7 +9316,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -9577,7 +9598,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -9710,7 +9731,8 @@ spec: Immutable. Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify - sourceRanges OR sourceTags. Possible values: ["INGRESS", "EGRESS"]. + 'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]. type: string disabled: description: |- @@ -9951,7 +9973,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -10577,7 +10599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11041,7 +11063,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11202,7 +11224,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11363,7 +11385,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -11639,7 +11661,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -12381,7 +12403,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -12582,7 +12604,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13165,6 +13187,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -13451,7 +13478,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -13914,6 +13941,11 @@ spec: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string + queueCount: + description: Immutable. The networking queue count that's specified + by users for the network interface. Both Rx and Tx queues + will be set to this number. It will be empty if not specified. + type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, @@ -14170,7 +14202,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14494,7 +14526,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14695,7 +14727,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -14888,7 +14920,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15038,7 +15070,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15246,7 +15278,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15427,7 +15459,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -15812,7 +15844,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -15930,7 +15962,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16144,7 +16176,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16442,7 +16474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16649,7 +16681,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -16976,7 +17008,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17081,6 +17113,42 @@ spec: Where there is more than one matching route of maximum length, the routes with the lowest priority value win. type: integer + bfd: + description: BFD configuration for the BGP peering. + properties: + minReceiveInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + received from the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the transmit interval of the other router. If set, this value + must be between 1000 and 30000. + type: integer + minTransmitInterval: + description: |- + The minimum interval, in milliseconds, between BFD control packets + transmitted to the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the corresponding receive interval of the other router. If set, + this value must be between 1000 and 30000. + type: integer + multiplier: + description: |- + The number of consecutive BFD packets that must be missed before + BFD declares that a peer is unavailable. If set, the value must + be a value between 5 and 16. + type: integer + sessionInitializationMode: + description: |- + The BFD session initialization mode for this BGP peer. + If set to 'ACTIVE', the Cloud Router will initiate the BFD session + for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait + for the peer router to initiate the BFD session for this BGP peer. + If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]. + type: string + required: + - sessionInitializationMode + type: object enable: description: |- The status of the BGP peer connection. If set to false, any active session @@ -17244,7 +17312,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17459,7 +17527,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17734,7 +17802,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -17951,7 +18019,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -18286,7 +18354,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18392,7 +18460,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18531,7 +18599,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -18881,11 +18949,6 @@ spec: snapshotId: description: The unique identifier for the resource. type: integer - sourceDiskLink: - description: DEPRECATED — Deprecated in favor of source_disk, which - contains a compatible value. This field will be removed in the next - major release of the provider. - type: string storageBytes: description: |- A size of the storage used by the snapshot. As snapshots share @@ -18911,7 +18974,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19126,7 +19189,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19289,7 +19352,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19578,7 +19641,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19755,7 +19818,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -19923,7 +19986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20163,7 +20226,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20357,7 +20420,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20580,7 +20643,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20805,7 +20868,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -20971,7 +21034,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -21131,7 +21194,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -23826,7 +23889,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24023,7 +24086,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -24390,7 +24453,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -24626,7 +24689,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -25214,7 +25277,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -25581,6 +25644,7 @@ spec: type: boolean enableShieldedNodes: description: Enable Shielded Nodes features on all nodes in this cluster. + Defaults to true. type: boolean enableTpu: description: Immutable. Whether to enable Cloud TPU resources in this @@ -25707,8 +25771,8 @@ spec: cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials - for your GKE cluster. If you see an unexpected diff removing a username/password - or unsetting your client cert, ensure you have the container.clusters.getCredentials + for your GKE cluster. If you see an unexpected diff unsetting your + client cert, ensure you have the container.clusters.getCredentials permission. properties: clientCertificate: @@ -25920,6 +25984,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26136,7 +26209,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -26309,9 +26383,9 @@ spec: in GCP IAM policies. properties: identityNamespace: - description: DEPRECATED — This field will be removed in a future - major release as it has been deprecated in the API. Use `workload_pool` - instead. Enables workload identity. + description: |- + DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field. + Enables workload identity. type: string workloadPool: description: The workload pool to attach all Kubernetes service @@ -26352,13 +26426,6 @@ spec: endpoint: description: The IP address of this cluster's Kubernetes master. type: string - instanceGroupUrls: - description: DEPRECATED — Please use node_pool.instance_group_urls - instead. List of instance group URLs which have been assigned to - the cluster. - items: - type: string - type: array labelFingerprint: description: The fingerprint of the set of labels for this cluster. type: string @@ -26407,7 +26474,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -26608,6 +26675,15 @@ spec: required: - localSsdCount type: object + gcfsConfig: + description: Immutable. GCFS configuration for this node. + properties: + enabled: + description: Immutable. Whether or not GCFS is enabled. + type: boolean + required: + - enabled + type: object guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. @@ -26866,6 +26942,12 @@ spec: items: type: string type: array + managedInstanceGroupUrls: + description: List of instance group URLs which have been assigned + to this node pool. + items: + type: string + type: array observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. @@ -26894,7 +26976,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27020,7 +27102,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -27302,7 +27384,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27581,7 +27663,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -27873,7 +27955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -29096,7 +29178,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31011,7 +31093,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31337,7 +31419,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31532,7 +31614,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -31687,7 +31769,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -31904,7 +31986,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32225,7 +32307,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32379,7 +32461,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -32590,7 +32672,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -32728,7 +32810,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33056,7 +33138,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33291,7 +33373,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -33655,7 +33737,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33720,7 +33802,6 @@ spec: of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -33817,7 +33898,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -33957,7 +34038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34045,7 +34126,6 @@ spec: member: description: The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: The IAM identity to be bound to the role. @@ -34255,7 +34335,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34326,7 +34406,6 @@ spec: this type of permission. The format is the same as that for 'members' in IAMPolicy/IAMPolicyMember. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array logType: @@ -34376,7 +34455,6 @@ spec: description: Optional. The list of IAM users to be bound to the role. items: - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string type: array role: @@ -34485,7 +34563,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34562,7 +34640,6 @@ spec: member: description: Immutable. The IAM identity to be bound to the role. Exactly one of 'member' or 'memberFrom' must be used. - pattern: ^(user|serviceAccount|group|domain|projectEditor|projectOwner|projectViewer):.+|allUsers|allAuthenticatedUsers$ type: string memberFrom: description: Immutable. The IAM identity to be bound to the role. @@ -34700,7 +34777,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -34878,7 +34955,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -35015,7 +35092,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35304,7 +35381,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35468,7 +35545,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35592,7 +35669,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35742,7 +35819,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -35925,7 +36002,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36138,7 +36215,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36291,7 +36368,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36415,9 +36492,9 @@ spec: See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. type: string protectionLevel: - description: 'Immutable. The protection level to use when creating - a version based on this template. Default value: "SOFTWARE" - Possible values: ["SOFTWARE", "HSM"].' + description: Immutable. The protection level to use when creating + a version based on this template. Possible values include "SOFTWARE", + "HSM", "EXTERNAL". Defaults to "SOFTWARE". type: string required: - algorithm @@ -36461,10 +36538,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36485,7 +36559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36590,10 +36664,7 @@ spec: the resource. type: integer selfLink: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. The self link of the created KeyRing in - the format projects/{project}/locations/{location}/keyRings/{name}. + description: The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. type: string type: object required: @@ -36614,7 +36685,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -36702,9 +36773,9 @@ spec: description: The ID of a BillingAccount in format billingAccounts/{billingaccount_id}. type: string name: - description: '[WARNING] BillingAccount is not yet supported in - Config Connector, use ''external'' field to reference existing - resources.' + description: |- + [WARNING] BillingAccount not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36776,8 +36847,9 @@ spec: description: The ID of an Organization in format organizations/{organization_id}. type: string name: - description: '[WARNING] Organization is not yet supported in Config - Connector, use ''external'' field to reference existing resources.' + description: |- + [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources. + 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/' @@ -36884,7 +36956,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -36983,7 +37055,8 @@ spec: - external properties: external: - description: The name of a BigQueryDataset. + description: A string of the format "bigquery.googleapis.com/projects/{{project}}/datasets/{{value}}", + where {{value}} is the name of a BigQueryDataset. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37009,7 +37082,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "pubsub.googleapis.com/projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37035,7 +37109,8 @@ spec: - external properties: external: - description: The name of a StorageBucket. + description: A string of the format "storage.googleapis.com/{{value}}", + where {{value}} is the name of a StorageBucket. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37249,7 +37324,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -37347,7 +37422,8 @@ spec: - external properties: external: - description: The name of a ComputeNetwork. + description: A string of the format "projects/{{project}}/global/networks/{{value}}", + where {{value}} is the name of a ComputeNetwork. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -37483,7 +37559,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -38244,7 +38320,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -44962,7 +45038,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45149,7 +45225,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -45437,7 +45513,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -45730,7 +45806,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46294,7 +46370,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46450,7 +46526,378 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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: monitoringuptimecheckconfigs.monitoring.cnrm.cloud.google.com +spec: + group: monitoring.cnrm.cloud.google.com + names: + categories: + - gcp + kind: MonitoringUptimeCheckConfig + plural: monitoringuptimecheckconfigs + shortNames: + - gcpmonitoringuptimecheckconfig + - gcpmonitoringuptimecheckconfigs + singular: monitoringuptimecheckconfig + 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: + contentMatchers: + description: The content that is expected to appear in the data returned + by the target server against which the check is run. Currently, + only the first entry in the `content_matchers` list is supported, + and additional entries will be ignored. This field is optional and + should only be specified if a content match is required as part + of the/ Uptime check. + items: + properties: + content: + type: string + matcher: + description: ' Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, + CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX' + type: string + required: + - content + type: object + type: array + displayName: + description: A human-friendly name for the Uptime check configuration. + The display name should be unique within a Stackdriver Workspace + in order to make it easier to identify; however, uniqueness is not + enforced. Required. + type: string + httpCheck: + description: Contains information needed to make an HTTP or HTTPS + check. + properties: + authInfo: + description: The authentication information. Optional when creating + an HTTP check; defaults to empty. + properties: + password: + oneOf: + - not: + required: + - valueFrom + required: + - value + - not: + required: + - value + required: + - valueFrom + properties: + value: + description: Value of the field. Cannot be used if 'valueFrom' + is specified. + type: string + valueFrom: + description: Source for the field's value. Cannot be used + if 'value' is specified. + properties: + secretKeyRef: + description: Reference to a value with the given key + in the given Secret in the resource's namespace. + properties: + key: + description: Key that identifies the value to + be extracted. + type: string + name: + description: Name of the Secret to extract a value + from. + type: string + required: + - name + - key + type: object + type: object + type: object + username: + type: string + required: + - password + - username + type: object + body: + description: 'The request body associated with the HTTP POST request. + If `content_type` is `URL_ENCODED`, the body passed in must + be URL-encoded. Users can provide a `Content-Length` header + via the `headers` field or the API will do so. If the `request_method` + is `GET` and `body` is not empty, the API will return an error. + The maximum byte size is 1 megabyte. Note: As with all `bytes` + fields JSON representations are base64 encoded. e.g.: "foo=bar" + in URL-encoded form is "foo%3Dbar" and in base64 encoding is + "Zm9vJTI1M0RiYXI=".' + type: string + contentType: + description: 'The content type to use for the check. Possible + values: TYPE_UNSPECIFIED, URL_ENCODED' + type: string + headers: + additionalProperties: + type: string + description: The list of headers to send as part of the Uptime + check request. If two headers have the same key and different + values, they should be entered as a single header, with the + value being a comma-separated list of all the desired values + as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt + (page 31). Entering two separate headers with the same key in + a Create call will cause the first to be overwritten by the + second. The maximum number of headers allowed is 100. + type: object + maskHeaders: + description: Boolean specifying whether to encrypt the header + information. Encryption should be specified for any headers + related to authentication that you do not wish to be seen when + retrieving the configuration. The server will be responsible + for encrypting the headers. On Get/List calls, if `mask_headers` + is set to `true` then the headers will be obscured with `******.` + type: boolean + path: + description: Optional (defaults to "/"). The path to the page + against which to run the check. Will be combined with the `host` + (specified within the `monitored_resource`) and `port` to construct + the full URL. If the provided path does not begin with "/", + a "/" will be prepended automatically. + type: string + port: + description: Optional (defaults to 80 when `use_ssl` is `false`, + and 443 when `use_ssl` is `true`). The TCP port on the HTTP + server against which to run the check. Will be combined with + host (specified within the `monitored_resource`) and `path` + to construct the full URL. + format: int64 + type: integer + requestMethod: + description: The HTTP request method to use for the check. If + set to `METHOD_UNSPECIFIED` then `request_method` defaults to + `GET`. + type: string + useSsl: + description: If `true`, use HTTPS instead of HTTP to run the check. + type: boolean + validateSsl: + description: Boolean specifying whether to include SSL certificate + validation as a part of the Uptime check. Only applies to checks + where `monitored_resource` is set to `uptime_url`. If `use_ssl` + is `false`, setting `validate_ssl` to `true` has no effect. + type: boolean + type: object + monitoredResource: + description: 'The [monitored resource](https://cloud.google.com/monitoring/api/resources) + associated with the configuration. The following monitored resource + types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer`' + properties: + filterLabels: + additionalProperties: + type: string + type: object + type: + type: string + required: + - filterLabels + - type + type: object + period: + description: How often, in seconds, the Uptime check is performed. + Currently, the only supported values are `60s` (1 minute), `300s` + (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, + defaults to `60s`. + 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 this uptime check config. + 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 + resourceGroup: + description: The group resource associated with the configuration. + properties: + groupRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The group of resources being monitored. Should + be only the `[GROUP_ID]`, and not the full-path `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`. + 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 + resourceType: + description: 'The resource type of the group members. Possible + values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER' + type: string + type: object + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + selectedRegions: + description: The list of regions from which the check will be run. + Some regions contain one location, and others contain more than + one. If this field is specified, enough regions must be provided + to include a minimum of 3 locations. Not specifying this field + will result in Uptime checks running from all available regions. + items: + type: string + type: array + tcpCheck: + description: Contains information needed to make a TCP check. + properties: + port: + description: The TCP port on the server against which to run the + check. Will be combined with host (specified within the `monitored_resource`) + to construct the full URL. Required. + format: int64 + type: integer + required: + - port + type: object + timeout: + description: The maximum amount of time to wait for the request to + complete (must be between 1 and 60 seconds). Required. + type: string + required: + - displayName + - projectRef + - timeout + type: object + status: + properties: + conditions: + description: Conditions represent the latest available observation + of the resource's current state. + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + type: string + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, one-word, CamelCase reason for the condition's + last transition. + type: string + status: + description: Status is the status of the condition. Can be True, + False, Unknown. + type: string + type: + description: Type is the type of the condition. + type: string + type: object + type: array + observedGeneration: + description: ObservedGeneration is the generation of the resource + that was most recently observed by the Config Connector controller. + If this is equal to metadata.generation, then that means that the + current reported status reflects the most recent desired state of + the resource. + type: integer + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46629,7 +47076,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -46884,7 +47331,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47110,7 +47557,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47351,7 +47798,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -47677,7 +48124,2089 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgateways.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGateway + plural: networkservicesgateways + shortNames: + - gcpnetworkservicesgateway + - gcpnetworkservicesgateways + singular: networkservicesgateway + 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: + addresses: + description: One or more addresses with ports in format of ":" that + the Gateway must receive traffic on. The proxy binds to the ports + specified. IP address can be anything that is allowed by the underlying + infrastructure (auto-allocation, static IP, BYOIP). + items: + type: string + type: array + authorizationPolicy: + description: Optional. A fully-qualified AuthorizationPolicy URL reference. + Specifies how traffic is authorized. If empty, authorization checks + are disabled. + type: string + description: + description: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Gateway + resource. + type: object + location: + description: The location for the resource + type: string + ports: + description: Required. One or more ports that the Gateway must receive + traffic on. The proxy binds to the ports specified. Gateway listen + on 0.0.0.0 on the ports specified below. + items: + format: int64 + type: integer + 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 + scope: + description: Required. Immutable. Scope determines how configuration + across multiple Gateway instances are merged. The configuration + for multiple Gateway instances with the same scope will be merged + as presented as a single coniguration to the proxy/load balancer. + Max length 64 characters. Scope should start with a letter and can + only have letters, numbers, hyphens. + type: string + serverTlsPolicy: + description: Optional. A fully-qualified ServerTLSPolicy URL reference. + Specifies how TLS traffic is terminated. If empty, TLS termination + is disabled. + type: string + type: + description: 'Immutable. The type of the customer managed gateway. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - ports + - projectRef + - scope + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesgrpcroutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesGRPCRoute + plural: networkservicesgrpcroutes + shortNames: + - gcpnetworkservicesgrpcroute + - gcpnetworkservicesgrpcroutes + singular: networkservicesgrpcroute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: 'Required. Service hostnames with an optional port for + which this route describes traffic. Format: [:] Hostname is the + fully qualified domain name of a network host. This matches the + RFC 1123 definition of a hostname with 2 notable exceptions: - IPs + are not allowed. - A hostname may be prefixed with a wildcard label + (*.). The wildcard label must appear by itself as the first label. + Hostname can be “precise” which is a domain name without the terminating + dot of a network host (e.g. “foo.example.com”) or “wildcard”, which + is a domain name prefixed with a single wildcard label (e.g. *.example.com). + Note that as per RFC1035 and RFC1123, a label must consist of lower + case alphanumeric characters or ‘-’, and must start and end with + an alphanumeric character. No other punctuation is allowed. The + routes associated with a Router must have unique hostnames. If you + attempt to attach multiple routes with conflicting hostnames, the + configuration will be rejected. For example, while it is acceptable + for routes for the hostnames "*.foo.bar.com" and "*.bar.com" to + be associated with the same route, it is not possible to associate + two routes both with "*.bar.com" or both with "bar.com". In the + case that multiple routes match the hostname, the most specific + match will be selected. For example, "foo.bar.baz.com" will take + precedence over "*.bar.baz.com" and "*.bar.baz.com" will take precedence + over "*.baz.com". If a port is specified, then gRPC clients must + use the channel URI with the port to match this rule (i.e. "xds:///service:123"), + otherwise they must supply the URI without a port (i.e. "xds:///service").' + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the GrpcRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this GrpcRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/`' + items: + type: string + type: array + rules: + description: Required. A list of detailed rules defining how to route + traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated + with the first matching GrpcRoute.RouteRule will be executed. At + least one rule must be supplied. + items: + properties: + action: + description: Required. A detailed rule defining how to route + traffic. This field is required. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. If multiple destinations + are specified, traffic will be split between Backend Service(s) + according to the weight field of these destinations. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + faultInjectionPolicy: + description: Optional. The specification for fault injection + introduced into traffic to test the resiliency of clients + to destination service failure. As part of fault injection, + when clients send requests to a destination, delays can + be introduced on a percentage of requests before sending + those requests to the destination service. Similarly requests + from clients can be aborted by for a percentage of requests. + timeout and retry_policy will be ignored by clients that + are configured with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + requestHeaderModifier: + description: Optional. The specification for modifying the + headers of a matching request prior to delivery of the + request to the destination. Cannot be set if the route + is attached to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Optional. Specifies the policy on how requests + intended for the route's destination are mirrored to a + separate mirrored destination. The proxy will not wait + for the mirrored destination to respond before returning + the response. Prior to sending traffic to the mirrored + service, the host / authority header is suffixed with + -shadow. Cannot be set if the route is attached to a Router + whose type is PROXYLESS_GRPC. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a destination + service to which to route traffic. Must refer + to either a BackendService or ServiceDirectoryService. + 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 + weight: + description: 'Optional. Specifies the proportion + of requests forwarded to the backend referenced + by the serviceName field. This is computed as: + weight/Sum(weights in this destination list). + For non-zero values, there may be some epsilon + from the exact proportion defined here depending + on the precision an implementation supports. If + only one serviceName is specified and it has a + weight greater than 0, 100% of the traffic is + forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in + equal proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: object + responseHeaderModifier: + description: Optional. The specification for modifying the + headers of a response prior to sending the response back + to the client. Cannot be set if the route is attached + to a Router whose type is PROXYLESS_GRPC. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Optional. Specifies the retry policy associated + with this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specpfied, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: If not specified, will use the timeout + set in the RouteAction. If timeout is not set in the + RouteAction, will use the largest timeout among all + Backend Services associated with the route. + type: string + retryConditions: + description: '- connect-failure: Router will retry on + failures connecting to Backend Services, for example + due to connection timeouts. - refused-stream: Router + will retry if the backend service resets the stream + with a REFUSED_STREAM error code. This reset type + indicates that it is safe to retry. - cancelled: Router + will retry if the gRPC status code in the response + header is set to cancelled - deadline-exceeded: Router + will retry if the gRPC status code in the response + header is set to deadline-exceeded - resource-exhausted: + Router will retry if the gRPC status code in the response + header is set to resource-exhausted - unavailable: + Router will retry if the gRPC status code in the response + header is set to unavailable' + items: + type: string + type: array + type: object + timeout: + description: Optional. Specifies the timeout for selected + route. Timeout is computed from the time the request has + been fully processed (i.e. end of stream) up until the + response has been completely processed. Timeout includes + all retries. + type: string + urlRewrite: + description: Optional. The specification for rewrite URL + before forwarding requests to the destination. Cannot + be set if the route is attached to a Router whose type + is PROXYLESS_GRPC. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: Optional. Matches define conditions used for matching + the rule against incoming gRPC requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. If no matches field is specified, this rule will + unconditionally match traffic. + items: + properties: + headers: + description: Optional. Specifies a collection of headers + to match. + items: + properties: + key: + description: Required. The key of the header. + type: string + type: + description: 'Optional. Specifies how to match against + the value of the header. If not specified, a default + value of EXACT is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + value: + description: Required. The value of the header. + type: string + required: + - key + - value + type: object + type: array + method: + description: Optional. A gRPC method to match against. + If this field is empty or omitted, will match all methods. + properties: + caseSensitive: + description: Optional. Specifies that matches are + case sensitive. The default value is true. case_sensitive + must not be used with a type of REGULAR_EXPRESSION. + type: boolean + grpcMethod: + description: Required. Name of the method to match + against. If unspecified, will match all methods. + type: string + grpcService: + description: Required. Name of the service to match + against. If unspecified, will match all services. + type: string + type: + description: 'Optional. Specifies how to match against + the name. If not specified, a default value of "EXACT" + is used. Possible values: MATCH_TYPE_UNSPECIFIED, + MATCH_ANY, MATCH_ALL' + type: string + required: + - grpcMethod + - grpcService + type: object + type: object + type: array + required: + - action + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkserviceshttproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesHTTPRoute + plural: networkserviceshttproutes + shortNames: + - gcpnetworkserviceshttproute + - gcpnetworkserviceshttproutes + singular: networkserviceshttproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + hostnames: + description: Required. Hostnames define a set of hosts that should + match against the HTTP host header to select a HttpRoute to process + the request. Hostname is the fully qualified domain name of a network + host, as defined by RFC 1123 with the exception that ip addresses + are not allowed. Wildcard hosts are supported as "*" (no prefix + or suffix allowed). + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the HttpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this HttpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. + items: + properties: + action: + description: The detailed rule defining how to route matched + traffic. + properties: + corsPolicy: + description: The specification for allowing client side + cross-origin requests. + properties: + allowCredentials: + description: In response to a preflight request, setting + this to true indicates that the actual request can + include user credentials. This translates to the Access-Control-Allow-Credentials + header. Default value is false. + type: boolean + allowHeaders: + description: Specifies the content for Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression patterns + that match allowed origins. For regular expression + grammar, please see https://github.com/google/re2/wiki/Syntax. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that will + be allowed to do CORS requests. An origin is allowed + if it matches either an item in allow_origins or an + item in allow_origin_regexes. + items: + type: string + type: array + disabled: + description: If true, the CORS policy is disabled. The + default value is false, which indicates that the CORS + policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long result of a preflight + request can be cached in seconds. This translates + to the Access-Control-Max-Age header. + type: string + type: object + destinations: + description: The destination to which traffic should be + forwarded. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to route + traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights in + this destination list). For non-zero values, there + may be some epsilon from the exact proportion defined + here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection introduced + into traffic to test the resiliency of clients to backend + service failure. As part of fault injection, when clients + send requests to a backend service, delays can be introduced + on a percentage of requests before sending those requests + to the backend service. Similarly requests from clients + can be aborted for a percentage of requests. timeout and + retry_policy will be ignored by clients that are configured + with a fault_injection_policy + properties: + abort: + description: The specification for aborting to client + requests. + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic which will + be aborted. The value must be between [0, 100] + format: int64 + type: integer + type: object + delay: + description: The specification for injecting delay to + client requests. + properties: + fixedDelay: + description: Specify a fixed delay before forwarding + the request. + type: string + percentage: + description: The percentage of traffic on which + delay will be injected. The value must be between + [0, 100] + format: int64 + type: integer + type: object + type: object + originalDestination: + description: If true, the matched traffic will use the destination + ip and port of the original connection (as it was not + processed by proxy) as the destination of the request. + Only one of destinations, redirect, original_destination + can be set. + type: boolean + redirect: + description: If set, the request is directed as configured + by this field. + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the + request. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL + scheme of the redirected request will remain the same + as that of the request. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the + request. path_redirect can not be supplied together + with prefix_redirect. Supply one alone or neither. + If neither is supplied, the path of the original request + will be used for the redirect. + type: string + portRedirect: + description: The port that will be used in the redirected + request instead of the one that was supplied in the + request. + format: int64 + type: integer + prefixRewrite: + description: Indicates that during redirection, the + matched prefix (or path) should be swapped with this + value. This option allows URLs be dynamically created + based on the request. + type: string + responseCode: + description: 'The HTTP Status code to use for the redirect. + Possible values: MOVED_PERMANENTLY_DEFAULT, FOUND, + SEE_OTHER, TEMPORARY_REDIRECT, PERMANENT_REDIRECT' + type: string + stripQuery: + description: if set to true, any accompanying query + portion of the original URL is removed prior to redirecting + the request. If set to false, the query portion of + the original URL is retained. The default is set to + false. + type: boolean + type: object + requestHeaderModifier: + description: The specification for modifying the headers + of a matching request prior to delivery of the request + to the destination. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + requestMirrorPolicy: + description: Specifies the policy on how requests intended + for the routes destination are shadowed to a separate + mirrored destination. Proxy will not wait for the shadow + destination to respond before returning the response. + Prior to sending traffic to the shadow service, the host/authority + header is suffixed with -shadow. + properties: + destination: + description: The destination the requests will be mirrored + to. The weight of the destination will be ignored. + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The URL of a BackendService to + route traffic to. + 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 + weight: + description: 'Specifies the proportion of requests + forwarded to the backend referenced by the serviceName + field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified + and it has a weight greater than 0, 100% of the + traffic is forwarded to that backend. If weights + are specified for any one service name, they need + to be specified for all of them. If weights are + unspecified for all services, then, traffic is + distributed in equal proportions to all of them.' + format: int64 + type: integer + type: object + type: object + responseHeaderModifier: + description: The specification for modifying the headers + of a response prior to sending the response back to the + client. + properties: + add: + additionalProperties: + type: string + description: Add the headers with given map where key + is the name of the header, value is the value of the + header. + type: object + remove: + description: Remove headers (matching by header names) + specified in the list. + items: + type: string + type: array + set: + additionalProperties: + type: string + description: Completely overwrite/replace the headers + with given map where key is the name of the header, + value is the value of the header. + type: object + type: object + retryPolicy: + description: Specifies the retry policy associated with + this route. + properties: + numRetries: + description: Specifies the allowed number of retries. + This number must be > 0. If not specified, default + to 1. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout per retry + attempt. + type: string + retryConditions: + description: 'Specifies one or more conditions when + this retry policy applies. Valid values are: 5xx: + Proxy will attempt a retry if the destination service + responds with any 5xx response code, of if the destination + service does not respond at all, example: disconnect, + reset, read timeout, connection failure and refused + streams. gateway-error: Similar to 5xx, but only applies + to response codes 502, 503, 504. reset: Proxy will + attempt a retry if the destination service does not + respond at all (disconnect/reset/read timeout) connect-failure: + Proxy will retry on failures connecting to destination + for example due to connection timeouts. retriable-4xx: + Proxy will retry fro retriable 4xx response codes. + Currently the only retriable error supported is 409. + refused-stream: Proxy will retry if the destination + resets the stream with a REFUSED_STREAM error code. + This reset type indicates that it is safe to retry.' + items: + type: string + type: array + type: object + timeout: + description: Specifies the timeout for selected route. Timeout + is computed from the time the request has been fully processed + (i.e. end of stream) up until the response has been completely + processed. Timeout includes all retries. + type: string + urlRewrite: + description: The specification for rewrite URL before forwarding + requests to the destination. + properties: + hostRewrite: + description: Prior to forwarding the request to the + selected destination, the requests host header is + replaced by this value. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request to the + selected destination, the matching portion of the + requests path is replaced by this value. + type: string + type: object + type: object + matches: + description: A list of matches define conditions used for matching + the rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if ANY one of the matches is + satisfied. + items: + properties: + fullPathMatch: + description: The HTTP request path value should exactly + match this value. Only one of full_path_match, prefix_match, + or regex_match should be used. + type: string + headers: + description: Specifies a list of HTTP request headers + to match against. ALL of the supplied headers must be + matched. + items: + properties: + exactMatch: + description: The value of the header should match + exactly the content of exact_match. + type: string + header: + description: The name of the HTTP header to match + against. + type: string + invertMatch: + description: If specified, the match result will + be inverted before checking. Default value is + set to false. + type: boolean + prefixMatch: + description: The value of the header must start + with the contents of prefix_match. + type: string + presentMatch: + description: A header with header_name must exist. + The match takes place whether or not the header + has a value. + type: boolean + rangeMatch: + description: If specified, the rule will match if + the request header value is within the range. + properties: + end: + description: End of the range (exclusive) + format: int64 + type: integer + start: + description: Start of the range (inclusive) + format: int64 + type: integer + type: object + regexMatch: + description: 'The value of the header must match + the regular expression specified in regex_match. + For regular expression grammar, please see: https://github.com/google/re2/wiki/Syntax' + type: string + suffixMatch: + description: The value of the header must end with + the contents of suffix_match. + type: string + type: object + type: array + ignoreCase: + description: Specifies if prefix_match and full_path_match + matches are case sensitive. The default value is false. + type: boolean + prefixMatch: + description: The HTTP request path value must begin with + specified prefix_match. prefix_match must begin with + a /. Only one of full_path_match, prefix_match, or regex_match + should be used. + type: string + queryParameters: + description: Specifies a list of query parameters to match + against. ALL of the query parameters must be matched. + items: + properties: + exactMatch: + description: The value of the query parameter must + exactly match the contents of exact_match. Only + one of exact_match, regex_match, or present_match + must be set. + type: string + presentMatch: + description: Specifies that the QueryParameterMatcher + matches if request contains query parameter, irrespective + of whether the parameter has a value or not. Only + one of exact_match, regex_match, or present_match + must be set. + type: boolean + queryParameter: + description: The name of the query parameter to + match. + type: string + regexMatch: + description: The value of the query parameter must + match the regular expression specified by regex_match. + For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax + Only one of exact_match, regex_match, or present_match + must be set. + type: string + type: object + type: array + regexMatch: + description: The HTTP request path value must satisfy + the regular expression specified by regex_match after + removing any query parameters and anchor supplied with + the original URL. For regular expression grammar, please + see https://github.com/google/re2/wiki/Syntax Only one + of full_path_match, prefix_match, or regex_match should + be used. + type: string + type: object + type: array + type: object + type: array + required: + - hostnames + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicesmeshes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesMesh + plural: networkservicesmeshes + shortNames: + - gcpnetworkservicesmesh + - gcpnetworkservicesmeshes + singular: networkservicesmesh + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + interceptionPort: + description: Optional. If set to a valid TCP port (1-65535), instructs + the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) + address. The SIDECAR proxy will expect all traffic to be redirected + to this port regardless of its actual ip:port destination. If unset, + a port '15001' is used as the interception port. This field is only + valid if the type of Mesh is SIDECAR. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the Mesh + resource. + type: object + 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 + scope: + description: Required. Immutable. Scope defines a logical configuration + boundary for mesh. The routes pointing to this particular mesh resource + defines the mesh configuration and the scope field name is used + by mesh clients to receive that configuration. There cannot be more + than one Mesh resource instance of the same type (SIDECAR or PROXYLESS_GRPC) + with the same scope. Max length 64 characters. Scope should start + with a letter and can only have letters, numbers, hyphens. + type: string + type: + description: 'Required. Immutable. The type of the Mesh resource. + Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL' + type: string + required: + - location + - projectRef + - scope + - type + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/dcl2crd: "true" + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: alpha + cnrm.cloud.google.com/system: "true" + name: networkservicestcproutes.networkservices.cnrm.cloud.google.com +spec: + group: networkservices.cnrm.cloud.google.com + names: + categories: + - gcp + kind: NetworkServicesTCPRoute + plural: networkservicestcproutes + shortNames: + - gcpnetworkservicestcproute + - gcpnetworkservicestcproutes + singular: networkservicestcproute + 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: Optional. A free-text description of the resource. Max + length 1024 characters. + type: string + gateways: + 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 + labels: + additionalProperties: + type: string + description: Optional. Set of label tags associated with the TcpRoute + resource. + type: object + location: + description: The location for the resource + type: string + meshes: + 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 + 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 + routers: + description: 'Optional. Routers define a list of routers this TcpRoute + should be served by. Each router reference should match the pattern: + `projects/*/locations/global/routers/` The attached Router should + be of a type PROXY' + items: + type: string + type: array + rules: + description: Required. Rules that define how traffic is routed and + handled. At least one RouteRule must be supplied. If there are multiple + rules then the action taken will be the first rule to match. + items: + properties: + action: + description: Required. The detailed rule defining how to route + matched traffic. + properties: + destinations: + description: Optional. The destination services to which + traffic should be forwarded. At least one destination + service is required. + items: + properties: + serviceRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: Required. The URL of a BackendService + to route traffic to. + 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 + weight: + description: 'Optional. Specifies the proportion of + requests forwarded to the backend referenced by + the serviceName field. This is computed as: weight/Sum(weights + in this destination list). For non-zero values, + there may be some epsilon from the exact proportion + defined here depending on the precision an implementation + supports. If only one serviceName is specified and + it has a weight greater than 0, 100% of the traffic + is forwarded to that backend. If weights are specified + for any one service name, they need to be specified + for all of them. If weights are unspecified for + all services, then, traffic is distributed in equal + proportions to all of them.' + format: int64 + type: integer + required: + - serviceRef + type: object + type: array + originalDestination: + description: Optional. If true, Router will use the destination + IP and port of the original connection as the destination + of the request. Default is false. + type: boolean + type: object + matches: + description: Optional. RouteMatch defines the predicate used + to match requests to a given action. Multiple match types + are “OR”ed for evaluation. If no routeMatch field is specified, + this rule will unconditionally match traffic. + items: + properties: + address: + description: 'Required. Must be specified in the CIDR + range format. A CIDR range consists of an IP Address + and a prefix length to construct the subnet mask. By + default, the prefix length is 32 (i.e. matches a single + IP address). Only IPV4 addresses are supported. Examples: + “10.0.0.1” - matches against this exact IP address. + “10.0.0.0/8" - matches against any IP address within + the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" + - matches against any IP address''.' + type: string + port: + description: Required. Specifies the destination port + to match against. + type: string + required: + - address + - port + type: object + type: array + required: + - action + type: object + type: array + required: + - location + - projectRef + - rules + 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 timestamp when the resource was created. + format: date-time + 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 + updateTime: + description: Output only. The timestamp when the resource was updated. + format: date-time + 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.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -48443,7 +50972,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49440,7 +51969,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -49933,7 +52462,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -50346,7 +52875,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50568,7 +53097,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -50673,7 +53202,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50857,7 +53387,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -50904,12 +53435,6 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - path: - description: DEPRECATED — Deprecated in favor of id, which contains - an identical value. This field will be removed in the next major - release of the provider. Path of the subscription in the format - projects/{project}/subscriptions/{name}. - type: string type: object required: - spec @@ -50929,7 +53454,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51017,6 +53542,16 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + messageRetentionDuration: + description: |- + Indicates the minimum duration to retain a message after it is published + to the topic. If this field is set, messages published to the topic in + the last messageRetentionDuration are always available to subscribers. + For instance, it allows any attached subscription to seek to a timestamp + that is up to messageRetentionDuration in the past. If this field is not + set, message retention is controlled by settings on individual subscriptions. + Cannot be more than 7 days or less than 10 minutes. + type: string messageStoragePolicy: description: |- Policy constraining the set of Google Cloud Platform regions where @@ -51095,7 +53630,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" @@ -51328,7 +53863,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -51403,8 +53938,525 @@ spec: type: string authorizedNetworkRef: description: |- - The network to which the instance is connected. If left - unspecified, the default network will be used. + The network to which the instance is connected. If left + unspecified, the default network will be used. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The selfLink of a ComputeNetwork. + 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 + connectMode: + description: 'Immutable. The connection mode of the Redis instance. + Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"].' + type: string + displayName: + description: An arbitrary and optional user-provided name for the + instance. + type: string + locationId: + description: |- + Immutable. The zone where the instance will be provisioned. If not provided, + the service will choose a zone for the instance. For STANDARD_HA tier, + instances will be created across two zones for protection against + zonal failures. If [alternativeLocationId] is also provided, it must + be different from [locationId]. + type: string + memorySizeGb: + description: Redis memory size in GiB. + type: integer + redisConfigs: + additionalProperties: + type: string + description: |- + Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported parameters: + https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + type: object + redisVersion: + description: "The version of Redis software. If not provided, latest + supported\nversion will be used. Please check the API documentation + linked \nat the top for the latest valid values." + type: string + region: + description: Immutable. The name of the Redis region of the instance. + type: string + reservedIpRange: + description: |- + Immutable. The CIDR range of internal addresses that are reserved for this + instance. If not provided, the service will choose an unused /29 + block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be + unique and non-overlapping with existing subnets in an authorized + network. + type: string + 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: |- + Immutable. The service tier of the instance. Must be one of these values: + + - BASIC: standalone instance + - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. + type: string + transitEncryptionMode: + description: |- + Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. + + - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. + type: string + required: + - memorySizeGb + - region + 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: |- + The time the instance was created in RFC3339 UTC "Zulu" format, + accurate to nanoseconds. + type: string + currentLocationId: + description: |- + The current zone where the Redis endpoint is placed. + For Basic Tier instances, this will always be the same as the + [locationId] provided by the user at creation time. For Standard Tier + instances, this can be either [locationId] or [alternativeLocationId] + and can change after a failover event. + type: string + host: + description: |- + Hostname or IP address of the exposed Redis endpoint used by clients + to connect to the service. + 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 + persistenceIamIdentity: + description: |- + Output only. Cloud IAM identity used by import / export operations + to transfer data to/from Cloud Storage. Format is "serviceAccount:". + The value may change over time for a given instance so should be + checked before each import/export operation. + type: string + port: + description: The port number of the exposed Redis endpoint. + type: integer + serverCaCerts: + description: List of server CA certificates for the instance. + items: + properties: + cert: + description: Serial number, as extracted from the certificate. + type: string + createTime: + description: The time when the certificate was created. + type: string + expireTime: + description: The time when the certificate expires. + type: string + serialNumber: + description: Serial number, as extracted from the certificate. + type: string + sha1Fingerprint: + description: Sha1 Fingerprint of the certificate. + type: string + type: object + type: array + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerLien + plural: resourcemanagerliens + shortNames: + - gcpresourcemanagerlien + - gcpresourcemanagerliens + singular: resourcemanagerlien + 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: + origin: + description: |- + Immutable. A stable, user-visible/meaningful string identifying the origin + of the Lien, intended to be inspected programmatically. Maximum length of + 200 characters. + type: string + parent: + properties: + projectRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: A string of the format "projects/{{value}}", + where {{value}} is the number of a Project. + 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 + reason: + description: |- + Immutable. Concise user-visible strings indicating why an action cannot be performed + on a resource. Maximum length of 200 characters. + type: string + resourceID: + description: Immutable. Optional. The service-generated name of the + resource. Used for acquisition only. Leave unset to create a new + resource. + type: string + restrictions: + description: |- + Immutable. The types of operations which should be blocked as a result of this Lien. + Each value should correspond to an IAM permission. The server will validate + the permissions against those for which Liens are supported. An empty + list is meaningless and will be rejected. + e.g. ['resourcemanager.projects.delete']. + items: + type: string + type: array + required: + - origin + - parent + - reason + - restrictions + 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: Time of creation. + type: string + name: + description: A system-generated unique identifier for this Lien. + 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 + 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.70.0 + creationTimestamp: null + labels: + cnrm.cloud.google.com/managed-by-kcc: "true" + cnrm.cloud.google.com/stability-level: stable + cnrm.cloud.google.com/system: "true" + cnrm.cloud.google.com/tf2crd: "true" + name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com +spec: + group: resourcemanager.cnrm.cloud.google.com + names: + categories: + - gcp + kind: ResourceManagerPolicy + plural: resourcemanagerpolicies + shortNames: + - gcpresourcemanagerpolicy + - gcpresourcemanagerpolicies + singular: resourcemanagerpolicy + 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: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + properties: + enforced: + description: If true, then the Policy is enforced. If false, then + any configuration is acceptable. + type: boolean + required: + - enforced + type: object + constraint: + description: Immutable. The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + folderRef: + description: |- + The folder on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Folder. + 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 + listPolicy: + description: A policy that can define specific values that are allowed + or denied for the given constraint. It can also be used to allow + or deny all values. . + properties: + allow: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + deny: + description: One or the other must be set. + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values that are + allowed or denied. + items: + type: string + type: array + type: object + inheritFromParent: + description: If set to true, the values from the effective Policy + of the parent resource are inherited, meaning the values set + in this Policy are added to the values inherited up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default to a + configuration that matches the value specified in this field. + type: string + type: object + organizationRef: + description: |- + The organization on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. oneOf: - not: required: @@ -51421,7 +54473,7 @@ spec: - external properties: external: - description: The selfLink of a ComputeNetwork. + description: The name of an Organization. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51430,71 +54482,51 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object - connectMode: - description: 'Immutable. The connection mode of the Redis instance. - Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", - "PRIVATE_SERVICE_ACCESS"].' - type: string - displayName: - description: An arbitrary and optional user-provided name for the - instance. - type: string - locationId: - description: |- - Immutable. The zone where the instance will be provisioned. If not provided, - the service will choose a zone for the instance. For STANDARD_HA tier, - instances will be created across two zones for protection against - zonal failures. If [alternativeLocationId] is also provided, it must - be different from [locationId]. - type: string - memorySizeGb: - description: Redis memory size in GiB. - type: integer - redisConfigs: - additionalProperties: - type: string + projectRef: description: |- - Redis configuration parameters, according to http://redis.io/topics/config. - Please check Memorystore documentation for the list of supported parameters: - https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs. + The project on which to configure the constraint. Only one of + projectRef, folderRef, or organizationRef may be specified. + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The name of a Project. + 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 - redisVersion: - description: "The version of Redis software. If not provided, latest - supported\nversion will be used. Please check the API documentation - linked \nat the top for the latest valid values." - type: string - region: - description: Immutable. The name of the Redis region of the instance. - type: string - reservedIpRange: - description: |- - Immutable. The CIDR range of internal addresses that are reserved for this - instance. If not provided, the service will choose an unused /29 - block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be - unique and non-overlapping with existing subnets in an authorized - network. - type: string - 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: |- - Immutable. The service tier of the instance. Must be one of these values: - - - BASIC: standalone instance - - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"]. - type: string - transitEncryptionMode: - description: |- - Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. - - - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"]. - type: string + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + version: + description: Version of the Policy. Default version is 0. + type: integer required: - - memorySizeGb - - region + - constraint type: object status: properties: @@ -51524,23 +54556,10 @@ spec: type: string type: object type: array - createTime: - description: |- - The time the instance was created in RFC3339 UTC "Zulu" format, - accurate to nanoseconds. - type: string - currentLocationId: - description: |- - The current zone where the Redis endpoint is placed. - For Basic Tier instances, this will always be the same as the - [locationId] provided by the user at creation time. For Standard Tier - instances, this can be either [locationId] or [alternativeLocationId] - and can change after a failover event. - type: string - host: - description: |- - Hostname or IP address of the exposed Redis endpoint used by clients - to connect to the service. + etag: + description: The etag of the organization policy. etag is used for + optimistic concurrency control as a way to help prevent simultaneous + updates of a policy from overwriting each other. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51549,37 +54568,11 @@ spec: current reported status reflects the most recent desired state of the resource. type: integer - persistenceIamIdentity: - description: |- - Output only. Cloud IAM identity used by import / export operations - to transfer data to/from Cloud Storage. Format is "serviceAccount:". - The value may change over time for a given instance so should be - checked before each import/export operation. + updateTime: + description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate + to nanoseconds, representing when the variable was last updated. + Example: "2016-10-09T12:33:37.578138407Z".' type: string - port: - description: The port number of the exposed Redis endpoint. - type: integer - serverCaCerts: - description: List of server CA certificates for the instance. - items: - properties: - cert: - description: Serial number, as extracted from the certificate. - type: string - createTime: - description: The time when the certificate was created. - type: string - expireTime: - description: The time when the certificate expires. - type: string - serialNumber: - description: Serial number, as extracted from the certificate. - type: string - sha1Fingerprint: - description: Sha1 Fingerprint of the certificate. - type: string - type: object - type: array type: object required: - spec @@ -51599,25 +54592,25 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.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/stability-level: alpha cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerliens.resourcemanager.cnrm.cloud.google.com + name: runservices.run.cnrm.cloud.google.com spec: - group: resourcemanager.cnrm.cloud.google.com + group: run.cnrm.cloud.google.com names: categories: - gcp - kind: ResourceManagerLien - plural: resourcemanagerliens + kind: RunService + plural: runservices shortNames: - - gcpresourcemanagerlien - - gcpresourcemanagerliens - singular: resourcemanagerlien + - gcprunservice + - gcprunservices + singular: runservice preserveUnknownFields: false scope: Namespaced versions: @@ -51655,15 +54648,337 @@ spec: type: object spec: properties: - origin: - description: |- - Immutable. A stable, user-visible/meaningful string identifying the origin - of the Lien, intended to be inspected programmatically. Maximum length of - 200 characters. + annotations: + additionalProperties: + type: string + description: 'Unstructured key value map that may be set by external + tools to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. Cloud Run will populate + some annotations using ''run.googleapis.com'' or ''serving.knative.dev'' + namespaces. This field follows Kubernetes annotations'' namespacing, + limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + binaryAuthorization: + description: Settings for the Binary Authorization feature. + properties: + breakglassJustification: + description: If present, indicates to use Breakglass using this + justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass + type: string + useDefault: + description: If True, indicates to use the default project's binary + authorization policy. If False, binary authorization will be + disabled + type: boolean + type: object + client: + description: Arbitrary identifier for the API client. type: string - parent: + clientVersion: + description: Arbitrary version identifier for the API client. + type: string + description: + description: User-provided description of the Service. + type: string + ingress: + description: Provides the ingress settings for this Service. On output, + returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED + if no revision is active. + type: string + launchStage: + description: 'The launch stage as defined by [Google Cloud Platform + Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud + Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, + GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, + PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED' + 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: - projectRef: + 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 + template: + description: Required. The template used to create revisions for this + Service. + properties: + annotations: + additionalProperties: + type: string + description: KRM-style annotations for the resource. + type: object + confidential: + description: Enables Confidential Cloud Run in Revisions created + using this template. + type: boolean + containerConcurrency: + description: Sets the maximum number of requests that each serving + instance can receive. + format: int64 + type: integer + containers: + description: Holds the single container that defines the unit + of execution for this Revision. + items: + properties: + args: + description: 'Arguments to the entrypoint. The docker image''s + CMD is used if this is not provided. Variable references + $(VAR_NAME) are expanded using the container''s environment. + If a variable cannot be resolved, the reference in the + input string will be unchanged. The $(VAR_NAME) syntax + can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + references will never be expanded, regardless of whether + the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed within a shell. + The docker image''s ENTRYPOINT is used if this is not + provided. Variable references $(VAR_NAME) are expanded + using the container''s environment. If a variable cannot + be resolved, the reference in the input string will be + unchanged. The $(VAR_NAME) syntax can be escaped with + a double $$, ie: $$(VAR_NAME). Escaped references will + never be expanded, regardless of whether the variable + exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to set in the + container. + items: + properties: + name: + description: Required. Name of the environment variable. + Must be a C_IDENTIFIER, and mnay not exceed 32768 + characters. + type: string + value: + description: 'Variable references $(VAR_NAME) are + expanded using the previous defined environment + variables in the container and any route environment + variables. If a variable cannot be resolved, the + reference in the input string will be unchanged. + The $(VAR_NAME) syntax can be escaped with a double + $$, ie: $$(VAR_NAME). Escaped references will never + be expanded, regardless of whether the variable + exists or not. Defaults to "", and the maximum length + is 32768 bytes.' + type: string + valueSource: + description: Source for the environment variable's + value. + properties: + secretKeyRef: + description: Selects a secret and a specific version + from Cloud Secret Manager. + properties: + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the + secret in Cloud Secret Manager. Format: + {secret_name} if the secret is in the + same project. projects/{project}/secrets/{secret_name} + if the secret is in a different project.' + 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 + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager + secret version. Can be 'latest' for + the latest value or an integer for a + specific version. + 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: + - secretRef + type: object + type: object + required: + - name + type: object + type: array + image: + description: 'Required. URL of the Container image in Google + Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images' + type: string + name: + description: Name of the container specified as a DNS_LABEL. + type: string + ports: + description: List of ports to expose from the container. + Only a single port can be specified. The specified ports + must be listening on all interfaces (0.0.0.0) within the + container to be accessible. If omitted, a port number + will be chosen and passed to the container through the + PORT environment variable for the container to listen + on. + items: + properties: + containerPort: + description: Port number the container listens on. + This must be a valid TCP port number, 0 < container_port + < 65536. + format: int64 + type: integer + name: + description: If specified, used to specify which protocol + to use. Allowed values are "http1" and "h2c". + type: string + type: object + type: array + resources: + description: 'Compute Resource requirements by this container. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + cpuIdle: + description: Determines whether CPU should be throttled + or not outside of requests. + type: boolean + limits: + additionalProperties: + type: string + description: 'Only memory and CPU are supported. Note: + The only supported values for CPU are ''1'', ''2'', + and ''4''. Setting 4 CPU requires at least 2Gi of + memory. The values of the map is string form of the + ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + type: object + volumeMounts: + description: Volume to mount into the container's filesystem. + items: + properties: + mountPath: + description: Required. Path within the container at + which the volume should be mounted. Must not contain + ':'. For Cloud SQL volumes, it can be left empty, + or must otherwise be `/cloudsql`. All instances + defined in the Volume will be available as `/cloudsql/[instance]`. + For more information on Cloud SQL volumes, visit + https://cloud.google.com/sql/docs/mysql/connect-run + type: string + name: + description: Required. This must match the Name of + a Volume. + type: string + required: + - mountPath + - name + type: object + type: array + required: + - image + type: object + type: array + executionEnvironment: + description: 'The sandbox environment to host this Revision. Possible + values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_DEFAULT, + EXECUTION_ENVIRONMENT_GEN2' + type: string + labels: + additionalProperties: + type: string + description: KRM-style labels for the resource. + type: object + revision: + description: The unique name for the revision. If this field is + omitted, it will be automatically generated based on the Service + name. + type: string + scaling: + description: Scaling settings for this Revision. + properties: + maxInstanceCount: + description: Maximum number of serving instances that this + resource should have. + format: int64 + type: integer + minInstanceCount: + description: Minimum number of serving instances that this + resource should have. + format: int64 + type: integer + type: object + serviceAccountRef: oneOf: - not: required: @@ -51680,7 +54995,11 @@ spec: - external properties: external: - description: The number of a Project. + description: Email address of the IAM service account associated + with the revision of the service. The service account represents + the identity of the running revision, and determines what + permissions the revision has. If not provided, the revision + will use the project's default service account. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -51689,32 +55008,249 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object + timeout: + description: Max allowed time for an instance to respond to a + request. + type: string + volumes: + description: A list of Volumes to make available to containers. + items: + properties: + cloudSqlInstance: + description: For Cloud SQL volumes, contains the specific + instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run + for more information on how to connect Cloud SQL and Cloud + Run. + properties: + connections: + 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 + type: object + name: + description: Required. Volume's name. + type: string + secret: + description: 'Secret represents a secret that should populate + this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' + properties: + defaultMode: + description: 'Integer representation of mode bits to + use on created files by default. Must be a value between + 0000 and 0777 (octal), defaulting to 0644. Directories + within the path are not affected by this setting. + Notes * Internally, a umask of 0222 will be applied + to any non-zero value. * This is an integer representation + of the mode bits. So, the octal integer value should + look exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod 640 + (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) + or 493 (base-10). * This might be in conflict with + other options that affect the file mode, like fsGroup, + and the result can be other mode bits set. This might + be in conflict with other options that affect the + file mode, like fsGroup, and as a result, other mode + bits could be set.' + format: int64 + type: integer + items: + description: If unspecified, the volume will expose + a file whose name is the secret, relative to VolumeMount.mount_path. + If specified, the key will be used as the version + to fetch from Cloud Secret Manager and the path will + be the name of the file exposed in the volume. When + items are defined, they must specify a path and a + version. + items: + properties: + mode: + description: 'Integer octal mode bits to use on + this file, must be a value between 01 and 0777 + (octal). If 0 or not set, the Volume''s default + mode will be used. Notes * Internally, a umask + of 0222 will be applied to any non-zero value. + * This is an integer representation of the mode + bits. So, the octal integer value should look + exactly as the chmod numeric notation with a + leading zero. Some examples: for chmod 777 (a=rwx), + set to 0777 (octal) or 511 (base-10). For chmod + 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). + For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 + (octal) or 493 (base-10). * This might be in + conflict with other options that affect the + file mode, like fsGroup, and the result can + be other mode bits set.' + format: int64 + type: integer + path: + description: Required. The relative path of the + secret in the container. + type: string + versionRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: The Cloud Secret Manager secret + version. Can be 'latest' for the latest + value or an integer for a specific version. + 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: + - path + type: object + type: array + secretRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'Required. The name of the secret in + Cloud Secret Manager. Format: {secret} if the + secret is in the same project. projects/{project}/secrets/{secret} + if the secret is in a different project.' + 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: + - secretRef + type: object + required: + - name + type: object + type: array + vpcAccess: + description: VPC Access configuration to use for this Revision. + For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. + properties: + connectorRef: + oneOf: + - not: + required: + - external + required: + - name + - not: + anyOf: + - required: + - name + - required: + - namespace + required: + - external + properties: + external: + description: 'VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}' + 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 + egress: + description: 'Traffic VPC egress settings. Possible values: + VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY' + type: string + type: object type: object - reason: - description: |- - Immutable. Concise user-visible strings indicating why an action cannot be performed - on a resource. Maximum length of 200 characters. - type: string - resourceID: - description: Immutable. Optional. The service-generated name of the - resource. Used for acquisition only. Leave unset to create a new - resource. - type: string - restrictions: - description: |- - Immutable. The types of operations which should be blocked as a result of this Lien. - Each value should correspond to an IAM permission. The server will validate - the permissions against those for which Liens are supported. An empty - list is meaningless and will be rejected. - e.g. ['resourcemanager.projects.delete']. + traffic: + description: Specifies how to distribute traffic over a collection + of Revisions belonging to the Service. If traffic is empty or not + provided, defaults to 100% traffic to the latest `Ready` Revision. items: - type: string + properties: + percent: + description: Specifies percent of the traffic to this Revision. + This defaults to zero if unspecified. Cloud Run currently + requires 100 percent for a single TrafficTarget entry. + format: int64 + type: integer + revision: + description: Revision to which to send this portion of traffic, + if traffic allocation is by revision. + type: string + tag: + description: Indicates a string to be part of the URI to exclusively + reference this target. + type: string + type: + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + type: object type: array required: - - origin - - parent - - reason - - restrictions + - location + - projectRef + - template type: object status: properties: @@ -51745,10 +55281,57 @@ spec: type: object type: array createTime: - description: Time of creation. + description: Output only. The creation time. + format: date-time type: string - name: - description: A system-generated unique identifier for this Lien. + creator: + description: Output only. Email address of the authenticated creator. + type: string + deleteTime: + description: Output only. The deletion time. + format: date-time + type: string + etag: + description: Output only. A system-generated fingerprint for this + version of the resource. May be used to detect modification conflict + during updates. + type: string + expireTime: + description: Output only. For a deleted resource, the time after which + it will be permamently deleted. + format: date-time + type: string + generation: + description: Output only. A number that monotonically increases every + time the user modifies the desired state. + format: int64 + type: integer + labels: + additionalProperties: + type: string + description: Map of string keys and values that can be used to organize + and categorize objects. User-provided labels are shared with Google's + billing system, so they can be used to filter, or break down billing + charges by team, component, environment, state, etc. For more information, + visit https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels Cloud Run + will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' + namespaces. Those labels are read-only, and user changes will not + be preserved. + type: object + lastModifier: + description: Output only. Email address of the last authenticated + modifier. + type: string + latestCreatedRevision: + description: Output only. Name of the last created revision. See comments + in `reconciling` for additional information on reconciliation process + in Cloud Run. + type: string + latestReadyRevision: + description: Output only. Name of the latest revision that is serving + traffic. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. type: string observedGeneration: description: ObservedGeneration is the generation of the resource @@ -51757,285 +55340,129 @@ spec: current reported status reflects the most recent desired state of the resource. 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.69.0 - creationTimestamp: null - labels: - cnrm.cloud.google.com/managed-by-kcc: "true" - cnrm.cloud.google.com/stability-level: stable - cnrm.cloud.google.com/system: "true" - cnrm.cloud.google.com/tf2crd: "true" - name: resourcemanagerpolicies.resourcemanager.cnrm.cloud.google.com -spec: - group: resourcemanager.cnrm.cloud.google.com - names: - categories: - - gcp - kind: ResourceManagerPolicy - plural: resourcemanagerpolicies - shortNames: - - gcpresourcemanagerpolicy - - gcpresourcemanagerpolicies - singular: resourcemanagerpolicy - 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: - booleanPolicy: - description: A boolean policy is a constraint that is either enforced - or not. - properties: - enforced: - description: If true, then the Policy is enforced. If false, then - any configuration is acceptable. - type: boolean - required: - - enforced - type: object - constraint: - description: Immutable. The name of the Constraint the Policy is configuring, - for example, serviceuser.services. - type: string - folderRef: - description: |- - The folder on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Folder. - 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 - listPolicy: - description: A policy that can define specific values that are allowed - or denied for the given constraint. It can also be used to allow - or deny all values. . - properties: - allow: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - deny: - description: One or the other must be set. - properties: - all: - description: The policy allows or denies all values. - type: boolean - values: - description: The policy can define specific values that are - allowed or denied. - items: - type: string - type: array - type: object - inheritFromParent: - description: If set to true, the values from the effective Policy - of the parent resource are inherited, meaning the values set - in this Policy are added to the values inherited up the hierarchy. - type: boolean - suggestedValue: - description: The Google Cloud Console will try to default to a - configuration that matches the value specified in this field. - type: string - type: object - organizationRef: - description: |- - The organization on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of an Organization. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + reconciling: + description: 'Output only. Returns true if the Service is currently + being acted upon by the system to bring it into the desired state. + When a new Service is created, or an existing one is updated, Cloud + Run will asynchronously perform all necessary steps to bring the + Service to the desired serving state. This process is called reconciliation. + While reconciliation is in process, `observed_generation`, `latest_ready_revison`, + `traffic_statuses`, and `uri` will have transient values that might + mismatch the intended state: Once reconciliation is over (and this + field is false), there are two possible outcomes: reconciliation + succeeded and the serving state matches the Service, or there was + an error, and reconciliation failed. This state can be found in + `terminal_condition.state`. If reconciliation succeeded, the following + fields will match: `traffic` and `traffic_statuses`, `observed_generation` + and `generation`, `latest_ready_revision` and `latest_created_revision`. + If reconciliation failed, `traffic_statuses`, `observed_generation`, + and `latest_ready_revision` will have the state of the last serving + revision, or empty for newly created Services. Additional information + on the failure can be found in `terminal_condition` and `conditions`.' + type: boolean + terminalCondition: + description: Output only. The Condition of this Service, containing + its readiness status, and detailed error information in case it + did not reach a serving state. See comments in `reconciling` for + additional information on reconciliation process in Cloud Run. + properties: + domainMappingReason: + description: 'A reason for the domain mapping condition. Possible + values: DOMAIN_MAPPING_REASON_UNDEFINED, ROUTE_NOT_READY, PERMISSION_DENIED, + CERTIFICATE_ALREADY_EXISTS, MAPPING_ALREADY_EXISTS, CERTIFICATE_PENDING, + CERTIFICATE_FAILED' + type: string + internalReason: + description: 'A reason for the internal condition. Possible values: + INTERNAL_REASON_UNDEFINED, CONFLICTING_REVISION_NAME, REVISION_MISSING, + CONFIGURATION_MISSING, ASSIGNING_TRAFFIC, UPDATING_INGRESS_TRAFFIC_ALLOWED, + REVISION_ORG_POLICY_VIOLATION, ENABLING_GCFV2_URI_SUPPORT' + type: string + jobReason: + description: 'A reason for the job condition. Possible values: + JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR' + type: string + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + message: + description: Human readable message indicating details about the + current status. + type: string + reason: + description: 'A common (service-level) reason for this condition. + Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, ROUTE_MISSING, + REVISION_FAILED, PROGRESS_DEADLINE_EXCEEDED, BUILD_STEP_FAILED, + CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED, CONTAINER_IMAGE_UNAUTHORIZED, + CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED, ENCRYPTION_KEY_PERMISSION_DENIED, + ENCRYPTION_KEY_CHECK_FAILED, SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, + IMMEDIATE_RETRY, POSTPONED_RETRY' + type: string + revisionReason: + description: 'A reason for the revision condition. Possible values: + REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING, + RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING, + MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED, + NO_DEPLOYMENT' type: string - type: object - projectRef: - description: |- - The project on which to configure the constraint. Only one of - projectRef, folderRef, or organizationRef may be specified. - oneOf: - - not: - required: - - external - required: - - name - - not: - anyOf: - - required: - - name - - required: - - namespace - required: - - external - properties: - external: - description: The name of a Project. + severity: + description: 'How to interpret failures of this condition, one + of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED, + ERROR, WARNING, INFO' type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + state: + description: 'State of the condition. Possible values: STATE_UNSPECIFIED, + CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED, + CONDITION_SUCCEEDED' type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: + description: 'type is used to communicate the status of the reconciliation + process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting + Types common to all resources include: * "Ready": True when + the Resource is ready.' type: string type: object - restorePolicy: - description: A restore policy is a constraint to restore the default - policy. - properties: - default: - description: May only be set to true. If set, then the default - Policy is restored. - type: boolean - required: - - default - type: object - version: - description: Version of the Policy. Default version is 0. - type: integer - required: - - constraint - type: object - status: - properties: - conditions: - description: Conditions represent the latest available observation - of the resource's current state. + trafficStatuses: + description: Output only. Detailed status information for corresponding + traffic targets. See comments in `reconciling` for additional information + on reconciliation process in Cloud Run. 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. + percent: + description: Specifies percent of the traffic to this Revision. + format: int64 + type: integer + revision: + description: Revision to which this traffic is sent. 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. + tag: + description: Indicates the string used in the URI to exclusively + reference this target. type: string type: - description: Type is the type of the condition. + description: 'The allocation type for this traffic target. Possible + values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, + TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION' + type: string + uri: + description: Displays the target URI. type: string type: object type: array - etag: - description: The etag of the organization policy. etag is used for - optimistic concurrency control as a way to help prevent simultaneous - updates of a policy from overwriting each other. + uid: + description: Output only. Server assigned unique identifier for the + trigger. The value is a UUID4 string and guaranteed to remain unchanged + until the resource is deleted. 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 updateTime: - description: 'The timestamp in RFC3339 UTC "Zulu" format, accurate - to nanoseconds, representing when the variable was last updated. - Example: "2016-10-09T12:33:37.578138407Z".' + description: Output only. The last-modified time. + format: date-time + type: string + uri: + description: Output only. The main URI in which this Service is serving + traffic. type: string type: object required: @@ -52056,7 +55483,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52227,7 +55654,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -52307,7 +55735,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52506,7 +55934,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52682,7 +56110,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -52823,7 +56251,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53020,7 +56448,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53212,7 +56640,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53352,7 +56780,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53515,7 +56943,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -53572,6 +57000,7 @@ spec: spec: properties: databaseVersion: + default: MYSQL_5_6 description: Immutable. The MySQL, PostgreSQL or SQL Server (beta) version to use. Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, @@ -53775,14 +57204,9 @@ spec: Can be either ALWAYS, NEVER or ON_DEMAND. type: string authorizedGaeApplications: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - https://cloud.google.com/sql/docs/mysql/deprecation-notice for - information on how to upgrade to Second Generation instances. - A list of Google App Engine project names that are allowed to - access this instance. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. items: type: string type: array @@ -53833,13 +57257,9 @@ spec: description: The name of server instance collation. type: string crashSafeReplication: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Specific to read instances, indicates when crash-safe - replication flags are enabled. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: boolean databaseFlags: items: @@ -53966,13 +57386,9 @@ spec: description: Pricing plan for this instance, can only be PER_USE. type: string replicationType: - description: DEPRECATED — This property is only applicable to - First Generation instances, and First Generation instances are - now deprecated. This property is only applicable to First Generation - instances. First Generation instances are now deprecated, see - here for information on how to upgrade to Second Generation - instances. Replication type for this instance, can be one of - ASYNCHRONOUS or SYNCHRONOUS. + description: |- + DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. type: string tier: description: The machine type to use. See tiers for more details @@ -54087,7 +57503,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54262,7 +57678,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54457,7 +57873,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54626,7 +58042,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -54683,9 +58099,9 @@ spec: spec: properties: bucketPolicyOnly: - description: DEPRECATED — Please use the uniform_bucket_level_access - as this field has been renamed by Google. Enables Bucket Policy - Only access to a bucket. + description: |- + DEPRECATED — Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field. + Enables Bucket PolicyOnly access to a bucket. type: boolean cors: description: The bucket's Cross-Origin Resource Sharing (CORS) configuration. @@ -54823,6 +58239,7 @@ spec: type: object type: array location: + default: US description: Immutable. The Google Cloud Storage location. type: string logging: @@ -54952,7 +58369,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55137,7 +58554,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55264,7 +58681,8 @@ spec: - external properties: external: - description: The name of a PubSubTopic. + description: A string of the format "projects/{{project}}/topics/{{value}}", + where {{value}} is the name of a PubSubTopic. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' @@ -55338,7 +58756,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" @@ -55863,7 +59281,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cnrm.cloud.google.com/version: 1.69.0 + cnrm.cloud.google.com/version: 1.70.0 creationTimestamp: null labels: cnrm.cloud.google.com/dcl2crd: "true" diff --git a/pkg/apis/compute/v1beta1/computefirewall_types.go b/pkg/apis/compute/v1beta1/computefirewall_types.go index b5317d7ff4..e25acef300 100644 --- a/pkg/apis/compute/v1beta1/computefirewall_types.go +++ b/pkg/apis/compute/v1beta1/computefirewall_types.go @@ -102,7 +102,8 @@ type ComputeFirewallSpec struct { /* Immutable. Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify - sourceRanges OR sourceTags. Possible values: ["INGRESS", "EGRESS"]. */ + 'source_ranges' OR 'source_tags'. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. Possible values: ["INGRESS", "EGRESS"]. */ // +optional Direction *string `json:"direction,omitempty"` diff --git a/pkg/apis/compute/v1beta1/computeinstance_types.go b/pkg/apis/compute/v1beta1/computeinstance_types.go index eaab644900..e962f98222 100644 --- a/pkg/apis/compute/v1beta1/computeinstance_types.go +++ b/pkg/apis/compute/v1beta1/computeinstance_types.go @@ -229,6 +229,10 @@ type InstanceNetworkInterface struct { // +optional NicType *string `json:"nicType,omitempty"` + /* Immutable. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified. */ + // +optional + QueueCount *int `json:"queueCount,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"` diff --git a/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go b/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go index 8d9c630428..ea5ddfe8a7 100644 --- a/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go +++ b/pkg/apis/compute/v1beta1/computeinstancetemplate_types.go @@ -202,6 +202,10 @@ type InstancetemplateNetworkInterface struct { // +optional NicType *string `json:"nicType,omitempty"` + /* Immutable. The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified. */ + // +optional + QueueCount *int `json:"queueCount,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"` diff --git a/pkg/apis/compute/v1beta1/computerouterpeer_types.go b/pkg/apis/compute/v1beta1/computerouterpeer_types.go index e34b57fbf6..93587ae5fd 100644 --- a/pkg/apis/compute/v1beta1/computerouterpeer_types.go +++ b/pkg/apis/compute/v1beta1/computerouterpeer_types.go @@ -45,6 +45,37 @@ type RouterpeerAdvertisedIpRanges struct { Range string `json:"range"` } +type RouterpeerBfd struct { + /* The minimum interval, in milliseconds, between BFD control packets + received from the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the transmit interval of the other router. If set, this value + must be between 1000 and 30000. */ + // +optional + MinReceiveInterval *int `json:"minReceiveInterval,omitempty"` + + /* The minimum interval, in milliseconds, between BFD control packets + transmitted to the peer router. The actual value is negotiated + between the two routers and is equal to the greater of this value + and the corresponding receive interval of the other router. If set, + this value must be between 1000 and 30000. */ + // +optional + MinTransmitInterval *int `json:"minTransmitInterval,omitempty"` + + /* The number of consecutive BFD packets that must be missed before + BFD declares that a peer is unavailable. If set, the value must + be a value between 5 and 16. */ + // +optional + Multiplier *int `json:"multiplier,omitempty"` + + /* The BFD session initialization mode for this BGP peer. + If set to 'ACTIVE', the Cloud Router will initiate the BFD session + for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait + for the peer router to initiate the BFD session for this BGP peer. + If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"]. */ + SessionInitializationMode string `json:"sessionInitializationMode"` +} + type RouterpeerIpAddress struct { /* */ // +optional @@ -86,6 +117,10 @@ type ComputeRouterPeerSpec struct { // +optional AdvertisedRoutePriority *int `json:"advertisedRoutePriority,omitempty"` + /* BFD configuration for the BGP peering. */ + // +optional + Bfd *RouterpeerBfd `json:"bfd,omitempty"` + /* The status of the BGP peer connection. If set to false, any active session with the peer is terminated and all associated routing information is removed. If set to true, the peer connection can be established with routing information. diff --git a/pkg/apis/compute/v1beta1/computesnapshot_types.go b/pkg/apis/compute/v1beta1/computesnapshot_types.go index dc160ade3e..6bead9224f 100644 --- a/pkg/apis/compute/v1beta1/computesnapshot_types.go +++ b/pkg/apis/compute/v1beta1/computesnapshot_types.go @@ -138,8 +138,6 @@ type ComputeSnapshotStatus struct { SelfLink string `json:"selfLink,omitempty"` /* The unique identifier for the resource. */ SnapshotId int `json:"snapshotId,omitempty"` - /* DEPRECATED — Deprecated in favor of source_disk, which contains a compatible value. This field will be removed in the next major release of the provider. */ - SourceDiskLink string `json:"sourceDiskLink,omitempty"` /* A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion. */ diff --git a/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go b/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go index a271368a22..249ca1211a 100644 --- a/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/compute/v1beta1/zz_generated.deepcopy.go @@ -5419,6 +5419,11 @@ func (in *ComputeRouterPeerSpec) DeepCopyInto(out *ComputeRouterPeerSpec) { *out = new(int) **out = **in } + if in.Bfd != nil { + in, out := &in.Bfd, &out.Bfd + *out = new(RouterpeerBfd) + (*in).DeepCopyInto(*out) + } if in.Enable != nil { in, out := &in.Enable, &out.Enable *out = new(bool) @@ -9028,6 +9033,11 @@ func (in *InstanceNetworkInterface) DeepCopyInto(out *InstanceNetworkInterface) *out = new(string) **out = **in } + if in.QueueCount != nil { + in, out := &in.QueueCount, &out.QueueCount + *out = new(int) + **out = **in + } if in.StackType != nil { in, out := &in.StackType, &out.StackType *out = new(string) @@ -10084,6 +10094,11 @@ func (in *InstancetemplateNetworkInterface) DeepCopyInto(out *InstancetemplateNe *out = new(string) **out = **in } + if in.QueueCount != nil { + in, out := &in.QueueCount, &out.QueueCount + *out = new(int) + **out = **in + } if in.StackType != nil { in, out := &in.StackType, &out.StackType *out = new(string) @@ -11091,6 +11106,37 @@ func (in *RouterpeerAdvertisedIpRanges) DeepCopy() *RouterpeerAdvertisedIpRanges return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterpeerBfd) DeepCopyInto(out *RouterpeerBfd) { + *out = *in + if in.MinReceiveInterval != nil { + in, out := &in.MinReceiveInterval, &out.MinReceiveInterval + *out = new(int) + **out = **in + } + if in.MinTransmitInterval != nil { + in, out := &in.MinTransmitInterval, &out.MinTransmitInterval + *out = new(int) + **out = **in + } + if in.Multiplier != nil { + in, out := &in.Multiplier, &out.Multiplier + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterpeerBfd. +func (in *RouterpeerBfd) DeepCopy() *RouterpeerBfd { + if in == nil { + return nil + } + out := new(RouterpeerBfd) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RouterpeerIpAddress) DeepCopyInto(out *RouterpeerIpAddress) { *out = *in diff --git a/pkg/apis/container/v1beta1/containercluster_types.go b/pkg/apis/container/v1beta1/containercluster_types.go index 138809e2cc..d033b654a3 100644 --- a/pkg/apis/container/v1beta1/containercluster_types.go +++ b/pkg/apis/container/v1beta1/containercluster_types.go @@ -204,6 +204,11 @@ type ClusterGcePersistentDiskCsiDriverConfig struct { Enabled bool `json:"enabled"` } +type ClusterGcfsConfig struct { + /* Immutable. Whether or not GCFS is enabled. */ + Enabled bool `json:"enabled"` +} + type ClusterGuestAccelerator struct { /* Immutable. The number of the accelerator cards exposed to an instance. */ Count int `json:"count"` @@ -379,6 +384,10 @@ type ClusterNodeConfig struct { // +optional EphemeralStorageConfig *ClusterEphemeralStorageConfig `json:"ephemeralStorageConfig,omitempty"` + /* Immutable. GCFS configuration for this node. */ + // +optional + GcfsConfig *ClusterGcfsConfig `json:"gcfsConfig,omitempty"` + /* Immutable. List of the type and count of accelerator cards attached to the instance. */ // +optional GuestAccelerator []ClusterGuestAccelerator `json:"guestAccelerator,omitempty"` @@ -590,7 +599,8 @@ type ClusterVerticalPodAutoscaling struct { } type ClusterWorkloadIdentityConfig struct { - /* DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workload_pool` instead. Enables workload identity. */ + /* DEPRECATED — This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field. + Enables workload identity. */ // +optional IdentityNamespace *string `json:"identityNamespace,omitempty"` @@ -682,7 +692,7 @@ type ContainerClusterSpec struct { // +optional EnableLegacyAbac *bool `json:"enableLegacyAbac,omitempty"` - /* Enable Shielded Nodes features on all nodes in this cluster. */ + /* Enable Shielded Nodes features on all nodes in this cluster. Defaults to true. */ // +optional EnableShieldedNodes *bool `json:"enableShieldedNodes,omitempty"` @@ -713,7 +723,7 @@ type ContainerClusterSpec struct { // +optional MaintenancePolicy *ClusterMaintenancePolicy `json:"maintenancePolicy,omitempty"` - /* DEPRECATED — Basic authentication was removed for GKE cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff removing a username/password or unsetting your client cert, ensure you have the container.clusters.getCredentials permission. */ + /* DEPRECATED — Basic authentication was removed for GKE cluster versions >= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. */ // +optional MasterAuth *ClusterMasterAuth `json:"masterAuth,omitempty"` @@ -804,8 +814,6 @@ type ContainerClusterStatus struct { Conditions []v1alpha1.Condition `json:"conditions,omitempty"` /* The IP address of this cluster's Kubernetes master. */ Endpoint string `json:"endpoint,omitempty"` - /* DEPRECATED — Please use node_pool.instance_group_urls instead. List of instance group URLs which have been assigned to the cluster. */ - InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"` /* The fingerprint of the set of labels for this cluster. */ LabelFingerprint string `json:"labelFingerprint,omitempty"` /* The current version of the master in the cluster. This may be different than the min_master_version set in the config if the master has been updated by GKE. */ diff --git a/pkg/apis/container/v1beta1/containernodepool_types.go b/pkg/apis/container/v1beta1/containernodepool_types.go index 7ca61e7fb0..f59329d422 100644 --- a/pkg/apis/container/v1beta1/containernodepool_types.go +++ b/pkg/apis/container/v1beta1/containernodepool_types.go @@ -48,6 +48,11 @@ type NodepoolEphemeralStorageConfig struct { LocalSsdCount int `json:"localSsdCount"` } +type NodepoolGcfsConfig struct { + /* Immutable. Whether or not GCFS is enabled. */ + Enabled bool `json:"enabled"` +} + type NodepoolGuestAccelerator struct { /* Immutable. The number of the accelerator cards exposed to an instance. */ Count int `json:"count"` @@ -118,6 +123,10 @@ type NodepoolNodeConfig struct { // +optional EphemeralStorageConfig *NodepoolEphemeralStorageConfig `json:"ephemeralStorageConfig,omitempty"` + /* Immutable. GCFS configuration for this node. */ + // +optional + GcfsConfig *NodepoolGcfsConfig `json:"gcfsConfig,omitempty"` + /* Immutable. List of the type and count of accelerator cards attached to the instance. */ // +optional GuestAccelerator []NodepoolGuestAccelerator `json:"guestAccelerator,omitempty"` @@ -293,6 +302,8 @@ type ContainerNodePoolStatus struct { Conditions []v1alpha1.Condition `json:"conditions,omitempty"` /* The resource URLs of the managed instance groups associated with this node pool. */ InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"` + /* List of instance group URLs which have been assigned to this node pool. */ + ManagedInstanceGroupUrls []string `json:"managedInstanceGroupUrls,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/container/v1beta1/zz_generated.deepcopy.go b/pkg/apis/container/v1beta1/zz_generated.deepcopy.go index 9b191d2384..b402281fbc 100644 --- a/pkg/apis/container/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/container/v1beta1/zz_generated.deepcopy.go @@ -429,6 +429,22 @@ func (in *ClusterGcePersistentDiskCsiDriverConfig) DeepCopy() *ClusterGcePersist return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterGcfsConfig) DeepCopyInto(out *ClusterGcfsConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterGcfsConfig. +func (in *ClusterGcfsConfig) DeepCopy() *ClusterGcfsConfig { + if in == nil { + return nil + } + out := new(ClusterGcfsConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterGuestAccelerator) DeepCopyInto(out *ClusterGuestAccelerator) { *out = *in @@ -838,6 +854,11 @@ func (in *ClusterNodeConfig) DeepCopyInto(out *ClusterNodeConfig) { *out = new(ClusterEphemeralStorageConfig) **out = **in } + if in.GcfsConfig != nil { + in, out := &in.GcfsConfig, &out.GcfsConfig + *out = new(ClusterGcfsConfig) + **out = **in + } if in.GuestAccelerator != nil { in, out := &in.GuestAccelerator, &out.GuestAccelerator *out = make([]ClusterGuestAccelerator, len(*in)) @@ -1615,11 +1636,6 @@ func (in *ContainerClusterStatus) DeepCopyInto(out *ContainerClusterStatus) { *out = make([]v1alpha1.Condition, len(*in)) copy(*out, *in) } - if in.InstanceGroupUrls != nil { - in, out := &in.InstanceGroupUrls, &out.InstanceGroupUrls - *out = make([]string, len(*in)) - copy(*out, *in) - } return } @@ -1784,6 +1800,11 @@ func (in *ContainerNodePoolStatus) DeepCopyInto(out *ContainerNodePoolStatus) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.ManagedInstanceGroupUrls != nil { + in, out := &in.ManagedInstanceGroupUrls, &out.ManagedInstanceGroupUrls + *out = make([]string, len(*in)) + copy(*out, *in) + } return } @@ -1829,6 +1850,22 @@ func (in *NodepoolEphemeralStorageConfig) DeepCopy() *NodepoolEphemeralStorageCo return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodepoolGcfsConfig) DeepCopyInto(out *NodepoolGcfsConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodepoolGcfsConfig. +func (in *NodepoolGcfsConfig) DeepCopy() *NodepoolGcfsConfig { + if in == nil { + return nil + } + out := new(NodepoolGcfsConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodepoolGuestAccelerator) DeepCopyInto(out *NodepoolGuestAccelerator) { *out = *in @@ -1974,6 +2011,11 @@ func (in *NodepoolNodeConfig) DeepCopyInto(out *NodepoolNodeConfig) { *out = new(NodepoolEphemeralStorageConfig) **out = **in } + if in.GcfsConfig != nil { + in, out := &in.GcfsConfig, &out.GcfsConfig + *out = new(NodepoolGcfsConfig) + **out = **in + } if in.GuestAccelerator != nil { in, out := &in.GuestAccelerator, &out.GuestAccelerator *out = make([]NodepoolGuestAccelerator, len(*in)) diff --git a/pkg/apis/kms/v1beta1/kmscryptokey_types.go b/pkg/apis/kms/v1beta1/kmscryptokey_types.go index c953b05397..3d001b16db 100644 --- a/pkg/apis/kms/v1beta1/kmscryptokey_types.go +++ b/pkg/apis/kms/v1beta1/kmscryptokey_types.go @@ -40,7 +40,7 @@ type CryptokeyVersionTemplate struct { See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. */ Algorithm string `json:"algorithm"` - /* Immutable. The protection level to use when creating a version based on this template. Default value: "SOFTWARE" Possible values: ["SOFTWARE", "HSM"]. */ + /* Immutable. The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE". */ // +optional ProtectionLevel *string `json:"protectionLevel,omitempty"` } @@ -91,7 +91,7 @@ type KMSCryptoKeyStatus struct { Conditions []v1alpha1.Condition `json:"conditions,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"` - /* DEPRECATED — Deprecated in favor of id, which contains an identical value. This field will be removed in the next major release of the provider. The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. */ + /* The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. */ SelfLink string `json:"selfLink,omitempty"` } diff --git a/pkg/apis/kms/v1beta1/kmskeyring_types.go b/pkg/apis/kms/v1beta1/kmskeyring_types.go index f47f30d83e..a16f740b93 100644 --- a/pkg/apis/kms/v1beta1/kmskeyring_types.go +++ b/pkg/apis/kms/v1beta1/kmskeyring_types.go @@ -51,7 +51,7 @@ type KMSKeyRingStatus struct { Conditions []v1alpha1.Condition `json:"conditions,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"` - /* DEPRECATED — Deprecated in favor of id, which contains an identical value. This field will be removed in the next major release of the provider. The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. */ + /* The self link of the created KeyRing in the format projects/{project}/locations/{location}/keyRings/{name}. */ SelfLink string `json:"selfLink,omitempty"` } diff --git a/pkg/apis/monitoring/v1beta1/monitoringuptimecheckconfig_types.go b/pkg/apis/monitoring/v1beta1/monitoringuptimecheckconfig_types.go new file mode 100644 index 0000000000..9753365026 --- /dev/null +++ b/pkg/apis/monitoring/v1beta1/monitoringuptimecheckconfig_types.go @@ -0,0 +1,211 @@ +// 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 UptimecheckconfigAuthInfo struct { + /* */ + Password UptimecheckconfigPassword `json:"password"` + + /* */ + Username string `json:"username"` +} + +type UptimecheckconfigContentMatchers struct { + /* */ + Content string `json:"content"` + + /* Possible values: CONTENT_MATCHER_OPTION_UNSPECIFIED, CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX */ + // +optional + Matcher *string `json:"matcher,omitempty"` +} + +type UptimecheckconfigHttpCheck struct { + /* The authentication information. Optional when creating an HTTP check; defaults to empty. */ + // +optional + AuthInfo *UptimecheckconfigAuthInfo `json:"authInfo,omitempty"` + + /* The request body associated with the HTTP POST request. If `content_type` is `URL_ENCODED`, the body passed in must be URL-encoded. Users can provide a `Content-Length` header via the `headers` field or the API will do so. If the `request_method` is `GET` and `body` is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note: As with all `bytes` fields JSON representations are base64 encoded. e.g.: "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is "Zm9vJTI1M0RiYXI=". */ + // +optional + Body *string `json:"body,omitempty"` + + /* The content type to use for the check. Possible values: TYPE_UNSPECIFIED, URL_ENCODED */ + // +optional + ContentType *string `json:"contentType,omitempty"` + + /* The list of headers to send as part of the Uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100. */ + // +optional + Headers map[string]string `json:"headers,omitempty"` + + /* Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if `mask_headers` is set to `true` then the headers will be obscured with `******.` */ + // +optional + MaskHeaders *bool `json:"maskHeaders,omitempty"` + + /* Optional (defaults to "/"). The path to the page against which to run the check. Will be combined with the `host` (specified within the `monitored_resource`) and `port` to construct the full URL. If the provided path does not begin with "/", a "/" will be prepended automatically. */ + // +optional + Path *string `json:"path,omitempty"` + + /* Optional (defaults to 80 when `use_ssl` is `false`, and 443 when `use_ssl` is `true`). The TCP port on the HTTP server against which to run the check. Will be combined with host (specified within the `monitored_resource`) and `path` to construct the full URL. */ + // +optional + Port *int `json:"port,omitempty"` + + /* The HTTP request method to use for the check. If set to `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`. */ + // +optional + RequestMethod *string `json:"requestMethod,omitempty"` + + /* If `true`, use HTTPS instead of HTTP to run the check. */ + // +optional + UseSsl *bool `json:"useSsl,omitempty"` + + /* Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`, setting `validate_ssl` to `true` has no effect. */ + // +optional + ValidateSsl *bool `json:"validateSsl,omitempty"` +} + +type UptimecheckconfigMonitoredResource struct { + /* */ + FilterLabels map[string]string `json:"filterLabels"` + + /* */ + Type string `json:"type"` +} + +type UptimecheckconfigPassword struct { + /* Value of the field. Cannot be used if 'valueFrom' is specified. */ + // +optional + Value *string `json:"value,omitempty"` + + /* Source for the field's value. Cannot be used if 'value' is specified. */ + // +optional + ValueFrom *UptimecheckconfigValueFrom `json:"valueFrom,omitempty"` +} + +type UptimecheckconfigResourceGroup struct { + /* */ + // +optional + GroupRef *v1alpha1.ResourceRef `json:"groupRef,omitempty"` + + /* The resource type of the group members. Possible values: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER */ + // +optional + ResourceType *string `json:"resourceType,omitempty"` +} + +type UptimecheckconfigTcpCheck struct { + /* The TCP port on the server against which to run the check. Will be combined with host (specified within the `monitored_resource`) to construct the full URL. Required. */ + Port int `json:"port"` +} + +type UptimecheckconfigValueFrom struct { + /* Reference to a value with the given key in the given Secret in the resource's namespace. */ + // +optional + SecretKeyRef *v1alpha1.ResourceRef `json:"secretKeyRef,omitempty"` +} + +type MonitoringUptimeCheckConfigSpec struct { + /* The content that is expected to appear in the data returned by the target server against which the check is run. Currently, only the first entry in the `content_matchers` list is supported, and additional entries will be ignored. This field is optional and should only be specified if a content match is required as part of the/ Uptime check. */ + // +optional + ContentMatchers []UptimecheckconfigContentMatchers `json:"contentMatchers,omitempty"` + + /* A human-friendly name for the Uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced. Required. */ + DisplayName string `json:"displayName"` + + /* Contains information needed to make an HTTP or HTTPS check. */ + // +optional + HttpCheck *UptimecheckconfigHttpCheck `json:"httpCheck,omitempty"` + + /* The [monitored resource](https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for Uptime checks: `uptime_url`, `gce_instance`, `gae_app`, `aws_ec2_instance`, `aws_elb_load_balancer` */ + // +optional + MonitoredResource *UptimecheckconfigMonitoredResource `json:"monitoredResource,omitempty"` + + /* How often, in seconds, the Uptime check is performed. Currently, the only supported values are `60s` (1 minute), `300s` (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional, defaults to `60s`. */ + // +optional + Period *string `json:"period,omitempty"` + + /* The Project that this resource belongs to. */ + ProjectRef v1alpha1.ResourceRef `json:"projectRef"` + + /* The group resource associated with the configuration. */ + // +optional + ResourceGroup *UptimecheckconfigResourceGroup `json:"resourceGroup,omitempty"` + + /* Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource. */ + // +optional + ResourceID *string `json:"resourceID,omitempty"` + + /* The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions must be provided to include a minimum of 3 locations. Not specifying this field will result in Uptime checks running from all available regions. */ + // +optional + SelectedRegions []string `json:"selectedRegions,omitempty"` + + /* Contains information needed to make a TCP check. */ + // +optional + TcpCheck *UptimecheckconfigTcpCheck `json:"tcpCheck,omitempty"` + + /* The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. */ + Timeout string `json:"timeout"` +} + +type MonitoringUptimeCheckConfigStatus struct { + /* Conditions represent the latest available observations of the + MonitoringUptimeCheckConfig's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,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"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MonitoringUptimeCheckConfig is the Schema for the monitoring API +// +k8s:openapi-gen=true +type MonitoringUptimeCheckConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec MonitoringUptimeCheckConfigSpec `json:"spec,omitempty"` + Status MonitoringUptimeCheckConfigStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MonitoringUptimeCheckConfigList contains a list of MonitoringUptimeCheckConfig +type MonitoringUptimeCheckConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []MonitoringUptimeCheckConfig `json:"items"` +} + +func init() { + SchemeBuilder.Register(&MonitoringUptimeCheckConfig{}, &MonitoringUptimeCheckConfigList{}) +} diff --git a/pkg/apis/monitoring/v1beta1/register.go b/pkg/apis/monitoring/v1beta1/register.go index c6dc2a0b9a..dd060b1c0f 100644 --- a/pkg/apis/monitoring/v1beta1/register.go +++ b/pkg/apis/monitoring/v1beta1/register.go @@ -95,5 +95,11 @@ var ( Kind: reflect.TypeOf(MonitoringServiceLevelObjective{}).Name(), } + MonitoringUptimeCheckConfigGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(MonitoringUptimeCheckConfig{}).Name(), + } + monitoringAPIVersion = SchemeGroupVersion.String() ) diff --git a/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go b/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go index 734888f589..44b8964644 100644 --- a/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go @@ -2086,6 +2086,147 @@ func (in *MonitoringServiceStatus) DeepCopy() *MonitoringServiceStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MonitoringUptimeCheckConfig) DeepCopyInto(out *MonitoringUptimeCheckConfig) { + *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 MonitoringUptimeCheckConfig. +func (in *MonitoringUptimeCheckConfig) DeepCopy() *MonitoringUptimeCheckConfig { + if in == nil { + return nil + } + out := new(MonitoringUptimeCheckConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MonitoringUptimeCheckConfig) 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 *MonitoringUptimeCheckConfigList) DeepCopyInto(out *MonitoringUptimeCheckConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MonitoringUptimeCheckConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringUptimeCheckConfigList. +func (in *MonitoringUptimeCheckConfigList) DeepCopy() *MonitoringUptimeCheckConfigList { + if in == nil { + return nil + } + out := new(MonitoringUptimeCheckConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MonitoringUptimeCheckConfigList) 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 *MonitoringUptimeCheckConfigSpec) DeepCopyInto(out *MonitoringUptimeCheckConfigSpec) { + *out = *in + if in.ContentMatchers != nil { + in, out := &in.ContentMatchers, &out.ContentMatchers + *out = make([]UptimecheckconfigContentMatchers, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HttpCheck != nil { + in, out := &in.HttpCheck, &out.HttpCheck + *out = new(UptimecheckconfigHttpCheck) + (*in).DeepCopyInto(*out) + } + if in.MonitoredResource != nil { + in, out := &in.MonitoredResource, &out.MonitoredResource + *out = new(UptimecheckconfigMonitoredResource) + (*in).DeepCopyInto(*out) + } + if in.Period != nil { + in, out := &in.Period, &out.Period + *out = new(string) + **out = **in + } + out.ProjectRef = in.ProjectRef + if in.ResourceGroup != nil { + in, out := &in.ResourceGroup, &out.ResourceGroup + *out = new(UptimecheckconfigResourceGroup) + (*in).DeepCopyInto(*out) + } + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.SelectedRegions != nil { + in, out := &in.SelectedRegions, &out.SelectedRegions + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.TcpCheck != nil { + in, out := &in.TcpCheck, &out.TcpCheck + *out = new(UptimecheckconfigTcpCheck) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringUptimeCheckConfigSpec. +func (in *MonitoringUptimeCheckConfigSpec) DeepCopy() *MonitoringUptimeCheckConfigSpec { + if in == nil { + return nil + } + out := new(MonitoringUptimeCheckConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MonitoringUptimeCheckConfigStatus) DeepCopyInto(out *MonitoringUptimeCheckConfigStatus) { + *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 MonitoringUptimeCheckConfigStatus. +func (in *MonitoringUptimeCheckConfigStatus) DeepCopy() *MonitoringUptimeCheckConfigStatus { + if in == nil { + return nil + } + out := new(MonitoringUptimeCheckConfigStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NotificationchannelAuthToken) DeepCopyInto(out *NotificationchannelAuthToken) { *out = *in @@ -2712,3 +2853,221 @@ func (in *ServicelevelobjectiveWindowsBased) DeepCopy() *ServicelevelobjectiveWi in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigAuthInfo) DeepCopyInto(out *UptimecheckconfigAuthInfo) { + *out = *in + in.Password.DeepCopyInto(&out.Password) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigAuthInfo. +func (in *UptimecheckconfigAuthInfo) DeepCopy() *UptimecheckconfigAuthInfo { + if in == nil { + return nil + } + out := new(UptimecheckconfigAuthInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigContentMatchers) DeepCopyInto(out *UptimecheckconfigContentMatchers) { + *out = *in + if in.Matcher != nil { + in, out := &in.Matcher, &out.Matcher + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigContentMatchers. +func (in *UptimecheckconfigContentMatchers) DeepCopy() *UptimecheckconfigContentMatchers { + if in == nil { + return nil + } + out := new(UptimecheckconfigContentMatchers) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigHttpCheck) DeepCopyInto(out *UptimecheckconfigHttpCheck) { + *out = *in + if in.AuthInfo != nil { + in, out := &in.AuthInfo, &out.AuthInfo + *out = new(UptimecheckconfigAuthInfo) + (*in).DeepCopyInto(*out) + } + if in.Body != nil { + in, out := &in.Body, &out.Body + *out = new(string) + **out = **in + } + if in.ContentType != nil { + in, out := &in.ContentType, &out.ContentType + *out = new(string) + **out = **in + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.MaskHeaders != nil { + in, out := &in.MaskHeaders, &out.MaskHeaders + *out = new(bool) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int) + **out = **in + } + if in.RequestMethod != nil { + in, out := &in.RequestMethod, &out.RequestMethod + *out = new(string) + **out = **in + } + if in.UseSsl != nil { + in, out := &in.UseSsl, &out.UseSsl + *out = new(bool) + **out = **in + } + if in.ValidateSsl != nil { + in, out := &in.ValidateSsl, &out.ValidateSsl + *out = new(bool) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigHttpCheck. +func (in *UptimecheckconfigHttpCheck) DeepCopy() *UptimecheckconfigHttpCheck { + if in == nil { + return nil + } + out := new(UptimecheckconfigHttpCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigMonitoredResource) DeepCopyInto(out *UptimecheckconfigMonitoredResource) { + *out = *in + if in.FilterLabels != nil { + in, out := &in.FilterLabels, &out.FilterLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigMonitoredResource. +func (in *UptimecheckconfigMonitoredResource) DeepCopy() *UptimecheckconfigMonitoredResource { + if in == nil { + return nil + } + out := new(UptimecheckconfigMonitoredResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigPassword) DeepCopyInto(out *UptimecheckconfigPassword) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } + if in.ValueFrom != nil { + in, out := &in.ValueFrom, &out.ValueFrom + *out = new(UptimecheckconfigValueFrom) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigPassword. +func (in *UptimecheckconfigPassword) DeepCopy() *UptimecheckconfigPassword { + if in == nil { + return nil + } + out := new(UptimecheckconfigPassword) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigResourceGroup) DeepCopyInto(out *UptimecheckconfigResourceGroup) { + *out = *in + if in.GroupRef != nil { + in, out := &in.GroupRef, &out.GroupRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.ResourceType != nil { + in, out := &in.ResourceType, &out.ResourceType + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigResourceGroup. +func (in *UptimecheckconfigResourceGroup) DeepCopy() *UptimecheckconfigResourceGroup { + if in == nil { + return nil + } + out := new(UptimecheckconfigResourceGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigTcpCheck) DeepCopyInto(out *UptimecheckconfigTcpCheck) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigTcpCheck. +func (in *UptimecheckconfigTcpCheck) DeepCopy() *UptimecheckconfigTcpCheck { + if in == nil { + return nil + } + out := new(UptimecheckconfigTcpCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UptimecheckconfigValueFrom) DeepCopyInto(out *UptimecheckconfigValueFrom) { + *out = *in + if in.SecretKeyRef != nil { + in, out := &in.SecretKeyRef, &out.SecretKeyRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UptimecheckconfigValueFrom. +func (in *UptimecheckconfigValueFrom) DeepCopy() *UptimecheckconfigValueFrom { + if in == nil { + return nil + } + out := new(UptimecheckconfigValueFrom) + in.DeepCopyInto(out) + return out +} diff --git a/pkg/apis/networkservices/v1beta1/networkservicesgateway_types.go b/pkg/apis/networkservices/v1beta1/networkservicesgateway_types.go new file mode 100644 index 0000000000..9cf0b40650 --- /dev/null +++ b/pkg/apis/networkservices/v1beta1/networkservicesgateway_types.go @@ -0,0 +1,116 @@ +// 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 NetworkServicesGatewaySpec struct { + /* One or more addresses with ports in format of ":" that the Gateway must receive traffic on. The proxy binds to the ports specified. IP address can be anything that is allowed by the underlying infrastructure (auto-allocation, static IP, BYOIP). */ + // +optional + Addresses []string `json:"addresses,omitempty"` + + /* Optional. A fully-qualified AuthorizationPolicy URL reference. Specifies how traffic is authorized. If empty, authorization checks are disabled. */ + // +optional + AuthorizationPolicy *string `json:"authorizationPolicy,omitempty"` + + /* Optional. A free-text description of the resource. Max length 1024 characters. */ + // +optional + Description *string `json:"description,omitempty"` + + /* Optional. Set of label tags associated with the Gateway resource. */ + // +optional + Labels map[string]string `json:"labels,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* Required. One or more ports that the Gateway must receive traffic on. The proxy binds to the ports specified. Gateway listen on 0.0.0.0 on the ports specified below. */ + Ports []int `json:"ports"` + + /* 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"` + + /* Required. Immutable. Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single coniguration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. */ + Scope string `json:"scope"` + + /* Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. */ + // +optional + ServerTlsPolicy *string `json:"serverTlsPolicy,omitempty"` + + /* Immutable. The type of the customer managed gateway. Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL */ + // +optional + Type *string `json:"type,omitempty"` +} + +type NetworkServicesGatewayStatus struct { + /* Conditions represent the latest available observations of the + NetworkServicesGateway's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The timestamp when the resource was created. */ + CreateTime string `json:"createTime,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 timestamp when the resource was updated. */ + UpdateTime string `json:"updateTime,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesGateway is the Schema for the networkservices API +// +k8s:openapi-gen=true +type NetworkServicesGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NetworkServicesGatewaySpec `json:"spec,omitempty"` + Status NetworkServicesGatewayStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesGatewayList contains a list of NetworkServicesGateway +type NetworkServicesGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkServicesGateway `json:"items"` +} + +func init() { + SchemeBuilder.Register(&NetworkServicesGateway{}, &NetworkServicesGatewayList{}) +} diff --git a/pkg/apis/networkservices/v1beta1/networkservicesgrpcroute_types.go b/pkg/apis/networkservices/v1beta1/networkservicesgrpcroute_types.go new file mode 100644 index 0000000000..3182d69141 --- /dev/null +++ b/pkg/apis/networkservices/v1beta1/networkservicesgrpcroute_types.go @@ -0,0 +1,299 @@ +// 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 GrpcrouteAbort struct { + /* The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. */ + // +optional + HttpStatus *int `json:"httpStatus,omitempty"` + + /* The percentage of traffic which will be aborted. The value must be between [0, 100] */ + // +optional + Percentage *int `json:"percentage,omitempty"` +} + +type GrpcrouteAction struct { + /* Optional. The destination services to which traffic should be forwarded. If multiple destinations are specified, traffic will be split between Backend Service(s) according to the weight field of these destinations. */ + // +optional + Destinations []GrpcrouteDestinations `json:"destinations,omitempty"` + + /* Optional. The specification for fault injection introduced into traffic to test the resiliency of clients to destination service failure. As part of fault injection, when clients send requests to a destination, delays can be introduced on a percentage of requests before sending those requests to the destination service. Similarly requests from clients can be aborted by for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy */ + // +optional + FaultInjectionPolicy *GrpcrouteFaultInjectionPolicy `json:"faultInjectionPolicy,omitempty"` + + /* Optional. The specification for modifying the headers of a matching request prior to delivery of the request to the destination. Cannot be set if the route is attached to a Router whose type is PROXYLESS_GRPC. */ + // +optional + RequestHeaderModifier *GrpcrouteRequestHeaderModifier `json:"requestHeaderModifier,omitempty"` + + /* Optional. Specifies the policy on how requests intended for the route's destination are mirrored to a separate mirrored destination. The proxy will not wait for the mirrored destination to respond before returning the response. Prior to sending traffic to the mirrored service, the host / authority header is suffixed with -shadow. Cannot be set if the route is attached to a Router whose type is PROXYLESS_GRPC. */ + // +optional + RequestMirrorPolicy *GrpcrouteRequestMirrorPolicy `json:"requestMirrorPolicy,omitempty"` + + /* Optional. The specification for modifying the headers of a response prior to sending the response back to the client. Cannot be set if the route is attached to a Router whose type is PROXYLESS_GRPC. */ + // +optional + ResponseHeaderModifier *GrpcrouteResponseHeaderModifier `json:"responseHeaderModifier,omitempty"` + + /* Optional. Specifies the retry policy associated with this route. */ + // +optional + RetryPolicy *GrpcrouteRetryPolicy `json:"retryPolicy,omitempty"` + + /* Optional. Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries. */ + // +optional + Timeout *string `json:"timeout,omitempty"` + + /* Optional. The specification for rewrite URL before forwarding requests to the destination. Cannot be set if the route is attached to a Router whose type is PROXYLESS_GRPC. */ + // +optional + UrlRewrite *GrpcrouteUrlRewrite `json:"urlRewrite,omitempty"` +} + +type GrpcrouteDelay struct { + /* Specify a fixed delay before forwarding the request. */ + // +optional + FixedDelay *string `json:"fixedDelay,omitempty"` + + /* The percentage of traffic on which delay will be injected. The value must be between [0, 100] */ + // +optional + Percentage *int `json:"percentage,omitempty"` +} + +type GrpcrouteDestination struct { + /* */ + ServiceRef v1alpha1.ResourceRef `json:"serviceRef"` + + /* Optional. Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them. */ + // +optional + Weight *int `json:"weight,omitempty"` +} + +type GrpcrouteDestinations struct { + /* */ + ServiceRef v1alpha1.ResourceRef `json:"serviceRef"` + + /* Optional. Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them. */ + // +optional + Weight *int `json:"weight,omitempty"` +} + +type GrpcrouteFaultInjectionPolicy struct { + /* The specification for aborting to client requests. */ + // +optional + Abort *GrpcrouteAbort `json:"abort,omitempty"` + + /* The specification for injecting delay to client requests. */ + // +optional + Delay *GrpcrouteDelay `json:"delay,omitempty"` +} + +type GrpcrouteHeaders struct { + /* Required. The key of the header. */ + Key string `json:"key"` + + /* Optional. Specifies how to match against the value of the header. If not specified, a default value of EXACT is used. Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL */ + // +optional + Type *string `json:"type,omitempty"` + + /* Required. The value of the header. */ + Value string `json:"value"` +} + +type GrpcrouteMatches struct { + /* Optional. Specifies a collection of headers to match. */ + // +optional + Headers []GrpcrouteHeaders `json:"headers,omitempty"` + + /* Optional. A gRPC method to match against. If this field is empty or omitted, will match all methods. */ + // +optional + Method *GrpcrouteMethod `json:"method,omitempty"` +} + +type GrpcrouteMethod struct { + /* Optional. Specifies that matches are case sensitive. The default value is true. case_sensitive must not be used with a type of REGULAR_EXPRESSION. */ + // +optional + CaseSensitive *bool `json:"caseSensitive,omitempty"` + + /* Required. Name of the method to match against. If unspecified, will match all methods. */ + GrpcMethod string `json:"grpcMethod"` + + /* Required. Name of the service to match against. If unspecified, will match all services. */ + GrpcService string `json:"grpcService"` + + /* Optional. Specifies how to match against the name. If not specified, a default value of "EXACT" is used. Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL */ + // +optional + Type *string `json:"type,omitempty"` +} + +type GrpcrouteRequestHeaderModifier struct { + /* Add the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Add map[string]string `json:"add,omitempty"` + + /* Remove headers (matching by header names) specified in the list. */ + // +optional + Remove []string `json:"remove,omitempty"` + + /* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Set map[string]string `json:"set,omitempty"` +} + +type GrpcrouteRequestMirrorPolicy struct { + /* The destination the requests will be mirrored to. The weight of the destination will be ignored. */ + // +optional + Destination *GrpcrouteDestination `json:"destination,omitempty"` +} + +type GrpcrouteResponseHeaderModifier struct { + /* Add the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Add map[string]string `json:"add,omitempty"` + + /* Remove headers (matching by header names) specified in the list. */ + // +optional + Remove []string `json:"remove,omitempty"` + + /* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Set map[string]string `json:"set,omitempty"` +} + +type GrpcrouteRetryPolicy struct { + /* Specifies the allowed number of retries. This number must be > 0. If not specpfied, default to 1. */ + // +optional + NumRetries *int `json:"numRetries,omitempty"` + + /* If not specified, will use the timeout set in the RouteAction. If timeout is not set in the RouteAction, will use the largest timeout among all Backend Services associated with the route. */ + // +optional + PerTryTimeout *string `json:"perTryTimeout,omitempty"` + + /* - connect-failure: Router will retry on failures connecting to Backend Services, for example due to connection timeouts. - refused-stream: Router will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: Router will retry if the gRPC status code in the response header is set to cancelled - deadline-exceeded: Router will retry if the gRPC status code in the response header is set to deadline-exceeded - resource-exhausted: Router will retry if the gRPC status code in the response header is set to resource-exhausted - unavailable: Router will retry if the gRPC status code in the response header is set to unavailable */ + // +optional + RetryConditions []string `json:"retryConditions,omitempty"` +} + +type GrpcrouteRules struct { + /* Required. A detailed rule defining how to route traffic. This field is required. */ + Action GrpcrouteAction `json:"action"` + + /* Optional. Matches define conditions used for matching the rule against incoming gRPC requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. If no matches field is specified, this rule will unconditionally match traffic. */ + // +optional + Matches []GrpcrouteMatches `json:"matches,omitempty"` +} + +type GrpcrouteUrlRewrite struct { + /* Prior to forwarding the request to the selected destination, the requests host header is replaced by this value. */ + // +optional + HostRewrite *string `json:"hostRewrite,omitempty"` + + /* Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value. */ + // +optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty"` +} + +type NetworkServicesGRPCRouteSpec struct { + /* Optional. A free-text description of the resource. Max length 1024 characters. */ + // +optional + Description *string `json:"description,omitempty"` + + /* */ + // +optional + Gateways []v1alpha1.ResourceRef `json:"gateways,omitempty"` + + /* Required. Service hostnames with an optional port for which this route describes traffic. Format: [:] Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions: - IPs are not allowed. - A hostname may be prefixed with a wildcard label (*.). The wildcard label must appear by itself as the first label. Hostname can be “precise” which is a domain name without the terminating dot of a network host (e.g. “foo.example.com”) or “wildcard”, which is a domain name prefixed with a single wildcard label (e.g. *.example.com). Note that as per RFC1035 and RFC1123, a label must consist of lower case alphanumeric characters or ‘-’, and must start and end with an alphanumeric character. No other punctuation is allowed. The routes associated with a Router must have unique hostnames. If you attempt to attach multiple routes with conflicting hostnames, the configuration will be rejected. For example, while it is acceptable for routes for the hostnames "*.foo.bar.com" and "*.bar.com" to be associated with the same route, it is not possible to associate two routes both with "*.bar.com" or both with "bar.com". In the case that multiple routes match the hostname, the most specific match will be selected. For example, "foo.bar.baz.com" will take precedence over "*.bar.baz.com" and "*.bar.baz.com" will take precedence over "*.baz.com". If a port is specified, then gRPC clients must use the channel URI with the port to match this rule (i.e. "xds:///service:123"), otherwise they must supply the URI without a port (i.e. "xds:///service"). */ + Hostnames []string `json:"hostnames"` + + /* Optional. Set of label tags associated with the GrpcRoute resource. */ + // +optional + Labels map[string]string `json:"labels,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* */ + // +optional + Meshes []v1alpha1.ResourceRef `json:"meshes,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"` + + /* Optional. Routers define a list of routers this GrpcRoute should be served by. Each router reference should match the pattern: `projects/* /locations/global/routers/` */ + // +optional + Routers []string `json:"routers,omitempty"` + + /* Required. A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied. */ + Rules []GrpcrouteRules `json:"rules"` +} + +type NetworkServicesGRPCRouteStatus struct { + /* Conditions represent the latest available observations of the + NetworkServicesGRPCRoute's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The timestamp when the resource was created. */ + CreateTime string `json:"createTime,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 timestamp when the resource was updated. */ + UpdateTime string `json:"updateTime,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesGRPCRoute is the Schema for the networkservices API +// +k8s:openapi-gen=true +type NetworkServicesGRPCRoute struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NetworkServicesGRPCRouteSpec `json:"spec,omitempty"` + Status NetworkServicesGRPCRouteStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesGRPCRouteList contains a list of NetworkServicesGRPCRoute +type NetworkServicesGRPCRouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkServicesGRPCRoute `json:"items"` +} + +func init() { + SchemeBuilder.Register(&NetworkServicesGRPCRoute{}, &NetworkServicesGRPCRouteList{}) +} diff --git a/pkg/apis/networkservices/v1beta1/networkserviceshttproute_types.go b/pkg/apis/networkservices/v1beta1/networkserviceshttproute_types.go new file mode 100644 index 0000000000..8b59a35b8e --- /dev/null +++ b/pkg/apis/networkservices/v1beta1/networkserviceshttproute_types.go @@ -0,0 +1,428 @@ +// 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 HttprouteAbort struct { + /* The HTTP status code used to abort the request. The value must be between 200 and 599 inclusive. */ + // +optional + HttpStatus *int `json:"httpStatus,omitempty"` + + /* The percentage of traffic which will be aborted. The value must be between [0, 100] */ + // +optional + Percentage *int `json:"percentage,omitempty"` +} + +type HttprouteAction struct { + /* The specification for allowing client side cross-origin requests. */ + // +optional + CorsPolicy *HttprouteCorsPolicy `json:"corsPolicy,omitempty"` + + /* The destination to which traffic should be forwarded. */ + // +optional + Destinations []HttprouteDestinations `json:"destinations,omitempty"` + + /* The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted for a percentage of requests. timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy */ + // +optional + FaultInjectionPolicy *HttprouteFaultInjectionPolicy `json:"faultInjectionPolicy,omitempty"` + + /* If true, the matched traffic will use the destination ip and port of the original connection (as it was not processed by proxy) as the destination of the request. Only one of destinations, redirect, original_destination can be set. */ + // +optional + OriginalDestination *bool `json:"originalDestination,omitempty"` + + /* If set, the request is directed as configured by this field. */ + // +optional + Redirect *HttprouteRedirect `json:"redirect,omitempty"` + + /* The specification for modifying the headers of a matching request prior to delivery of the request to the destination. */ + // +optional + RequestHeaderModifier *HttprouteRequestHeaderModifier `json:"requestHeaderModifier,omitempty"` + + /* Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination. Proxy will not wait for the shadow destination to respond before returning the response. Prior to sending traffic to the shadow service, the host/authority header is suffixed with -shadow. */ + // +optional + RequestMirrorPolicy *HttprouteRequestMirrorPolicy `json:"requestMirrorPolicy,omitempty"` + + /* The specification for modifying the headers of a response prior to sending the response back to the client. */ + // +optional + ResponseHeaderModifier *HttprouteResponseHeaderModifier `json:"responseHeaderModifier,omitempty"` + + /* Specifies the retry policy associated with this route. */ + // +optional + RetryPolicy *HttprouteRetryPolicy `json:"retryPolicy,omitempty"` + + /* Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries. */ + // +optional + Timeout *string `json:"timeout,omitempty"` + + /* The specification for rewrite URL before forwarding requests to the destination. */ + // +optional + UrlRewrite *HttprouteUrlRewrite `json:"urlRewrite,omitempty"` +} + +type HttprouteCorsPolicy struct { + /* In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This translates to the Access-Control-Allow-Credentials header. Default value is false. */ + // +optional + AllowCredentials *bool `json:"allowCredentials,omitempty"` + + /* Specifies the content for Access-Control-Allow-Headers header. */ + // +optional + AllowHeaders []string `json:"allowHeaders,omitempty"` + + /* Specifies the content for Access-Control-Allow-Methods header. */ + // +optional + AllowMethods []string `json:"allowMethods,omitempty"` + + /* Specifies the regular expression patterns that match allowed origins. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax. */ + // +optional + AllowOriginRegexes []string `json:"allowOriginRegexes,omitempty"` + + /* Specifies the list of origins that will be allowed to do CORS requests. An origin is allowed if it matches either an item in allow_origins or an item in allow_origin_regexes. */ + // +optional + AllowOrigins []string `json:"allowOrigins,omitempty"` + + /* If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect. */ + // +optional + Disabled *bool `json:"disabled,omitempty"` + + /* Specifies the content for Access-Control-Expose-Headers header. */ + // +optional + ExposeHeaders []string `json:"exposeHeaders,omitempty"` + + /* Specifies how long result of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header. */ + // +optional + MaxAge *string `json:"maxAge,omitempty"` +} + +type HttprouteDelay struct { + /* Specify a fixed delay before forwarding the request. */ + // +optional + FixedDelay *string `json:"fixedDelay,omitempty"` + + /* The percentage of traffic on which delay will be injected. The value must be between [0, 100] */ + // +optional + Percentage *int `json:"percentage,omitempty"` +} + +type HttprouteDestination struct { + /* */ + // +optional + ServiceRef *v1alpha1.ResourceRef `json:"serviceRef,omitempty"` + + /* Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them. */ + // +optional + Weight *int `json:"weight,omitempty"` +} + +type HttprouteDestinations struct { + /* */ + // +optional + ServiceRef *v1alpha1.ResourceRef `json:"serviceRef,omitempty"` + + /* Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them. */ + // +optional + Weight *int `json:"weight,omitempty"` +} + +type HttprouteFaultInjectionPolicy struct { + /* The specification for aborting to client requests. */ + // +optional + Abort *HttprouteAbort `json:"abort,omitempty"` + + /* The specification for injecting delay to client requests. */ + // +optional + Delay *HttprouteDelay `json:"delay,omitempty"` +} + +type HttprouteHeaders struct { + /* The value of the header should match exactly the content of exact_match. */ + // +optional + ExactMatch *string `json:"exactMatch,omitempty"` + + /* The name of the HTTP header to match against. */ + // +optional + Header *string `json:"header,omitempty"` + + /* If specified, the match result will be inverted before checking. Default value is set to false. */ + // +optional + InvertMatch *bool `json:"invertMatch,omitempty"` + + /* The value of the header must start with the contents of prefix_match. */ + // +optional + PrefixMatch *string `json:"prefixMatch,omitempty"` + + /* A header with header_name must exist. The match takes place whether or not the header has a value. */ + // +optional + PresentMatch *bool `json:"presentMatch,omitempty"` + + /* If specified, the rule will match if the request header value is within the range. */ + // +optional + RangeMatch *HttprouteRangeMatch `json:"rangeMatch,omitempty"` + + /* The value of the header must match the regular expression specified in regex_match. For regular expression grammar, please see: https://github.com/google/re2/wiki/Syntax */ + // +optional + RegexMatch *string `json:"regexMatch,omitempty"` + + /* The value of the header must end with the contents of suffix_match. */ + // +optional + SuffixMatch *string `json:"suffixMatch,omitempty"` +} + +type HttprouteMatches struct { + /* The HTTP request path value should exactly match this value. Only one of full_path_match, prefix_match, or regex_match should be used. */ + // +optional + FullPathMatch *string `json:"fullPathMatch,omitempty"` + + /* Specifies a list of HTTP request headers to match against. ALL of the supplied headers must be matched. */ + // +optional + Headers []HttprouteHeaders `json:"headers,omitempty"` + + /* Specifies if prefix_match and full_path_match matches are case sensitive. The default value is false. */ + // +optional + IgnoreCase *bool `json:"ignoreCase,omitempty"` + + /* The HTTP request path value must begin with specified prefix_match. prefix_match must begin with a /. Only one of full_path_match, prefix_match, or regex_match should be used. */ + // +optional + PrefixMatch *string `json:"prefixMatch,omitempty"` + + /* Specifies a list of query parameters to match against. ALL of the query parameters must be matched. */ + // +optional + QueryParameters []HttprouteQueryParameters `json:"queryParameters,omitempty"` + + /* The HTTP request path value must satisfy the regular expression specified by regex_match after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax Only one of full_path_match, prefix_match, or regex_match should be used. */ + // +optional + RegexMatch *string `json:"regexMatch,omitempty"` +} + +type HttprouteQueryParameters struct { + /* The value of the query parameter must exactly match the contents of exact_match. Only one of exact_match, regex_match, or present_match must be set. */ + // +optional + ExactMatch *string `json:"exactMatch,omitempty"` + + /* Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not. Only one of exact_match, regex_match, or present_match must be set. */ + // +optional + PresentMatch *bool `json:"presentMatch,omitempty"` + + /* The name of the query parameter to match. */ + // +optional + QueryParameter *string `json:"queryParameter,omitempty"` + + /* The value of the query parameter must match the regular expression specified by regex_match. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax Only one of exact_match, regex_match, or present_match must be set. */ + // +optional + RegexMatch *string `json:"regexMatch,omitempty"` +} + +type HttprouteRangeMatch struct { + /* End of the range (exclusive) */ + // +optional + End *int `json:"end,omitempty"` + + /* Start of the range (inclusive) */ + // +optional + Start *int `json:"start,omitempty"` +} + +type HttprouteRedirect struct { + /* The host that will be used in the redirect response instead of the one that was supplied in the request. */ + // +optional + HostRedirect *string `json:"hostRedirect,omitempty"` + + /* If set to true, the URL scheme in the redirected request is set to https. If set to false, the URL scheme of the redirected request will remain the same as that of the request. The default is set to false. */ + // +optional + HttpsRedirect *bool `json:"httpsRedirect,omitempty"` + + /* The path that will be used in the redirect response instead of the one that was supplied in the request. path_redirect can not be supplied together with prefix_redirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect. */ + // +optional + PathRedirect *string `json:"pathRedirect,omitempty"` + + /* The port that will be used in the redirected request instead of the one that was supplied in the request. */ + // +optional + PortRedirect *int `json:"portRedirect,omitempty"` + + /* Indicates that during redirection, the matched prefix (or path) should be swapped with this value. This option allows URLs be dynamically created based on the request. */ + // +optional + PrefixRewrite *string `json:"prefixRewrite,omitempty"` + + /* The HTTP Status code to use for the redirect. Possible values: MOVED_PERMANENTLY_DEFAULT, FOUND, SEE_OTHER, TEMPORARY_REDIRECT, PERMANENT_REDIRECT */ + // +optional + ResponseCode *string `json:"responseCode,omitempty"` + + /* if set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. */ + // +optional + StripQuery *bool `json:"stripQuery,omitempty"` +} + +type HttprouteRequestHeaderModifier struct { + /* Add the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Add map[string]string `json:"add,omitempty"` + + /* Remove headers (matching by header names) specified in the list. */ + // +optional + Remove []string `json:"remove,omitempty"` + + /* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Set map[string]string `json:"set,omitempty"` +} + +type HttprouteRequestMirrorPolicy struct { + /* The destination the requests will be mirrored to. The weight of the destination will be ignored. */ + // +optional + Destination *HttprouteDestination `json:"destination,omitempty"` +} + +type HttprouteResponseHeaderModifier struct { + /* Add the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Add map[string]string `json:"add,omitempty"` + + /* Remove headers (matching by header names) specified in the list. */ + // +optional + Remove []string `json:"remove,omitempty"` + + /* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header. */ + // +optional + Set map[string]string `json:"set,omitempty"` +} + +type HttprouteRetryPolicy struct { + /* Specifies the allowed number of retries. This number must be > 0. If not specified, default to 1. */ + // +optional + NumRetries *int `json:"numRetries,omitempty"` + + /* Specifies a non-zero timeout per retry attempt. */ + // +optional + PerTryTimeout *string `json:"perTryTimeout,omitempty"` + + /* Specifies one or more conditions when this retry policy applies. Valid values are: 5xx: Proxy will attempt a retry if the destination service responds with any 5xx response code, of if the destination service does not respond at all, example: disconnect, reset, read timeout, connection failure and refused streams. gateway-error: Similar to 5xx, but only applies to response codes 502, 503, 504. reset: Proxy will attempt a retry if the destination service does not respond at all (disconnect/reset/read timeout) connect-failure: Proxy will retry on failures connecting to destination for example due to connection timeouts. retriable-4xx: Proxy will retry fro retriable 4xx response codes. Currently the only retriable error supported is 409. refused-stream: Proxy will retry if the destination resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. */ + // +optional + RetryConditions []string `json:"retryConditions,omitempty"` +} + +type HttprouteRules struct { + /* The detailed rule defining how to route matched traffic. */ + // +optional + Action *HttprouteAction `json:"action,omitempty"` + + /* A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied. */ + // +optional + Matches []HttprouteMatches `json:"matches,omitempty"` +} + +type HttprouteUrlRewrite struct { + /* Prior to forwarding the request to the selected destination, the requests host header is replaced by this value. */ + // +optional + HostRewrite *string `json:"hostRewrite,omitempty"` + + /* Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value. */ + // +optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty"` +} + +type NetworkServicesHTTPRouteSpec struct { + /* Optional. A free-text description of the resource. Max length 1024 characters. */ + // +optional + Description *string `json:"description,omitempty"` + + /* */ + // +optional + Gateways []v1alpha1.ResourceRef `json:"gateways,omitempty"` + + /* Required. Hostnames define a set of hosts that should match against the HTTP host header to select a HttpRoute to process the request. Hostname is the fully qualified domain name of a network host, as defined by RFC 1123 with the exception that ip addresses are not allowed. Wildcard hosts are supported as "*" (no prefix or suffix allowed). */ + Hostnames []string `json:"hostnames"` + + /* Optional. Set of label tags associated with the HttpRoute resource. */ + // +optional + Labels map[string]string `json:"labels,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* */ + // +optional + Meshes []v1alpha1.ResourceRef `json:"meshes,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"` + + /* Optional. Routers define a list of routers this HttpRoute should be served by. Each router reference should match the pattern: `projects/* /locations/global/routers/` The attached Router should be of a type PROXY */ + // +optional + Routers []string `json:"routers,omitempty"` + + /* Required. Rules that define how traffic is routed and handled. */ + Rules []HttprouteRules `json:"rules"` +} + +type NetworkServicesHTTPRouteStatus struct { + /* Conditions represent the latest available observations of the + NetworkServicesHTTPRoute's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The timestamp when the resource was created. */ + CreateTime string `json:"createTime,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 timestamp when the resource was updated. */ + UpdateTime string `json:"updateTime,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesHTTPRoute is the Schema for the networkservices API +// +k8s:openapi-gen=true +type NetworkServicesHTTPRoute struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NetworkServicesHTTPRouteSpec `json:"spec,omitempty"` + Status NetworkServicesHTTPRouteStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesHTTPRouteList contains a list of NetworkServicesHTTPRoute +type NetworkServicesHTTPRouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkServicesHTTPRoute `json:"items"` +} + +func init() { + SchemeBuilder.Register(&NetworkServicesHTTPRoute{}, &NetworkServicesHTTPRouteList{}) +} diff --git a/pkg/apis/networkservices/v1beta1/networkservicesmesh_types.go b/pkg/apis/networkservices/v1beta1/networkservicesmesh_types.go new file mode 100644 index 0000000000..32c34ccd86 --- /dev/null +++ b/pkg/apis/networkservices/v1beta1/networkservicesmesh_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 NetworkServicesMeshSpec struct { + /* Optional. A free-text description of the resource. Max length 1024 characters. */ + // +optional + Description *string `json:"description,omitempty"` + + /* Optional. If set to a valid TCP port (1-65535), instructs the SIDECAR proxy to listen on the specified port of localhost (127.0.0.1) address. The SIDECAR proxy will expect all traffic to be redirected to this port regardless of its actual ip:port destination. If unset, a port '15001' is used as the interception port. This field is only valid if the type of Mesh is SIDECAR. */ + // +optional + InterceptionPort *int `json:"interceptionPort,omitempty"` + + /* Optional. Set of label tags associated with the Mesh resource. */ + // +optional + Labels map[string]string `json:"labels,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"` + + /* Required. Immutable. Scope defines a logical configuration boundary for mesh. The routes pointing to this particular mesh resource defines the mesh configuration and the scope field name is used by mesh clients to receive that configuration. There cannot be more than one Mesh resource instance of the same type (SIDECAR or PROXYLESS_GRPC) with the same scope. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. */ + Scope string `json:"scope"` + + /* Required. Immutable. The type of the Mesh resource. Possible values: MATCH_TYPE_UNSPECIFIED, MATCH_ANY, MATCH_ALL */ + Type string `json:"type"` +} + +type NetworkServicesMeshStatus struct { + /* Conditions represent the latest available observations of the + NetworkServicesMesh's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The timestamp when the resource was created. */ + CreateTime string `json:"createTime,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 timestamp when the resource was updated. */ + UpdateTime string `json:"updateTime,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesMesh is the Schema for the networkservices API +// +k8s:openapi-gen=true +type NetworkServicesMesh struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NetworkServicesMeshSpec `json:"spec,omitempty"` + Status NetworkServicesMeshStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesMeshList contains a list of NetworkServicesMesh +type NetworkServicesMeshList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkServicesMesh `json:"items"` +} + +func init() { + SchemeBuilder.Register(&NetworkServicesMesh{}, &NetworkServicesMeshList{}) +} diff --git a/pkg/apis/networkservices/v1beta1/networkservicestcproute_types.go b/pkg/apis/networkservices/v1beta1/networkservicestcproute_types.go new file mode 100644 index 0000000000..0b9e559651 --- /dev/null +++ b/pkg/apis/networkservices/v1beta1/networkservicestcproute_types.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. + +// ---------------------------------------------------------------------------- +// +// *** 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 TcprouteAction struct { + /* Optional. The destination services to which traffic should be forwarded. At least one destination service is required. */ + // +optional + Destinations []TcprouteDestinations `json:"destinations,omitempty"` + + /* Optional. If true, Router will use the destination IP and port of the original connection as the destination of the request. Default is false. */ + // +optional + OriginalDestination *bool `json:"originalDestination,omitempty"` +} + +type TcprouteDestinations struct { + /* */ + ServiceRef v1alpha1.ResourceRef `json:"serviceRef"` + + /* Optional. Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports. If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend. If weights are specified for any one service name, they need to be specified for all of them. If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them. */ + // +optional + Weight *int `json:"weight,omitempty"` +} + +type TcprouteMatches struct { + /* Required. Must be specified in the CIDR range format. A CIDR range consists of an IP Address and a prefix length to construct the subnet mask. By default, the prefix length is 32 (i.e. matches a single IP address). Only IPV4 addresses are supported. Examples: “10.0.0.1” - matches against this exact IP address. “10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" - matches against any IP address'. */ + Address string `json:"address"` + + /* Required. Specifies the destination port to match against. */ + Port string `json:"port"` +} + +type TcprouteRules struct { + /* Required. The detailed rule defining how to route matched traffic. */ + Action TcprouteAction `json:"action"` + + /* Optional. RouteMatch defines the predicate used to match requests to a given action. Multiple match types are “OR”ed for evaluation. If no routeMatch field is specified, this rule will unconditionally match traffic. */ + // +optional + Matches []TcprouteMatches `json:"matches,omitempty"` +} + +type NetworkServicesTCPRouteSpec struct { + /* Optional. A free-text description of the resource. Max length 1024 characters. */ + // +optional + Description *string `json:"description,omitempty"` + + /* */ + // +optional + Gateways []v1alpha1.ResourceRef `json:"gateways,omitempty"` + + /* Optional. Set of label tags associated with the TcpRoute resource. */ + // +optional + Labels map[string]string `json:"labels,omitempty"` + + /* The location for the resource */ + Location string `json:"location"` + + /* */ + // +optional + Meshes []v1alpha1.ResourceRef `json:"meshes,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"` + + /* Optional. Routers define a list of routers this TcpRoute should be served by. Each router reference should match the pattern: `projects/* /locations/global/routers/` The attached Router should be of a type PROXY */ + // +optional + Routers []string `json:"routers,omitempty"` + + /* Required. Rules that define how traffic is routed and handled. At least one RouteRule must be supplied. If there are multiple rules then the action taken will be the first rule to match. */ + Rules []TcprouteRules `json:"rules"` +} + +type NetworkServicesTCPRouteStatus struct { + /* Conditions represent the latest available observations of the + NetworkServicesTCPRoute's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The timestamp when the resource was created. */ + CreateTime string `json:"createTime,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 timestamp when the resource was updated. */ + UpdateTime string `json:"updateTime,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesTCPRoute is the Schema for the networkservices API +// +k8s:openapi-gen=true +type NetworkServicesTCPRoute struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec NetworkServicesTCPRouteSpec `json:"spec,omitempty"` + Status NetworkServicesTCPRouteStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetworkServicesTCPRouteList contains a list of NetworkServicesTCPRoute +type NetworkServicesTCPRouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkServicesTCPRoute `json:"items"` +} + +func init() { + SchemeBuilder.Register(&NetworkServicesTCPRoute{}, &NetworkServicesTCPRouteList{}) +} diff --git a/pkg/apis/networkservices/v1beta1/register.go b/pkg/apis/networkservices/v1beta1/register.go index a0aeb8bbe2..95f1feb0a7 100644 --- a/pkg/apis/networkservices/v1beta1/register.go +++ b/pkg/apis/networkservices/v1beta1/register.go @@ -59,5 +59,35 @@ var ( Kind: reflect.TypeOf(NetworkServicesEndpointPolicy{}).Name(), } + NetworkServicesGRPCRouteGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(NetworkServicesGRPCRoute{}).Name(), + } + + NetworkServicesGatewayGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(NetworkServicesGateway{}).Name(), + } + + NetworkServicesHTTPRouteGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(NetworkServicesHTTPRoute{}).Name(), + } + + NetworkServicesMeshGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(NetworkServicesMesh{}).Name(), + } + + NetworkServicesTCPRouteGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(NetworkServicesTCPRoute{}).Name(), + } + networkservicesAPIVersion = SchemeGroupVersion.String() ) diff --git a/pkg/apis/networkservices/v1beta1/zz_generated.deepcopy.go b/pkg/apis/networkservices/v1beta1/zz_generated.deepcopy.go index 0c4a3226bc..85f22eb0be 100644 --- a/pkg/apis/networkservices/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/networkservices/v1beta1/zz_generated.deepcopy.go @@ -113,6 +113,1087 @@ func (in *EndpointpolicyTrafficPortSelector) DeepCopy() *EndpointpolicyTrafficPo return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteAbort) DeepCopyInto(out *GrpcrouteAbort) { + *out = *in + if in.HttpStatus != nil { + in, out := &in.HttpStatus, &out.HttpStatus + *out = new(int) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteAbort. +func (in *GrpcrouteAbort) DeepCopy() *GrpcrouteAbort { + if in == nil { + return nil + } + out := new(GrpcrouteAbort) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteAction) DeepCopyInto(out *GrpcrouteAction) { + *out = *in + if in.Destinations != nil { + in, out := &in.Destinations, &out.Destinations + *out = make([]GrpcrouteDestinations, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = new(GrpcrouteFaultInjectionPolicy) + (*in).DeepCopyInto(*out) + } + if in.RequestHeaderModifier != nil { + in, out := &in.RequestHeaderModifier, &out.RequestHeaderModifier + *out = new(GrpcrouteRequestHeaderModifier) + (*in).DeepCopyInto(*out) + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = new(GrpcrouteRequestMirrorPolicy) + (*in).DeepCopyInto(*out) + } + if in.ResponseHeaderModifier != nil { + in, out := &in.ResponseHeaderModifier, &out.ResponseHeaderModifier + *out = new(GrpcrouteResponseHeaderModifier) + (*in).DeepCopyInto(*out) + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = new(GrpcrouteRetryPolicy) + (*in).DeepCopyInto(*out) + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } + if in.UrlRewrite != nil { + in, out := &in.UrlRewrite, &out.UrlRewrite + *out = new(GrpcrouteUrlRewrite) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteAction. +func (in *GrpcrouteAction) DeepCopy() *GrpcrouteAction { + if in == nil { + return nil + } + out := new(GrpcrouteAction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteDelay) DeepCopyInto(out *GrpcrouteDelay) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = new(string) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteDelay. +func (in *GrpcrouteDelay) DeepCopy() *GrpcrouteDelay { + if in == nil { + return nil + } + out := new(GrpcrouteDelay) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteDestination) DeepCopyInto(out *GrpcrouteDestination) { + *out = *in + out.ServiceRef = in.ServiceRef + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteDestination. +func (in *GrpcrouteDestination) DeepCopy() *GrpcrouteDestination { + if in == nil { + return nil + } + out := new(GrpcrouteDestination) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteDestinations) DeepCopyInto(out *GrpcrouteDestinations) { + *out = *in + out.ServiceRef = in.ServiceRef + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteDestinations. +func (in *GrpcrouteDestinations) DeepCopy() *GrpcrouteDestinations { + if in == nil { + return nil + } + out := new(GrpcrouteDestinations) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteFaultInjectionPolicy) DeepCopyInto(out *GrpcrouteFaultInjectionPolicy) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = new(GrpcrouteAbort) + (*in).DeepCopyInto(*out) + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(GrpcrouteDelay) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteFaultInjectionPolicy. +func (in *GrpcrouteFaultInjectionPolicy) DeepCopy() *GrpcrouteFaultInjectionPolicy { + if in == nil { + return nil + } + out := new(GrpcrouteFaultInjectionPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteHeaders) DeepCopyInto(out *GrpcrouteHeaders) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteHeaders. +func (in *GrpcrouteHeaders) DeepCopy() *GrpcrouteHeaders { + if in == nil { + return nil + } + out := new(GrpcrouteHeaders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteMatches) DeepCopyInto(out *GrpcrouteMatches) { + *out = *in + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]GrpcrouteHeaders, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(GrpcrouteMethod) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteMatches. +func (in *GrpcrouteMatches) DeepCopy() *GrpcrouteMatches { + if in == nil { + return nil + } + out := new(GrpcrouteMatches) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteMethod) DeepCopyInto(out *GrpcrouteMethod) { + *out = *in + if in.CaseSensitive != nil { + in, out := &in.CaseSensitive, &out.CaseSensitive + *out = new(bool) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteMethod. +func (in *GrpcrouteMethod) DeepCopy() *GrpcrouteMethod { + if in == nil { + return nil + } + out := new(GrpcrouteMethod) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteRequestHeaderModifier) DeepCopyInto(out *GrpcrouteRequestHeaderModifier) { + *out = *in + if in.Add != nil { + in, out := &in.Add, &out.Add + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Remove != nil { + in, out := &in.Remove, &out.Remove + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Set != nil { + in, out := &in.Set, &out.Set + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteRequestHeaderModifier. +func (in *GrpcrouteRequestHeaderModifier) DeepCopy() *GrpcrouteRequestHeaderModifier { + if in == nil { + return nil + } + out := new(GrpcrouteRequestHeaderModifier) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteRequestMirrorPolicy) DeepCopyInto(out *GrpcrouteRequestMirrorPolicy) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(GrpcrouteDestination) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteRequestMirrorPolicy. +func (in *GrpcrouteRequestMirrorPolicy) DeepCopy() *GrpcrouteRequestMirrorPolicy { + if in == nil { + return nil + } + out := new(GrpcrouteRequestMirrorPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteResponseHeaderModifier) DeepCopyInto(out *GrpcrouteResponseHeaderModifier) { + *out = *in + if in.Add != nil { + in, out := &in.Add, &out.Add + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Remove != nil { + in, out := &in.Remove, &out.Remove + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Set != nil { + in, out := &in.Set, &out.Set + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteResponseHeaderModifier. +func (in *GrpcrouteResponseHeaderModifier) DeepCopy() *GrpcrouteResponseHeaderModifier { + if in == nil { + return nil + } + out := new(GrpcrouteResponseHeaderModifier) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteRetryPolicy) DeepCopyInto(out *GrpcrouteRetryPolicy) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = new(string) + **out = **in + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteRetryPolicy. +func (in *GrpcrouteRetryPolicy) DeepCopy() *GrpcrouteRetryPolicy { + if in == nil { + return nil + } + out := new(GrpcrouteRetryPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteRules) DeepCopyInto(out *GrpcrouteRules) { + *out = *in + in.Action.DeepCopyInto(&out.Action) + if in.Matches != nil { + in, out := &in.Matches, &out.Matches + *out = make([]GrpcrouteMatches, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteRules. +func (in *GrpcrouteRules) DeepCopy() *GrpcrouteRules { + if in == nil { + return nil + } + out := new(GrpcrouteRules) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrpcrouteUrlRewrite) DeepCopyInto(out *GrpcrouteUrlRewrite) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcrouteUrlRewrite. +func (in *GrpcrouteUrlRewrite) DeepCopy() *GrpcrouteUrlRewrite { + if in == nil { + return nil + } + out := new(GrpcrouteUrlRewrite) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteAbort) DeepCopyInto(out *HttprouteAbort) { + *out = *in + if in.HttpStatus != nil { + in, out := &in.HttpStatus, &out.HttpStatus + *out = new(int) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteAbort. +func (in *HttprouteAbort) DeepCopy() *HttprouteAbort { + if in == nil { + return nil + } + out := new(HttprouteAbort) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteAction) DeepCopyInto(out *HttprouteAction) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = new(HttprouteCorsPolicy) + (*in).DeepCopyInto(*out) + } + if in.Destinations != nil { + in, out := &in.Destinations, &out.Destinations + *out = make([]HttprouteDestinations, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = new(HttprouteFaultInjectionPolicy) + (*in).DeepCopyInto(*out) + } + if in.OriginalDestination != nil { + in, out := &in.OriginalDestination, &out.OriginalDestination + *out = new(bool) + **out = **in + } + if in.Redirect != nil { + in, out := &in.Redirect, &out.Redirect + *out = new(HttprouteRedirect) + (*in).DeepCopyInto(*out) + } + if in.RequestHeaderModifier != nil { + in, out := &in.RequestHeaderModifier, &out.RequestHeaderModifier + *out = new(HttprouteRequestHeaderModifier) + (*in).DeepCopyInto(*out) + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = new(HttprouteRequestMirrorPolicy) + (*in).DeepCopyInto(*out) + } + if in.ResponseHeaderModifier != nil { + in, out := &in.ResponseHeaderModifier, &out.ResponseHeaderModifier + *out = new(HttprouteResponseHeaderModifier) + (*in).DeepCopyInto(*out) + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = new(HttprouteRetryPolicy) + (*in).DeepCopyInto(*out) + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } + if in.UrlRewrite != nil { + in, out := &in.UrlRewrite, &out.UrlRewrite + *out = new(HttprouteUrlRewrite) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteAction. +func (in *HttprouteAction) DeepCopy() *HttprouteAction { + if in == nil { + return nil + } + out := new(HttprouteAction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteCorsPolicy) DeepCopyInto(out *HttprouteCorsPolicy) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteCorsPolicy. +func (in *HttprouteCorsPolicy) DeepCopy() *HttprouteCorsPolicy { + if in == nil { + return nil + } + out := new(HttprouteCorsPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteDelay) DeepCopyInto(out *HttprouteDelay) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = new(string) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteDelay. +func (in *HttprouteDelay) DeepCopy() *HttprouteDelay { + if in == nil { + return nil + } + out := new(HttprouteDelay) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteDestination) DeepCopyInto(out *HttprouteDestination) { + *out = *in + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteDestination. +func (in *HttprouteDestination) DeepCopy() *HttprouteDestination { + if in == nil { + return nil + } + out := new(HttprouteDestination) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteDestinations) DeepCopyInto(out *HttprouteDestinations) { + *out = *in + if in.ServiceRef != nil { + in, out := &in.ServiceRef, &out.ServiceRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteDestinations. +func (in *HttprouteDestinations) DeepCopy() *HttprouteDestinations { + if in == nil { + return nil + } + out := new(HttprouteDestinations) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteFaultInjectionPolicy) DeepCopyInto(out *HttprouteFaultInjectionPolicy) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = new(HttprouteAbort) + (*in).DeepCopyInto(*out) + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(HttprouteDelay) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteFaultInjectionPolicy. +func (in *HttprouteFaultInjectionPolicy) DeepCopy() *HttprouteFaultInjectionPolicy { + if in == nil { + return nil + } + out := new(HttprouteFaultInjectionPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteHeaders) DeepCopyInto(out *HttprouteHeaders) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.Header != nil { + in, out := &in.Header, &out.Header + *out = new(string) + **out = **in + } + if in.InvertMatch != nil { + in, out := &in.InvertMatch, &out.InvertMatch + *out = new(bool) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.RangeMatch != nil { + in, out := &in.RangeMatch, &out.RangeMatch + *out = new(HttprouteRangeMatch) + (*in).DeepCopyInto(*out) + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } + if in.SuffixMatch != nil { + in, out := &in.SuffixMatch, &out.SuffixMatch + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteHeaders. +func (in *HttprouteHeaders) DeepCopy() *HttprouteHeaders { + if in == nil { + return nil + } + out := new(HttprouteHeaders) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteMatches) DeepCopyInto(out *HttprouteMatches) { + *out = *in + if in.FullPathMatch != nil { + in, out := &in.FullPathMatch, &out.FullPathMatch + *out = new(string) + **out = **in + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]HttprouteHeaders, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoreCase != nil { + in, out := &in.IgnoreCase, &out.IgnoreCase + *out = new(bool) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.QueryParameters != nil { + in, out := &in.QueryParameters, &out.QueryParameters + *out = make([]HttprouteQueryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteMatches. +func (in *HttprouteMatches) DeepCopy() *HttprouteMatches { + if in == nil { + return nil + } + out := new(HttprouteMatches) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteQueryParameters) DeepCopyInto(out *HttprouteQueryParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.QueryParameter != nil { + in, out := &in.QueryParameter, &out.QueryParameter + *out = new(string) + **out = **in + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteQueryParameters. +func (in *HttprouteQueryParameters) DeepCopy() *HttprouteQueryParameters { + if in == nil { + return nil + } + out := new(HttprouteQueryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRangeMatch) DeepCopyInto(out *HttprouteRangeMatch) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(int) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRangeMatch. +func (in *HttprouteRangeMatch) DeepCopy() *HttprouteRangeMatch { + if in == nil { + return nil + } + out := new(HttprouteRangeMatch) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRedirect) DeepCopyInto(out *HttprouteRedirect) { + *out = *in + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.HttpsRedirect != nil { + in, out := &in.HttpsRedirect, &out.HttpsRedirect + *out = new(bool) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PortRedirect != nil { + in, out := &in.PortRedirect, &out.PortRedirect + *out = new(int) + **out = **in + } + if in.PrefixRewrite != nil { + in, out := &in.PrefixRewrite, &out.PrefixRewrite + *out = new(string) + **out = **in + } + if in.ResponseCode != nil { + in, out := &in.ResponseCode, &out.ResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRedirect. +func (in *HttprouteRedirect) DeepCopy() *HttprouteRedirect { + if in == nil { + return nil + } + out := new(HttprouteRedirect) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRequestHeaderModifier) DeepCopyInto(out *HttprouteRequestHeaderModifier) { + *out = *in + if in.Add != nil { + in, out := &in.Add, &out.Add + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Remove != nil { + in, out := &in.Remove, &out.Remove + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Set != nil { + in, out := &in.Set, &out.Set + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRequestHeaderModifier. +func (in *HttprouteRequestHeaderModifier) DeepCopy() *HttprouteRequestHeaderModifier { + if in == nil { + return nil + } + out := new(HttprouteRequestHeaderModifier) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRequestMirrorPolicy) DeepCopyInto(out *HttprouteRequestMirrorPolicy) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(HttprouteDestination) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRequestMirrorPolicy. +func (in *HttprouteRequestMirrorPolicy) DeepCopy() *HttprouteRequestMirrorPolicy { + if in == nil { + return nil + } + out := new(HttprouteRequestMirrorPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteResponseHeaderModifier) DeepCopyInto(out *HttprouteResponseHeaderModifier) { + *out = *in + if in.Add != nil { + in, out := &in.Add, &out.Add + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Remove != nil { + in, out := &in.Remove, &out.Remove + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Set != nil { + in, out := &in.Set, &out.Set + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteResponseHeaderModifier. +func (in *HttprouteResponseHeaderModifier) DeepCopy() *HttprouteResponseHeaderModifier { + if in == nil { + return nil + } + out := new(HttprouteResponseHeaderModifier) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRetryPolicy) DeepCopyInto(out *HttprouteRetryPolicy) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = new(string) + **out = **in + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRetryPolicy. +func (in *HttprouteRetryPolicy) DeepCopy() *HttprouteRetryPolicy { + if in == nil { + return nil + } + out := new(HttprouteRetryPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteRules) DeepCopyInto(out *HttprouteRules) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(HttprouteAction) + (*in).DeepCopyInto(*out) + } + if in.Matches != nil { + in, out := &in.Matches, &out.Matches + *out = make([]HttprouteMatches, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteRules. +func (in *HttprouteRules) DeepCopy() *HttprouteRules { + if in == nil { + return nil + } + out := new(HttprouteRules) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HttprouteUrlRewrite) DeepCopyInto(out *HttprouteUrlRewrite) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttprouteUrlRewrite. +func (in *HttprouteUrlRewrite) DeepCopy() *HttprouteUrlRewrite { + if in == nil { + return nil + } + out := new(HttprouteUrlRewrite) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkServicesEndpointPolicy) DeepCopyInto(out *NetworkServicesEndpointPolicy) { *out = *in @@ -123,18 +1204,575 @@ func (in *NetworkServicesEndpointPolicy) DeepCopyInto(out *NetworkServicesEndpoi return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicy. -func (in *NetworkServicesEndpointPolicy) DeepCopy() *NetworkServicesEndpointPolicy { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicy. +func (in *NetworkServicesEndpointPolicy) DeepCopy() *NetworkServicesEndpointPolicy { + if in == nil { + return nil + } + out := new(NetworkServicesEndpointPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesEndpointPolicy) 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 *NetworkServicesEndpointPolicyList) DeepCopyInto(out *NetworkServicesEndpointPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkServicesEndpointPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicyList. +func (in *NetworkServicesEndpointPolicyList) DeepCopy() *NetworkServicesEndpointPolicyList { + if in == nil { + return nil + } + out := new(NetworkServicesEndpointPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesEndpointPolicyList) 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 *NetworkServicesEndpointPolicySpec) DeepCopyInto(out *NetworkServicesEndpointPolicySpec) { + *out = *in + if in.AuthorizationPolicyRef != nil { + in, out := &in.AuthorizationPolicyRef, &out.AuthorizationPolicyRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.ClientTlsPolicyRef != nil { + in, out := &in.ClientTlsPolicyRef, &out.ClientTlsPolicyRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + in.EndpointMatcher.DeepCopyInto(&out.EndpointMatcher) + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.ServerTlsPolicyRef != nil { + in, out := &in.ServerTlsPolicyRef, &out.ServerTlsPolicyRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.TrafficPortSelector != nil { + in, out := &in.TrafficPortSelector, &out.TrafficPortSelector + *out = new(EndpointpolicyTrafficPortSelector) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicySpec. +func (in *NetworkServicesEndpointPolicySpec) DeepCopy() *NetworkServicesEndpointPolicySpec { + if in == nil { + return nil + } + out := new(NetworkServicesEndpointPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesEndpointPolicyStatus) DeepCopyInto(out *NetworkServicesEndpointPolicyStatus) { + *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 NetworkServicesEndpointPolicyStatus. +func (in *NetworkServicesEndpointPolicyStatus) DeepCopy() *NetworkServicesEndpointPolicyStatus { + if in == nil { + return nil + } + out := new(NetworkServicesEndpointPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesGRPCRoute) DeepCopyInto(out *NetworkServicesGRPCRoute) { + *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 NetworkServicesGRPCRoute. +func (in *NetworkServicesGRPCRoute) DeepCopy() *NetworkServicesGRPCRoute { + if in == nil { + return nil + } + out := new(NetworkServicesGRPCRoute) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesGRPCRoute) 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 *NetworkServicesGRPCRouteList) DeepCopyInto(out *NetworkServicesGRPCRouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkServicesGRPCRoute, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesGRPCRouteList. +func (in *NetworkServicesGRPCRouteList) DeepCopy() *NetworkServicesGRPCRouteList { + if in == nil { + return nil + } + out := new(NetworkServicesGRPCRouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesGRPCRouteList) 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 *NetworkServicesGRPCRouteSpec) DeepCopyInto(out *NetworkServicesGRPCRouteSpec) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Gateways != nil { + in, out := &in.Gateways, &out.Gateways + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + if in.Hostnames != nil { + in, out := &in.Hostnames, &out.Hostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Meshes != nil { + in, out := &in.Meshes, &out.Meshes + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.Routers != nil { + in, out := &in.Routers, &out.Routers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]GrpcrouteRules, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesGRPCRouteSpec. +func (in *NetworkServicesGRPCRouteSpec) DeepCopy() *NetworkServicesGRPCRouteSpec { + if in == nil { + return nil + } + out := new(NetworkServicesGRPCRouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesGRPCRouteStatus) DeepCopyInto(out *NetworkServicesGRPCRouteStatus) { + *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 NetworkServicesGRPCRouteStatus. +func (in *NetworkServicesGRPCRouteStatus) DeepCopy() *NetworkServicesGRPCRouteStatus { + if in == nil { + return nil + } + out := new(NetworkServicesGRPCRouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesGateway) DeepCopyInto(out *NetworkServicesGateway) { + *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 NetworkServicesGateway. +func (in *NetworkServicesGateway) DeepCopy() *NetworkServicesGateway { + if in == nil { + return nil + } + out := new(NetworkServicesGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesGateway) 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 *NetworkServicesGatewayList) DeepCopyInto(out *NetworkServicesGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkServicesGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesGatewayList. +func (in *NetworkServicesGatewayList) DeepCopy() *NetworkServicesGatewayList { + if in == nil { + return nil + } + out := new(NetworkServicesGatewayList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesGatewayList) 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 *NetworkServicesGatewaySpec) DeepCopyInto(out *NetworkServicesGatewaySpec) { + *out = *in + if in.Addresses != nil { + in, out := &in.Addresses, &out.Addresses + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AuthorizationPolicy != nil { + in, out := &in.AuthorizationPolicy, &out.AuthorizationPolicy + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]int, len(*in)) + copy(*out, *in) + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.ServerTlsPolicy != nil { + in, out := &in.ServerTlsPolicy, &out.ServerTlsPolicy + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesGatewaySpec. +func (in *NetworkServicesGatewaySpec) DeepCopy() *NetworkServicesGatewaySpec { + if in == nil { + return nil + } + out := new(NetworkServicesGatewaySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesGatewayStatus) DeepCopyInto(out *NetworkServicesGatewayStatus) { + *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 NetworkServicesGatewayStatus. +func (in *NetworkServicesGatewayStatus) DeepCopy() *NetworkServicesGatewayStatus { + if in == nil { + return nil + } + out := new(NetworkServicesGatewayStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesHTTPRoute) DeepCopyInto(out *NetworkServicesHTTPRoute) { + *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 NetworkServicesHTTPRoute. +func (in *NetworkServicesHTTPRoute) DeepCopy() *NetworkServicesHTTPRoute { + if in == nil { + return nil + } + out := new(NetworkServicesHTTPRoute) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesHTTPRoute) 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 *NetworkServicesHTTPRouteList) DeepCopyInto(out *NetworkServicesHTTPRouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkServicesHTTPRoute, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesHTTPRouteList. +func (in *NetworkServicesHTTPRouteList) DeepCopy() *NetworkServicesHTTPRouteList { + if in == nil { + return nil + } + out := new(NetworkServicesHTTPRouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesHTTPRouteList) 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 *NetworkServicesHTTPRouteSpec) DeepCopyInto(out *NetworkServicesHTTPRouteSpec) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Gateways != nil { + in, out := &in.Gateways, &out.Gateways + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + if in.Hostnames != nil { + in, out := &in.Hostnames, &out.Hostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Meshes != nil { + in, out := &in.Meshes, &out.Meshes + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.Routers != nil { + in, out := &in.Routers, &out.Routers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]HttprouteRules, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesHTTPRouteSpec. +func (in *NetworkServicesHTTPRouteSpec) DeepCopy() *NetworkServicesHTTPRouteSpec { + if in == nil { + return nil + } + out := new(NetworkServicesHTTPRouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesHTTPRouteStatus) DeepCopyInto(out *NetworkServicesHTTPRouteStatus) { + *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 NetworkServicesHTTPRouteStatus. +func (in *NetworkServicesHTTPRouteStatus) DeepCopy() *NetworkServicesHTTPRouteStatus { + if in == nil { + return nil + } + out := new(NetworkServicesHTTPRouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesMesh) DeepCopyInto(out *NetworkServicesMesh) { + *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 NetworkServicesMesh. +func (in *NetworkServicesMesh) DeepCopy() *NetworkServicesMesh { if in == nil { return nil } - out := new(NetworkServicesEndpointPolicy) + out := new(NetworkServicesMesh) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *NetworkServicesEndpointPolicy) DeepCopyObject() runtime.Object { +func (in *NetworkServicesMesh) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -142,13 +1780,13 @@ func (in *NetworkServicesEndpointPolicy) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *NetworkServicesEndpointPolicyList) DeepCopyInto(out *NetworkServicesEndpointPolicyList) { +func (in *NetworkServicesMeshList) DeepCopyInto(out *NetworkServicesMeshList) { *out = *in out.TypeMeta = in.TypeMeta in.ListMeta.DeepCopyInto(&out.ListMeta) if in.Items != nil { in, out := &in.Items, &out.Items - *out = make([]NetworkServicesEndpointPolicy, len(*in)) + *out = make([]NetworkServicesMesh, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -156,18 +1794,18 @@ func (in *NetworkServicesEndpointPolicyList) DeepCopyInto(out *NetworkServicesEn return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicyList. -func (in *NetworkServicesEndpointPolicyList) DeepCopy() *NetworkServicesEndpointPolicyList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesMeshList. +func (in *NetworkServicesMeshList) DeepCopy() *NetworkServicesMeshList { if in == nil { return nil } - out := new(NetworkServicesEndpointPolicyList) + out := new(NetworkServicesMeshList) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *NetworkServicesEndpointPolicyList) DeepCopyObject() runtime.Object { +func (in *NetworkServicesMeshList) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -175,55 +1813,184 @@ func (in *NetworkServicesEndpointPolicyList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *NetworkServicesEndpointPolicySpec) DeepCopyInto(out *NetworkServicesEndpointPolicySpec) { +func (in *NetworkServicesMeshSpec) DeepCopyInto(out *NetworkServicesMeshSpec) { *out = *in - if in.AuthorizationPolicyRef != nil { - in, out := &in.AuthorizationPolicyRef, &out.AuthorizationPolicyRef - *out = new(v1alpha1.ResourceRef) + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) **out = **in } - if in.ClientTlsPolicyRef != nil { - in, out := &in.ClientTlsPolicyRef, &out.ClientTlsPolicyRef - *out = new(v1alpha1.ResourceRef) + if in.InterceptionPort != nil { + in, out := &in.InterceptionPort, &out.InterceptionPort + *out = new(int) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) **out = **in } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesMeshSpec. +func (in *NetworkServicesMeshSpec) DeepCopy() *NetworkServicesMeshSpec { + if in == nil { + return nil + } + out := new(NetworkServicesMeshSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesMeshStatus) DeepCopyInto(out *NetworkServicesMeshStatus) { + *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 NetworkServicesMeshStatus. +func (in *NetworkServicesMeshStatus) DeepCopy() *NetworkServicesMeshStatus { + if in == nil { + return nil + } + out := new(NetworkServicesMeshStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkServicesTCPRoute) DeepCopyInto(out *NetworkServicesTCPRoute) { + *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 NetworkServicesTCPRoute. +func (in *NetworkServicesTCPRoute) DeepCopy() *NetworkServicesTCPRoute { + if in == nil { + return nil + } + out := new(NetworkServicesTCPRoute) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesTCPRoute) 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 *NetworkServicesTCPRouteList) DeepCopyInto(out *NetworkServicesTCPRouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkServicesTCPRoute, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesTCPRouteList. +func (in *NetworkServicesTCPRouteList) DeepCopy() *NetworkServicesTCPRouteList { + if in == nil { + return nil + } + out := new(NetworkServicesTCPRouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkServicesTCPRouteList) 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 *NetworkServicesTCPRouteSpec) DeepCopyInto(out *NetworkServicesTCPRouteSpec) { + *out = *in if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) **out = **in } - in.EndpointMatcher.DeepCopyInto(&out.EndpointMatcher) + if in.Gateways != nil { + in, out := &in.Gateways, &out.Gateways + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Meshes != nil { + in, out := &in.Meshes, &out.Meshes + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } out.ProjectRef = in.ProjectRef if in.ResourceID != nil { in, out := &in.ResourceID, &out.ResourceID *out = new(string) **out = **in } - if in.ServerTlsPolicyRef != nil { - in, out := &in.ServerTlsPolicyRef, &out.ServerTlsPolicyRef - *out = new(v1alpha1.ResourceRef) - **out = **in + if in.Routers != nil { + in, out := &in.Routers, &out.Routers + *out = make([]string, len(*in)) + copy(*out, *in) } - if in.TrafficPortSelector != nil { - in, out := &in.TrafficPortSelector, &out.TrafficPortSelector - *out = new(EndpointpolicyTrafficPortSelector) - (*in).DeepCopyInto(*out) + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]TcprouteRules, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicySpec. -func (in *NetworkServicesEndpointPolicySpec) DeepCopy() *NetworkServicesEndpointPolicySpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesTCPRouteSpec. +func (in *NetworkServicesTCPRouteSpec) DeepCopy() *NetworkServicesTCPRouteSpec { if in == nil { return nil } - out := new(NetworkServicesEndpointPolicySpec) + out := new(NetworkServicesTCPRouteSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *NetworkServicesEndpointPolicyStatus) DeepCopyInto(out *NetworkServicesEndpointPolicyStatus) { +func (in *NetworkServicesTCPRouteStatus) DeepCopyInto(out *NetworkServicesTCPRouteStatus) { *out = *in if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions @@ -233,12 +2000,100 @@ func (in *NetworkServicesEndpointPolicyStatus) DeepCopyInto(out *NetworkServices return } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesEndpointPolicyStatus. -func (in *NetworkServicesEndpointPolicyStatus) DeepCopy() *NetworkServicesEndpointPolicyStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkServicesTCPRouteStatus. +func (in *NetworkServicesTCPRouteStatus) DeepCopy() *NetworkServicesTCPRouteStatus { if in == nil { return nil } - out := new(NetworkServicesEndpointPolicyStatus) + out := new(NetworkServicesTCPRouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcprouteAction) DeepCopyInto(out *TcprouteAction) { + *out = *in + if in.Destinations != nil { + in, out := &in.Destinations, &out.Destinations + *out = make([]TcprouteDestinations, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OriginalDestination != nil { + in, out := &in.OriginalDestination, &out.OriginalDestination + *out = new(bool) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcprouteAction. +func (in *TcprouteAction) DeepCopy() *TcprouteAction { + if in == nil { + return nil + } + out := new(TcprouteAction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcprouteDestinations) DeepCopyInto(out *TcprouteDestinations) { + *out = *in + out.ServiceRef = in.ServiceRef + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcprouteDestinations. +func (in *TcprouteDestinations) DeepCopy() *TcprouteDestinations { + if in == nil { + return nil + } + out := new(TcprouteDestinations) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcprouteMatches) DeepCopyInto(out *TcprouteMatches) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcprouteMatches. +func (in *TcprouteMatches) DeepCopy() *TcprouteMatches { + if in == nil { + return nil + } + out := new(TcprouteMatches) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TcprouteRules) DeepCopyInto(out *TcprouteRules) { + *out = *in + in.Action.DeepCopyInto(&out.Action) + if in.Matches != nil { + in, out := &in.Matches, &out.Matches + *out = make([]TcprouteMatches, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcprouteRules. +func (in *TcprouteRules) DeepCopy() *TcprouteRules { + if in == nil { + return nil + } + out := new(TcprouteRules) in.DeepCopyInto(out) return out } diff --git a/pkg/apis/pubsub/v1beta1/pubsubsubscription_types.go b/pkg/apis/pubsub/v1beta1/pubsubsubscription_types.go index 05e99f4c38..4fecc4cbcb 100644 --- a/pkg/apis/pubsub/v1beta1/pubsubsubscription_types.go +++ b/pkg/apis/pubsub/v1beta1/pubsubsubscription_types.go @@ -234,8 +234,6 @@ type PubSubSubscriptionStatus struct { Conditions []v1alpha1.Condition `json:"conditions,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"` - /* DEPRECATED — Deprecated in favor of id, which contains an identical value. This field will be removed in the next major release of the provider. Path of the subscription in the format projects/{project}/subscriptions/{name}. */ - Path string `json:"path,omitempty"` } // +genclient diff --git a/pkg/apis/pubsub/v1beta1/pubsubtopic_types.go b/pkg/apis/pubsub/v1beta1/pubsubtopic_types.go index cf9218c7c3..9a4e6e7fcd 100644 --- a/pkg/apis/pubsub/v1beta1/pubsubtopic_types.go +++ b/pkg/apis/pubsub/v1beta1/pubsubtopic_types.go @@ -54,6 +54,16 @@ type PubSubTopicSpec struct { // +optional KmsKeyRef *v1alpha1.ResourceRef `json:"kmsKeyRef,omitempty"` + /* Indicates the minimum duration to retain a message after it is published + to the topic. If this field is set, messages published to the topic in + the last messageRetentionDuration are always available to subscribers. + For instance, it allows any attached subscription to seek to a timestamp + that is up to messageRetentionDuration in the past. If this field is not + set, message retention is controlled by settings on individual subscriptions. + Cannot be more than 7 days or less than 10 minutes. */ + // +optional + MessageRetentionDuration *string `json:"messageRetentionDuration,omitempty"` + /* Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect. */ diff --git a/pkg/apis/pubsub/v1beta1/zz_generated.deepcopy.go b/pkg/apis/pubsub/v1beta1/zz_generated.deepcopy.go index e3bbde657f..cc99bd35ed 100644 --- a/pkg/apis/pubsub/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/pubsub/v1beta1/zz_generated.deepcopy.go @@ -247,6 +247,11 @@ func (in *PubSubTopicSpec) DeepCopyInto(out *PubSubTopicSpec) { *out = new(v1alpha1.ResourceRef) **out = **in } + if in.MessageRetentionDuration != nil { + in, out := &in.MessageRetentionDuration, &out.MessageRetentionDuration + *out = new(string) + **out = **in + } if in.MessageStoragePolicy != nil { in, out := &in.MessageStoragePolicy, &out.MessageStoragePolicy *out = new(TopicMessageStoragePolicy) diff --git a/pkg/apis/run/group.go b/pkg/apis/run/group.go new file mode 100644 index 0000000000..614517c0ed --- /dev/null +++ b/pkg/apis/run/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 run contains run API versions. +package run diff --git a/pkg/apis/run/v1beta1/doc.go b/pkg/apis/run/v1beta1/doc.go new file mode 100644 index 0000000000..4bc4b2a45f --- /dev/null +++ b/pkg/apis/run/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 run v1beta1 API group. +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/run +// +k8s:defaulter-gen=TypeMeta +// +groupName=run.cnrm.cloud.google.com + +// Generate deepcopy object for run/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/run/v1beta1/register.go b/pkg/apis/run/v1beta1/register.go new file mode 100644 index 0000000000..b38a046672 --- /dev/null +++ b/pkg/apis/run/v1beta1/register.go @@ -0,0 +1,63 @@ +// 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 run v1beta1 API group. +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/run +// +k8s:defaulter-gen=TypeMeta +// +groupName=run.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: "run.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 + + RunServiceGVK = schema.GroupVersionKind{ + Group: SchemeGroupVersion.Group, + Version: SchemeGroupVersion.Version, + Kind: reflect.TypeOf(RunService{}).Name(), + } + + runAPIVersion = SchemeGroupVersion.String() +) diff --git a/pkg/apis/run/v1beta1/runservice_types.go b/pkg/apis/run/v1beta1/runservice_types.go new file mode 100644 index 0000000000..66c05b84c8 --- /dev/null +++ b/pkg/apis/run/v1beta1/runservice_types.go @@ -0,0 +1,421 @@ +// 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 ServiceBinaryAuthorization struct { + /* If present, indicates to use Breakglass using this justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass */ + // +optional + BreakglassJustification *string `json:"breakglassJustification,omitempty"` + + /* If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled */ + // +optional + UseDefault *bool `json:"useDefault,omitempty"` +} + +type ServiceCloudSqlInstance struct { + /* */ + // +optional + Connections []v1alpha1.ResourceRef `json:"connections,omitempty"` +} + +type ServiceContainers struct { + /* Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell */ + // +optional + Args []string `json:"args,omitempty"` + + /* Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell */ + // +optional + Command []string `json:"command,omitempty"` + + /* List of environment variables to set in the container. */ + // +optional + Env []ServiceEnv `json:"env,omitempty"` + + /* Required. URL of the Container image in Google Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images */ + Image string `json:"image"` + + /* Name of the container specified as a DNS_LABEL. */ + // +optional + Name *string `json:"name,omitempty"` + + /* List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on. */ + // +optional + Ports []ServicePorts `json:"ports,omitempty"` + + /* Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources */ + // +optional + Resources *ServiceResources `json:"resources,omitempty"` + + /* Volume to mount into the container's filesystem. */ + // +optional + VolumeMounts []ServiceVolumeMounts `json:"volumeMounts,omitempty"` +} + +type ServiceEnv struct { + /* Required. Name of the environment variable. Must be a C_IDENTIFIER, and mnay not exceed 32768 characters. */ + Name string `json:"name"` + + /* Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "", and the maximum length is 32768 bytes. */ + // +optional + Value *string `json:"value,omitempty"` + + /* Source for the environment variable's value. */ + // +optional + ValueSource *ServiceValueSource `json:"valueSource,omitempty"` +} + +type ServiceItems struct { + /* Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. */ + // +optional + Mode *int `json:"mode,omitempty"` + + /* Required. The relative path of the secret in the container. */ + Path string `json:"path"` + + /* */ + // +optional + VersionRef *v1alpha1.ResourceRef `json:"versionRef,omitempty"` +} + +type ServicePorts struct { + /* Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536. */ + // +optional + ContainerPort *int `json:"containerPort,omitempty"` + + /* If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c". */ + // +optional + Name *string `json:"name,omitempty"` +} + +type ServiceResources struct { + /* Determines whether CPU should be throttled or not outside of requests. */ + // +optional + CpuIdle *bool `json:"cpuIdle,omitempty"` + + /* Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go */ + // +optional + Limits map[string]string `json:"limits,omitempty"` +} + +type ServiceScaling struct { + /* Maximum number of serving instances that this resource should have. */ + // +optional + MaxInstanceCount *int `json:"maxInstanceCount,omitempty"` + + /* Minimum number of serving instances that this resource should have. */ + // +optional + MinInstanceCount *int `json:"minInstanceCount,omitempty"` +} + +type ServiceSecret struct { + /* Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set. */ + // +optional + DefaultMode *int `json:"defaultMode,omitempty"` + + /* If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version. */ + // +optional + Items []ServiceItems `json:"items,omitempty"` + + /* */ + SecretRef v1alpha1.ResourceRef `json:"secretRef"` +} + +type ServiceTemplate struct { + /* KRM-style annotations for the resource. */ + // +optional + Annotations map[string]string `json:"annotations,omitempty"` + + /* Enables Confidential Cloud Run in Revisions created using this template. */ + // +optional + Confidential *bool `json:"confidential,omitempty"` + + /* Sets the maximum number of requests that each serving instance can receive. */ + // +optional + ContainerConcurrency *int `json:"containerConcurrency,omitempty"` + + /* Holds the single container that defines the unit of execution for this Revision. */ + // +optional + Containers []ServiceContainers `json:"containers,omitempty"` + + /* The sandbox environment to host this Revision. Possible values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_DEFAULT, EXECUTION_ENVIRONMENT_GEN2 */ + // +optional + ExecutionEnvironment *string `json:"executionEnvironment,omitempty"` + + /* KRM-style labels for the resource. */ + // +optional + Labels map[string]string `json:"labels,omitempty"` + + /* The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name. */ + // +optional + Revision *string `json:"revision,omitempty"` + + /* Scaling settings for this Revision. */ + // +optional + Scaling *ServiceScaling `json:"scaling,omitempty"` + + /* */ + // +optional + ServiceAccountRef *v1alpha1.ResourceRef `json:"serviceAccountRef,omitempty"` + + /* Max allowed time for an instance to respond to a request. */ + // +optional + Timeout *string `json:"timeout,omitempty"` + + /* A list of Volumes to make available to containers. */ + // +optional + Volumes []ServiceVolumes `json:"volumes,omitempty"` + + /* VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. */ + // +optional + VpcAccess *ServiceVpcAccess `json:"vpcAccess,omitempty"` +} + +type ServiceTraffic struct { + /* Specifies percent of the traffic to this Revision. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single TrafficTarget entry. */ + // +optional + Percent *int `json:"percent,omitempty"` + + /* Revision to which to send this portion of traffic, if traffic allocation is by revision. */ + // +optional + Revision *string `json:"revision,omitempty"` + + /* Indicates a string to be part of the URI to exclusively reference this target. */ + // +optional + Tag *string `json:"tag,omitempty"` + + /* The allocation type for this traffic target. Possible values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION */ + // +optional + Type *string `json:"type,omitempty"` +} + +type ServiceValueSource struct { + /* Selects a secret and a specific version from Cloud Secret Manager. */ + // +optional + SecretKeyRef *v1alpha1.ResourceRef `json:"secretKeyRef,omitempty"` +} + +type ServiceVolumeMounts struct { + /* Required. Path within the container at which the volume should be mounted. Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run */ + MountPath string `json:"mountPath"` + + /* Required. This must match the Name of a Volume. */ + Name string `json:"name"` +} + +type ServiceVolumes struct { + /* For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. */ + // +optional + CloudSqlInstance *ServiceCloudSqlInstance `json:"cloudSqlInstance,omitempty"` + + /* Required. Volume's name. */ + Name string `json:"name"` + + /* Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret */ + // +optional + Secret *ServiceSecret `json:"secret,omitempty"` +} + +type ServiceVpcAccess struct { + /* */ + // +optional + ConnectorRef *v1alpha1.ResourceRef `json:"connectorRef,omitempty"` + + /* Traffic VPC egress settings. Possible values: VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY */ + // +optional + Egress *string `json:"egress,omitempty"` +} + +type RunServiceSpec struct { + /* Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run will populate some annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces. This field follows Kubernetes annotations' namespacing, limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations */ + // +optional + Annotations map[string]string `json:"annotations,omitempty"` + + /* Settings for the Binary Authorization feature. */ + // +optional + BinaryAuthorization *ServiceBinaryAuthorization `json:"binaryAuthorization,omitempty"` + + /* Arbitrary identifier for the API client. */ + // +optional + Client *string `json:"client,omitempty"` + + /* Arbitrary version identifier for the API client. */ + // +optional + ClientVersion *string `json:"clientVersion,omitempty"` + + /* User-provided description of the Service. */ + // +optional + Description *string `json:"description,omitempty"` + + /* Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active. */ + // +optional + Ingress *string `json:"ingress,omitempty"` + + /* The launch stage as defined by [Google Cloud Platform Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED, PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED */ + // +optional + LaunchStage *string `json:"launchStage,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"` + + /* Required. The template used to create revisions for this Service. */ + Template ServiceTemplate `json:"template"` + + /* Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest `Ready` Revision. */ + // +optional + Traffic []ServiceTraffic `json:"traffic,omitempty"` +} + +type ServiceTerminalConditionStatus struct { + /* A reason for the domain mapping condition. Possible values: DOMAIN_MAPPING_REASON_UNDEFINED, ROUTE_NOT_READY, PERMISSION_DENIED, CERTIFICATE_ALREADY_EXISTS, MAPPING_ALREADY_EXISTS, CERTIFICATE_PENDING, CERTIFICATE_FAILED */ + DomainMappingReason string `json:"domainMappingReason,omitempty"` + + /* A reason for the internal condition. Possible values: INTERNAL_REASON_UNDEFINED, CONFLICTING_REVISION_NAME, REVISION_MISSING, CONFIGURATION_MISSING, ASSIGNING_TRAFFIC, UPDATING_INGRESS_TRAFFIC_ALLOWED, REVISION_ORG_POLICY_VIOLATION, ENABLING_GCFV2_URI_SUPPORT */ + InternalReason string `json:"internalReason,omitempty"` + + /* A reason for the job condition. Possible values: JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR */ + JobReason string `json:"jobReason,omitempty"` + + /* Last time the condition transitioned from one status to another. */ + LastTransitionTime string `json:"lastTransitionTime,omitempty"` + + /* Human readable message indicating details about the current status. */ + Message string `json:"message,omitempty"` + + /* A common (service-level) reason for this condition. Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, ROUTE_MISSING, REVISION_FAILED, PROGRESS_DEADLINE_EXCEEDED, BUILD_STEP_FAILED, CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED, CONTAINER_IMAGE_UNAUTHORIZED, CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED, ENCRYPTION_KEY_PERMISSION_DENIED, ENCRYPTION_KEY_CHECK_FAILED, SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, IMMEDIATE_RETRY, POSTPONED_RETRY */ + Reason string `json:"reason,omitempty"` + + /* A reason for the revision condition. Possible values: REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING, RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING, MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED, NO_DEPLOYMENT */ + RevisionReason string `json:"revisionReason,omitempty"` + + /* How to interpret failures of this condition, one of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED, ERROR, WARNING, INFO */ + Severity string `json:"severity,omitempty"` + + /* State of the condition. Possible values: STATE_UNSPECIFIED, CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED, CONDITION_SUCCEEDED */ + State string `json:"state,omitempty"` + + /* type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. */ + Type string `json:"type,omitempty"` +} + +type ServiceTrafficStatusesStatus struct { + /* Specifies percent of the traffic to this Revision. */ + Percent int `json:"percent,omitempty"` + + /* Revision to which this traffic is sent. */ + Revision string `json:"revision,omitempty"` + + /* Indicates the string used in the URI to exclusively reference this target. */ + Tag string `json:"tag,omitempty"` + + /* The allocation type for this traffic target. Possible values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST, TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION */ + Type string `json:"type,omitempty"` + + /* Displays the target URI. */ + Uri string `json:"uri,omitempty"` +} + +type RunServiceStatus struct { + /* Conditions represent the latest available observations of the + RunService's current state. */ + Conditions []v1alpha1.Condition `json:"conditions,omitempty"` + /* Output only. The creation time. */ + CreateTime string `json:"createTime,omitempty"` + /* Output only. Email address of the authenticated creator. */ + Creator string `json:"creator,omitempty"` + /* Output only. The deletion time. */ + DeleteTime string `json:"deleteTime,omitempty"` + /* Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates. */ + Etag string `json:"etag,omitempty"` + /* Output only. For a deleted resource, the time after which it will be permamently deleted. */ + ExpireTime string `json:"expireTime,omitempty"` + /* Output only. A number that monotonically increases every time the user modifies the desired state. */ + Generation int `json:"generation,omitempty"` + /* Map of string keys and values that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels Cloud Run will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-only, and user changes will not be preserved. */ + Labels map[string]string `json:"labels,omitempty"` + /* Output only. Email address of the last authenticated modifier. */ + LastModifier string `json:"lastModifier,omitempty"` + /* Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ + LatestCreatedRevision string `json:"latestCreatedRevision,omitempty"` + /* Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ + LatestReadyRevision string `json:"latestReadyRevision,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. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in `terminal_condition` and `conditions`. */ + Reconciling bool `json:"reconciling,omitempty"` + /* Output only. The Condition of this Service, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ + TerminalCondition ServiceTerminalConditionStatus `json:"terminalCondition,omitempty"` + /* Output only. Detailed status information for corresponding traffic targets. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. */ + TrafficStatuses []ServiceTrafficStatusesStatus `json:"trafficStatuses,omitempty"` + /* Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. */ + Uid string `json:"uid,omitempty"` + /* Output only. The last-modified time. */ + UpdateTime string `json:"updateTime,omitempty"` + /* Output only. The main URI in which this Service is serving traffic. */ + Uri string `json:"uri,omitempty"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RunService is the Schema for the run API +// +k8s:openapi-gen=true +type RunService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Spec RunServiceSpec `json:"spec,omitempty"` + Status RunServiceStatus `json:"status,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RunServiceList contains a list of RunService +type RunServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RunService `json:"items"` +} + +func init() { + SchemeBuilder.Register(&RunService{}, &RunServiceList{}) +} diff --git a/pkg/apis/run/v1beta1/zz_generated.deepcopy.go b/pkg/apis/run/v1beta1/zz_generated.deepcopy.go new file mode 100644 index 0000000000..98f0968d76 --- /dev/null +++ b/pkg/apis/run/v1beta1/zz_generated.deepcopy.go @@ -0,0 +1,696 @@ +//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 *RunService) DeepCopyInto(out *RunService) { + *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 RunService. +func (in *RunService) DeepCopy() *RunService { + if in == nil { + return nil + } + out := new(RunService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RunService) 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 *RunServiceList) DeepCopyInto(out *RunServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RunService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunServiceList. +func (in *RunServiceList) DeepCopy() *RunServiceList { + if in == nil { + return nil + } + out := new(RunServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RunServiceList) 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 *RunServiceSpec) DeepCopyInto(out *RunServiceSpec) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.BinaryAuthorization != nil { + in, out := &in.BinaryAuthorization, &out.BinaryAuthorization + *out = new(ServiceBinaryAuthorization) + (*in).DeepCopyInto(*out) + } + if in.Client != nil { + in, out := &in.Client, &out.Client + *out = new(string) + **out = **in + } + if in.ClientVersion != nil { + in, out := &in.ClientVersion, &out.ClientVersion + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = new(string) + **out = **in + } + if in.LaunchStage != nil { + in, out := &in.LaunchStage, &out.LaunchStage + *out = new(string) + **out = **in + } + out.ProjectRef = in.ProjectRef + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + in.Template.DeepCopyInto(&out.Template) + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]ServiceTraffic, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunServiceSpec. +func (in *RunServiceSpec) DeepCopy() *RunServiceSpec { + if in == nil { + return nil + } + out := new(RunServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RunServiceStatus) DeepCopyInto(out *RunServiceStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1alpha1.Condition, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.TerminalCondition = in.TerminalCondition + if in.TrafficStatuses != nil { + in, out := &in.TrafficStatuses, &out.TrafficStatuses + *out = make([]ServiceTrafficStatusesStatus, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunServiceStatus. +func (in *RunServiceStatus) DeepCopy() *RunServiceStatus { + if in == nil { + return nil + } + out := new(RunServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceBinaryAuthorization) DeepCopyInto(out *ServiceBinaryAuthorization) { + *out = *in + if in.BreakglassJustification != nil { + in, out := &in.BreakglassJustification, &out.BreakglassJustification + *out = new(string) + **out = **in + } + if in.UseDefault != nil { + in, out := &in.UseDefault, &out.UseDefault + *out = new(bool) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBinaryAuthorization. +func (in *ServiceBinaryAuthorization) DeepCopy() *ServiceBinaryAuthorization { + if in == nil { + return nil + } + out := new(ServiceBinaryAuthorization) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceCloudSqlInstance) DeepCopyInto(out *ServiceCloudSqlInstance) { + *out = *in + if in.Connections != nil { + in, out := &in.Connections, &out.Connections + *out = make([]v1alpha1.ResourceRef, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceCloudSqlInstance. +func (in *ServiceCloudSqlInstance) DeepCopy() *ServiceCloudSqlInstance { + if in == nil { + return nil + } + out := new(ServiceCloudSqlInstance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceContainers) DeepCopyInto(out *ServiceContainers) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]ServiceEnv, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]ServicePorts, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = new(ServiceResources) + (*in).DeepCopyInto(*out) + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]ServiceVolumeMounts, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceContainers. +func (in *ServiceContainers) DeepCopy() *ServiceContainers { + if in == nil { + return nil + } + out := new(ServiceContainers) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceEnv) DeepCopyInto(out *ServiceEnv) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } + if in.ValueSource != nil { + in, out := &in.ValueSource, &out.ValueSource + *out = new(ServiceValueSource) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceEnv. +func (in *ServiceEnv) DeepCopy() *ServiceEnv { + if in == nil { + return nil + } + out := new(ServiceEnv) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceItems) DeepCopyInto(out *ServiceItems) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(int) + **out = **in + } + if in.VersionRef != nil { + in, out := &in.VersionRef, &out.VersionRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceItems. +func (in *ServiceItems) DeepCopy() *ServiceItems { + if in == nil { + return nil + } + out := new(ServiceItems) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePorts) DeepCopyInto(out *ServicePorts) { + *out = *in + if in.ContainerPort != nil { + in, out := &in.ContainerPort, &out.ContainerPort + *out = new(int) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePorts. +func (in *ServicePorts) DeepCopy() *ServicePorts { + if in == nil { + return nil + } + out := new(ServicePorts) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceResources) DeepCopyInto(out *ServiceResources) { + *out = *in + if in.CpuIdle != nil { + in, out := &in.CpuIdle, &out.CpuIdle + *out = new(bool) + **out = **in + } + if in.Limits != nil { + in, out := &in.Limits, &out.Limits + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceResources. +func (in *ServiceResources) DeepCopy() *ServiceResources { + if in == nil { + return nil + } + out := new(ServiceResources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceScaling) DeepCopyInto(out *ServiceScaling) { + *out = *in + if in.MaxInstanceCount != nil { + in, out := &in.MaxInstanceCount, &out.MaxInstanceCount + *out = new(int) + **out = **in + } + if in.MinInstanceCount != nil { + in, out := &in.MinInstanceCount, &out.MinInstanceCount + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceScaling. +func (in *ServiceScaling) DeepCopy() *ServiceScaling { + if in == nil { + return nil + } + out := new(ServiceScaling) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceSecret) DeepCopyInto(out *ServiceSecret) { + *out = *in + if in.DefaultMode != nil { + in, out := &in.DefaultMode, &out.DefaultMode + *out = new(int) + **out = **in + } + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceItems, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.SecretRef = in.SecretRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSecret. +func (in *ServiceSecret) DeepCopy() *ServiceSecret { + if in == nil { + return nil + } + out := new(ServiceSecret) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceTemplate) DeepCopyInto(out *ServiceTemplate) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Confidential != nil { + in, out := &in.Confidential, &out.Confidential + *out = new(bool) + **out = **in + } + if in.ContainerConcurrency != nil { + in, out := &in.ContainerConcurrency, &out.ContainerConcurrency + *out = new(int) + **out = **in + } + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]ServiceContainers, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExecutionEnvironment != nil { + in, out := &in.ExecutionEnvironment, &out.ExecutionEnvironment + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + *out = new(string) + **out = **in + } + if in.Scaling != nil { + in, out := &in.Scaling, &out.Scaling + *out = new(ServiceScaling) + (*in).DeepCopyInto(*out) + } + if in.ServiceAccountRef != nil { + in, out := &in.ServiceAccountRef, &out.ServiceAccountRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]ServiceVolumes, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VpcAccess != nil { + in, out := &in.VpcAccess, &out.VpcAccess + *out = new(ServiceVpcAccess) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceTemplate. +func (in *ServiceTemplate) DeepCopy() *ServiceTemplate { + if in == nil { + return nil + } + out := new(ServiceTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceTerminalConditionStatus) DeepCopyInto(out *ServiceTerminalConditionStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceTerminalConditionStatus. +func (in *ServiceTerminalConditionStatus) DeepCopy() *ServiceTerminalConditionStatus { + if in == nil { + return nil + } + out := new(ServiceTerminalConditionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceTraffic) DeepCopyInto(out *ServiceTraffic) { + *out = *in + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int) + **out = **in + } + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceTraffic. +func (in *ServiceTraffic) DeepCopy() *ServiceTraffic { + if in == nil { + return nil + } + out := new(ServiceTraffic) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceTrafficStatusesStatus) DeepCopyInto(out *ServiceTrafficStatusesStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceTrafficStatusesStatus. +func (in *ServiceTrafficStatusesStatus) DeepCopy() *ServiceTrafficStatusesStatus { + if in == nil { + return nil + } + out := new(ServiceTrafficStatusesStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceValueSource) DeepCopyInto(out *ServiceValueSource) { + *out = *in + if in.SecretKeyRef != nil { + in, out := &in.SecretKeyRef, &out.SecretKeyRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceValueSource. +func (in *ServiceValueSource) DeepCopy() *ServiceValueSource { + if in == nil { + return nil + } + out := new(ServiceValueSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceVolumeMounts) DeepCopyInto(out *ServiceVolumeMounts) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceVolumeMounts. +func (in *ServiceVolumeMounts) DeepCopy() *ServiceVolumeMounts { + if in == nil { + return nil + } + out := new(ServiceVolumeMounts) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceVolumes) DeepCopyInto(out *ServiceVolumes) { + *out = *in + if in.CloudSqlInstance != nil { + in, out := &in.CloudSqlInstance, &out.CloudSqlInstance + *out = new(ServiceCloudSqlInstance) + (*in).DeepCopyInto(*out) + } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(ServiceSecret) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceVolumes. +func (in *ServiceVolumes) DeepCopy() *ServiceVolumes { + if in == nil { + return nil + } + out := new(ServiceVolumes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceVpcAccess) DeepCopyInto(out *ServiceVpcAccess) { + *out = *in + if in.ConnectorRef != nil { + in, out := &in.ConnectorRef, &out.ConnectorRef + *out = new(v1alpha1.ResourceRef) + **out = **in + } + if in.Egress != nil { + in, out := &in.Egress, &out.Egress + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceVpcAccess. +func (in *ServiceVpcAccess) DeepCopy() *ServiceVpcAccess { + if in == nil { + return nil + } + out := new(ServiceVpcAccess) + in.DeepCopyInto(out) + return out +} diff --git a/pkg/apis/sql/v1beta1/sqlinstance_types.go b/pkg/apis/sql/v1beta1/sqlinstance_types.go index 98ecd4eed0..d4f28e31f5 100644 --- a/pkg/apis/sql/v1beta1/sqlinstance_types.go +++ b/pkg/apis/sql/v1beta1/sqlinstance_types.go @@ -226,7 +226,8 @@ type InstanceSettings struct { // +optional ActivationPolicy *string `json:"activationPolicy,omitempty"` - /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. This property is only applicable to First Generation instances. First Generation instances are now deprecated, see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. A list of Google App Engine project names that are allowed to access this instance. */ + /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. */ // +optional AuthorizedGaeApplications []string `json:"authorizedGaeApplications,omitempty"` @@ -245,7 +246,8 @@ type InstanceSettings struct { // +optional Collation *string `json:"collation,omitempty"` - /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. This property is only applicable to First Generation instances. First Generation instances are now deprecated, see here for information on how to upgrade to Second Generation instances. Specific to read instances, indicates when crash-safe replication flags are enabled. */ + /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. */ // +optional CrashSafeReplication *bool `json:"crashSafeReplication,omitempty"` @@ -289,7 +291,8 @@ type InstanceSettings struct { // +optional PricingPlan *string `json:"pricingPlan,omitempty"` - /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. This property is only applicable to First Generation instances. First Generation instances are now deprecated, see here for information on how to upgrade to Second Generation instances. Replication type for this instance, can be one of ASYNCHRONOUS or SYNCHRONOUS. */ + /* DEPRECATED — This property is only applicable to First Generation instances, and First Generation instances are now deprecated. see https://cloud.google.com/sql/docs/mysql/deprecation-notice for information on how to upgrade to Second Generation instances. + Specifying this field has no-ops; it's recommended to remove this field from your configuration. */ // +optional ReplicationType *string `json:"replicationType,omitempty"` diff --git a/pkg/apis/storage/v1beta1/storagebucket_types.go b/pkg/apis/storage/v1beta1/storagebucket_types.go index 2649f2dc29..faa5078b96 100644 --- a/pkg/apis/storage/v1beta1/storagebucket_types.go +++ b/pkg/apis/storage/v1beta1/storagebucket_types.go @@ -148,7 +148,8 @@ type BucketWebsite struct { } type StorageBucketSpec struct { - /* DEPRECATED — Please use the uniform_bucket_level_access as this field has been renamed by Google. Enables Bucket Policy Only access to a bucket. */ + /* DEPRECATED — Please use the `uniformBucketLevelAccess` field as this field has been renamed by Google. The `uniformBucketLevelAccess` field will supersede this field. + Enables Bucket PolicyOnly access to a bucket. */ // +optional BucketPolicyOnly *bool `json:"bucketPolicyOnly,omitempty"` diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index 3e085a150a..1ae1388107 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -61,6 +61,7 @@ import ( recaptchaenterprisev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/recaptchaenterprise/v1beta1" redisv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/redis/v1beta1" resourcemanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/resourcemanager/v1beta1" + runv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/run/v1beta1" secretmanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/secretmanager/v1beta1" servicenetworkingv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/servicenetworking/v1beta1" serviceusagev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/serviceusage/v1beta1" @@ -114,6 +115,7 @@ type Interface interface { RecaptchaenterpriseV1beta1() recaptchaenterprisev1beta1.RecaptchaenterpriseV1beta1Interface RedisV1beta1() redisv1beta1.RedisV1beta1Interface ResourcemanagerV1beta1() resourcemanagerv1beta1.ResourcemanagerV1beta1Interface + RunV1beta1() runv1beta1.RunV1beta1Interface SecretmanagerV1beta1() secretmanagerv1beta1.SecretmanagerV1beta1Interface ServicenetworkingV1beta1() servicenetworkingv1beta1.ServicenetworkingV1beta1Interface ServiceusageV1beta1() serviceusagev1beta1.ServiceusageV1beta1Interface @@ -166,6 +168,7 @@ type Clientset struct { recaptchaenterpriseV1beta1 *recaptchaenterprisev1beta1.RecaptchaenterpriseV1beta1Client redisV1beta1 *redisv1beta1.RedisV1beta1Client resourcemanagerV1beta1 *resourcemanagerv1beta1.ResourcemanagerV1beta1Client + runV1beta1 *runv1beta1.RunV1beta1Client secretmanagerV1beta1 *secretmanagerv1beta1.SecretmanagerV1beta1Client servicenetworkingV1beta1 *servicenetworkingv1beta1.ServicenetworkingV1beta1Client serviceusageV1beta1 *serviceusagev1beta1.ServiceusageV1beta1Client @@ -362,6 +365,11 @@ func (c *Clientset) ResourcemanagerV1beta1() resourcemanagerv1beta1.Resourcemana return c.resourcemanagerV1beta1 } +// RunV1beta1 retrieves the RunV1beta1Client +func (c *Clientset) RunV1beta1() runv1beta1.RunV1beta1Interface { + return c.runV1beta1 +} + // SecretmanagerV1beta1 retrieves the SecretmanagerV1beta1Client func (c *Clientset) SecretmanagerV1beta1() secretmanagerv1beta1.SecretmanagerV1beta1Interface { return c.secretmanagerV1beta1 @@ -576,6 +584,10 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { if err != nil { return nil, err } + cs.runV1beta1, err = runv1beta1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } cs.secretmanagerV1beta1, err = secretmanagerv1beta1.NewForConfig(&configShallowCopy) if err != nil { return nil, err @@ -661,6 +673,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { cs.recaptchaenterpriseV1beta1 = recaptchaenterprisev1beta1.NewForConfigOrDie(c) cs.redisV1beta1 = redisv1beta1.NewForConfigOrDie(c) cs.resourcemanagerV1beta1 = resourcemanagerv1beta1.NewForConfigOrDie(c) + cs.runV1beta1 = runv1beta1.NewForConfigOrDie(c) cs.secretmanagerV1beta1 = secretmanagerv1beta1.NewForConfigOrDie(c) cs.servicenetworkingV1beta1 = servicenetworkingv1beta1.NewForConfigOrDie(c) cs.serviceusageV1beta1 = serviceusagev1beta1.NewForConfigOrDie(c) @@ -715,6 +728,7 @@ func New(c rest.Interface) *Clientset { cs.recaptchaenterpriseV1beta1 = recaptchaenterprisev1beta1.New(c) cs.redisV1beta1 = redisv1beta1.New(c) cs.resourcemanagerV1beta1 = resourcemanagerv1beta1.New(c) + cs.runV1beta1 = runv1beta1.New(c) cs.secretmanagerV1beta1 = secretmanagerv1beta1.New(c) cs.servicenetworkingV1beta1 = servicenetworkingv1beta1.New(c) cs.serviceusageV1beta1 = serviceusagev1beta1.New(c) diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go index 06bff16ec5..53b6b207de 100644 --- a/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -97,6 +97,8 @@ import ( fakeredisv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/redis/v1beta1/fake" resourcemanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/resourcemanager/v1beta1" fakeresourcemanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/resourcemanager/v1beta1/fake" + runv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/run/v1beta1" + fakerunv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/run/v1beta1/fake" secretmanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/secretmanager/v1beta1" fakesecretmanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/secretmanager/v1beta1/fake" servicenetworkingv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/typed/servicenetworking/v1beta1" @@ -354,6 +356,11 @@ func (c *Clientset) ResourcemanagerV1beta1() resourcemanagerv1beta1.Resourcemana return &fakeresourcemanagerv1beta1.FakeResourcemanagerV1beta1{Fake: &c.Fake} } +// RunV1beta1 retrieves the RunV1beta1Client +func (c *Clientset) RunV1beta1() runv1beta1.RunV1beta1Interface { + return &fakerunv1beta1.FakeRunV1beta1{Fake: &c.Fake} +} + // SecretmanagerV1beta1 retrieves the SecretmanagerV1beta1Client func (c *Clientset) SecretmanagerV1beta1() secretmanagerv1beta1.SecretmanagerV1beta1Interface { return &fakesecretmanagerv1beta1.FakeSecretmanagerV1beta1{Fake: &c.Fake} diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 6fe306c328..654989658b 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -59,6 +59,7 @@ import ( recaptchaenterprisev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/recaptchaenterprise/v1beta1" redisv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/redis/v1beta1" resourcemanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/resourcemanager/v1beta1" + runv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/run/v1beta1" secretmanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/secretmanager/v1beta1" servicenetworkingv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/servicenetworking/v1beta1" serviceusagev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/serviceusage/v1beta1" @@ -116,6 +117,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ recaptchaenterprisev1beta1.AddToScheme, redisv1beta1.AddToScheme, resourcemanagerv1beta1.AddToScheme, + runv1beta1.AddToScheme, secretmanagerv1beta1.AddToScheme, servicenetworkingv1beta1.AddToScheme, serviceusagev1beta1.AddToScheme, diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index 0b8aebc53b..a4300b94d4 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -59,6 +59,7 @@ import ( recaptchaenterprisev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/recaptchaenterprise/v1beta1" redisv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/redis/v1beta1" resourcemanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/resourcemanager/v1beta1" + runv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/run/v1beta1" secretmanagerv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/secretmanager/v1beta1" servicenetworkingv1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/servicenetworking/v1beta1" serviceusagev1beta1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/serviceusage/v1beta1" @@ -116,6 +117,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{ recaptchaenterprisev1beta1.AddToScheme, redisv1beta1.AddToScheme, resourcemanagerv1beta1.AddToScheme, + runv1beta1.AddToScheme, secretmanagerv1beta1.AddToScheme, servicenetworkingv1beta1.AddToScheme, serviceusagev1beta1.AddToScheme, diff --git a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoring_client.go b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoring_client.go index 558c2e6279..1f910da061 100644 --- a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoring_client.go +++ b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoring_client.go @@ -59,6 +59,10 @@ func (c *FakeMonitoringV1beta1) MonitoringServiceLevelObjectives(namespace strin return &FakeMonitoringServiceLevelObjectives{c, namespace} } +func (c *FakeMonitoringV1beta1) MonitoringUptimeCheckConfigs(namespace string) v1beta1.MonitoringUptimeCheckConfigInterface { + return &FakeMonitoringUptimeCheckConfigs{c, namespace} +} + // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. func (c *FakeMonitoringV1beta1) RESTClient() rest.Interface { diff --git a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoringuptimecheckconfig.go b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoringuptimecheckconfig.go new file mode 100644 index 0000000000..8304f4de85 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/fake/fake_monitoringuptimecheckconfig.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/monitoring/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" +) + +// FakeMonitoringUptimeCheckConfigs implements MonitoringUptimeCheckConfigInterface +type FakeMonitoringUptimeCheckConfigs struct { + Fake *FakeMonitoringV1beta1 + ns string +} + +var monitoringuptimecheckconfigsResource = schema.GroupVersionResource{Group: "monitoring.cnrm.cloud.google.com", Version: "v1beta1", Resource: "monitoringuptimecheckconfigs"} + +var monitoringuptimecheckconfigsKind = schema.GroupVersionKind{Group: "monitoring.cnrm.cloud.google.com", Version: "v1beta1", Kind: "MonitoringUptimeCheckConfig"} + +// Get takes name of the monitoringUptimeCheckConfig, and returns the corresponding monitoringUptimeCheckConfig object, and an error if there is any. +func (c *FakeMonitoringUptimeCheckConfigs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(monitoringuptimecheckconfigsResource, c.ns, name), &v1beta1.MonitoringUptimeCheckConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.MonitoringUptimeCheckConfig), err +} + +// List takes label and field selectors, and returns the list of MonitoringUptimeCheckConfigs that match those selectors. +func (c *FakeMonitoringUptimeCheckConfigs) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.MonitoringUptimeCheckConfigList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(monitoringuptimecheckconfigsResource, monitoringuptimecheckconfigsKind, c.ns, opts), &v1beta1.MonitoringUptimeCheckConfigList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.MonitoringUptimeCheckConfigList{ListMeta: obj.(*v1beta1.MonitoringUptimeCheckConfigList).ListMeta} + for _, item := range obj.(*v1beta1.MonitoringUptimeCheckConfigList).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 monitoringUptimeCheckConfigs. +func (c *FakeMonitoringUptimeCheckConfigs) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(monitoringuptimecheckconfigsResource, c.ns, opts)) + +} + +// Create takes the representation of a monitoringUptimeCheckConfig and creates it. Returns the server's representation of the monitoringUptimeCheckConfig, and an error, if there is any. +func (c *FakeMonitoringUptimeCheckConfigs) Create(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.CreateOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(monitoringuptimecheckconfigsResource, c.ns, monitoringUptimeCheckConfig), &v1beta1.MonitoringUptimeCheckConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.MonitoringUptimeCheckConfig), err +} + +// Update takes the representation of a monitoringUptimeCheckConfig and updates it. Returns the server's representation of the monitoringUptimeCheckConfig, and an error, if there is any. +func (c *FakeMonitoringUptimeCheckConfigs) Update(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(monitoringuptimecheckconfigsResource, c.ns, monitoringUptimeCheckConfig), &v1beta1.MonitoringUptimeCheckConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.MonitoringUptimeCheckConfig), 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 *FakeMonitoringUptimeCheckConfigs) UpdateStatus(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (*v1beta1.MonitoringUptimeCheckConfig, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(monitoringuptimecheckconfigsResource, "status", c.ns, monitoringUptimeCheckConfig), &v1beta1.MonitoringUptimeCheckConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.MonitoringUptimeCheckConfig), err +} + +// Delete takes name of the monitoringUptimeCheckConfig and deletes it. Returns an error if one occurs. +func (c *FakeMonitoringUptimeCheckConfigs) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(monitoringuptimecheckconfigsResource, c.ns, name), &v1beta1.MonitoringUptimeCheckConfig{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeMonitoringUptimeCheckConfigs) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(monitoringuptimecheckconfigsResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.MonitoringUptimeCheckConfigList{}) + return err +} + +// Patch applies the patch and returns the patched monitoringUptimeCheckConfig. +func (c *FakeMonitoringUptimeCheckConfigs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(monitoringuptimecheckconfigsResource, c.ns, name, pt, data, subresources...), &v1beta1.MonitoringUptimeCheckConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.MonitoringUptimeCheckConfig), err +} diff --git a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/generated_expansion.go index 2c4c753a22..01ad1773d6 100644 --- a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/generated_expansion.go +++ b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/generated_expansion.go @@ -34,3 +34,5 @@ type MonitoringNotificationChannelExpansion interface{} type MonitoringServiceExpansion interface{} type MonitoringServiceLevelObjectiveExpansion interface{} + +type MonitoringUptimeCheckConfigExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoring_client.go b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoring_client.go index 83742d9d41..dcbcab6849 100644 --- a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoring_client.go +++ b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoring_client.go @@ -36,6 +36,7 @@ type MonitoringV1beta1Interface interface { MonitoringNotificationChannelsGetter MonitoringServicesGetter MonitoringServiceLevelObjectivesGetter + MonitoringUptimeCheckConfigsGetter } // MonitoringV1beta1Client is used to interact with features provided by the monitoring.cnrm.cloud.google.com group. @@ -71,6 +72,10 @@ func (c *MonitoringV1beta1Client) MonitoringServiceLevelObjectives(namespace str return newMonitoringServiceLevelObjectives(c, namespace) } +func (c *MonitoringV1beta1Client) MonitoringUptimeCheckConfigs(namespace string) MonitoringUptimeCheckConfigInterface { + return newMonitoringUptimeCheckConfigs(c, namespace) +} + // NewForConfig creates a new MonitoringV1beta1Client for the given config. func NewForConfig(c *rest.Config) (*MonitoringV1beta1Client, error) { config := *c diff --git a/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoringuptimecheckconfig.go b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoringuptimecheckconfig.go new file mode 100644 index 0000000000..33ed8f164a --- /dev/null +++ b/pkg/client/clientset/versioned/typed/monitoring/v1beta1/monitoringuptimecheckconfig.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/monitoring/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" +) + +// MonitoringUptimeCheckConfigsGetter has a method to return a MonitoringUptimeCheckConfigInterface. +// A group's client should implement this interface. +type MonitoringUptimeCheckConfigsGetter interface { + MonitoringUptimeCheckConfigs(namespace string) MonitoringUptimeCheckConfigInterface +} + +// MonitoringUptimeCheckConfigInterface has methods to work with MonitoringUptimeCheckConfig resources. +type MonitoringUptimeCheckConfigInterface interface { + Create(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.CreateOptions) (*v1beta1.MonitoringUptimeCheckConfig, error) + Update(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (*v1beta1.MonitoringUptimeCheckConfig, error) + UpdateStatus(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (*v1beta1.MonitoringUptimeCheckConfig, 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.MonitoringUptimeCheckConfig, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.MonitoringUptimeCheckConfigList, 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.MonitoringUptimeCheckConfig, err error) + MonitoringUptimeCheckConfigExpansion +} + +// monitoringUptimeCheckConfigs implements MonitoringUptimeCheckConfigInterface +type monitoringUptimeCheckConfigs struct { + client rest.Interface + ns string +} + +// newMonitoringUptimeCheckConfigs returns a MonitoringUptimeCheckConfigs +func newMonitoringUptimeCheckConfigs(c *MonitoringV1beta1Client, namespace string) *monitoringUptimeCheckConfigs { + return &monitoringUptimeCheckConfigs{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the monitoringUptimeCheckConfig, and returns the corresponding monitoringUptimeCheckConfig object, and an error if there is any. +func (c *monitoringUptimeCheckConfigs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + result = &v1beta1.MonitoringUptimeCheckConfig{} + err = c.client.Get(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of MonitoringUptimeCheckConfigs that match those selectors. +func (c *monitoringUptimeCheckConfigs) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.MonitoringUptimeCheckConfigList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.MonitoringUptimeCheckConfigList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested monitoringUptimeCheckConfigs. +func (c *monitoringUptimeCheckConfigs) 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("monitoringuptimecheckconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a monitoringUptimeCheckConfig and creates it. Returns the server's representation of the monitoringUptimeCheckConfig, and an error, if there is any. +func (c *monitoringUptimeCheckConfigs) Create(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.CreateOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + result = &v1beta1.MonitoringUptimeCheckConfig{} + err = c.client.Post(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(monitoringUptimeCheckConfig). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a monitoringUptimeCheckConfig and updates it. Returns the server's representation of the monitoringUptimeCheckConfig, and an error, if there is any. +func (c *monitoringUptimeCheckConfigs) Update(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + result = &v1beta1.MonitoringUptimeCheckConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + Name(monitoringUptimeCheckConfig.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(monitoringUptimeCheckConfig). + 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 *monitoringUptimeCheckConfigs) UpdateStatus(ctx context.Context, monitoringUptimeCheckConfig *v1beta1.MonitoringUptimeCheckConfig, opts v1.UpdateOptions) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + result = &v1beta1.MonitoringUptimeCheckConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + Name(monitoringUptimeCheckConfig.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(monitoringUptimeCheckConfig). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the monitoringUptimeCheckConfig and deletes it. Returns an error if one occurs. +func (c *monitoringUptimeCheckConfigs) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *monitoringUptimeCheckConfigs) 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("monitoringuptimecheckconfigs"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched monitoringUptimeCheckConfig. +func (c *monitoringUptimeCheckConfigs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.MonitoringUptimeCheckConfig, err error) { + result = &v1beta1.MonitoringUptimeCheckConfig{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("monitoringuptimecheckconfigs"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservices_client.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservices_client.go index 5cd0e6caef..def140f5f1 100644 --- a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservices_client.go +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservices_client.go @@ -35,6 +35,26 @@ func (c *FakeNetworkservicesV1beta1) NetworkServicesEndpointPolicies(namespace s return &FakeNetworkServicesEndpointPolicies{c, namespace} } +func (c *FakeNetworkservicesV1beta1) NetworkServicesGRPCRoutes(namespace string) v1beta1.NetworkServicesGRPCRouteInterface { + return &FakeNetworkServicesGRPCRoutes{c, namespace} +} + +func (c *FakeNetworkservicesV1beta1) NetworkServicesGateways(namespace string) v1beta1.NetworkServicesGatewayInterface { + return &FakeNetworkServicesGateways{c, namespace} +} + +func (c *FakeNetworkservicesV1beta1) NetworkServicesHTTPRoutes(namespace string) v1beta1.NetworkServicesHTTPRouteInterface { + return &FakeNetworkServicesHTTPRoutes{c, namespace} +} + +func (c *FakeNetworkservicesV1beta1) NetworkServicesMeshes(namespace string) v1beta1.NetworkServicesMeshInterface { + return &FakeNetworkServicesMeshes{c, namespace} +} + +func (c *FakeNetworkservicesV1beta1) NetworkServicesTCPRoutes(namespace string) v1beta1.NetworkServicesTCPRouteInterface { + return &FakeNetworkServicesTCPRoutes{c, namespace} +} + // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. func (c *FakeNetworkservicesV1beta1) RESTClient() rest.Interface { diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgateway.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgateway.go new file mode 100644 index 0000000000..1e771c5596 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgateway.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/networkservices/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" +) + +// FakeNetworkServicesGateways implements NetworkServicesGatewayInterface +type FakeNetworkServicesGateways struct { + Fake *FakeNetworkservicesV1beta1 + ns string +} + +var networkservicesgatewaysResource = schema.GroupVersionResource{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Resource: "networkservicesgateways"} + +var networkservicesgatewaysKind = schema.GroupVersionKind{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Kind: "NetworkServicesGateway"} + +// Get takes name of the networkServicesGateway, and returns the corresponding networkServicesGateway object, and an error if there is any. +func (c *FakeNetworkServicesGateways) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesGateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(networkservicesgatewaysResource, c.ns, name), &v1beta1.NetworkServicesGateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGateway), err +} + +// List takes label and field selectors, and returns the list of NetworkServicesGateways that match those selectors. +func (c *FakeNetworkServicesGateways) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesGatewayList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(networkservicesgatewaysResource, networkservicesgatewaysKind, c.ns, opts), &v1beta1.NetworkServicesGatewayList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.NetworkServicesGatewayList{ListMeta: obj.(*v1beta1.NetworkServicesGatewayList).ListMeta} + for _, item := range obj.(*v1beta1.NetworkServicesGatewayList).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 networkServicesGateways. +func (c *FakeNetworkServicesGateways) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(networkservicesgatewaysResource, c.ns, opts)) + +} + +// Create takes the representation of a networkServicesGateway and creates it. Returns the server's representation of the networkServicesGateway, and an error, if there is any. +func (c *FakeNetworkServicesGateways) Create(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.CreateOptions) (result *v1beta1.NetworkServicesGateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(networkservicesgatewaysResource, c.ns, networkServicesGateway), &v1beta1.NetworkServicesGateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGateway), err +} + +// Update takes the representation of a networkServicesGateway and updates it. Returns the server's representation of the networkServicesGateway, and an error, if there is any. +func (c *FakeNetworkServicesGateways) Update(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(networkservicesgatewaysResource, c.ns, networkServicesGateway), &v1beta1.NetworkServicesGateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGateway), 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 *FakeNetworkServicesGateways) UpdateStatus(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGateway, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(networkservicesgatewaysResource, "status", c.ns, networkServicesGateway), &v1beta1.NetworkServicesGateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGateway), err +} + +// Delete takes name of the networkServicesGateway and deletes it. Returns an error if one occurs. +func (c *FakeNetworkServicesGateways) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(networkservicesgatewaysResource, c.ns, name), &v1beta1.NetworkServicesGateway{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetworkServicesGateways) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(networkservicesgatewaysResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.NetworkServicesGatewayList{}) + return err +} + +// Patch applies the patch and returns the patched networkServicesGateway. +func (c *FakeNetworkServicesGateways) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesGateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(networkservicesgatewaysResource, c.ns, name, pt, data, subresources...), &v1beta1.NetworkServicesGateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGateway), err +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgrpcroute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgrpcroute.go new file mode 100644 index 0000000000..9c463c8868 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesgrpcroute.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/networkservices/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" +) + +// FakeNetworkServicesGRPCRoutes implements NetworkServicesGRPCRouteInterface +type FakeNetworkServicesGRPCRoutes struct { + Fake *FakeNetworkservicesV1beta1 + ns string +} + +var networkservicesgrpcroutesResource = schema.GroupVersionResource{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Resource: "networkservicesgrpcroutes"} + +var networkservicesgrpcroutesKind = schema.GroupVersionKind{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Kind: "NetworkServicesGRPCRoute"} + +// Get takes name of the networkServicesGRPCRoute, and returns the corresponding networkServicesGRPCRoute object, and an error if there is any. +func (c *FakeNetworkServicesGRPCRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(networkservicesgrpcroutesResource, c.ns, name), &v1beta1.NetworkServicesGRPCRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGRPCRoute), err +} + +// List takes label and field selectors, and returns the list of NetworkServicesGRPCRoutes that match those selectors. +func (c *FakeNetworkServicesGRPCRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesGRPCRouteList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(networkservicesgrpcroutesResource, networkservicesgrpcroutesKind, c.ns, opts), &v1beta1.NetworkServicesGRPCRouteList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.NetworkServicesGRPCRouteList{ListMeta: obj.(*v1beta1.NetworkServicesGRPCRouteList).ListMeta} + for _, item := range obj.(*v1beta1.NetworkServicesGRPCRouteList).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 networkServicesGRPCRoutes. +func (c *FakeNetworkServicesGRPCRoutes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(networkservicesgrpcroutesResource, c.ns, opts)) + +} + +// Create takes the representation of a networkServicesGRPCRoute and creates it. Returns the server's representation of the networkServicesGRPCRoute, and an error, if there is any. +func (c *FakeNetworkServicesGRPCRoutes) Create(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(networkservicesgrpcroutesResource, c.ns, networkServicesGRPCRoute), &v1beta1.NetworkServicesGRPCRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGRPCRoute), err +} + +// Update takes the representation of a networkServicesGRPCRoute and updates it. Returns the server's representation of the networkServicesGRPCRoute, and an error, if there is any. +func (c *FakeNetworkServicesGRPCRoutes) Update(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(networkservicesgrpcroutesResource, c.ns, networkServicesGRPCRoute), &v1beta1.NetworkServicesGRPCRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGRPCRoute), 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 *FakeNetworkServicesGRPCRoutes) UpdateStatus(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGRPCRoute, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(networkservicesgrpcroutesResource, "status", c.ns, networkServicesGRPCRoute), &v1beta1.NetworkServicesGRPCRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGRPCRoute), err +} + +// Delete takes name of the networkServicesGRPCRoute and deletes it. Returns an error if one occurs. +func (c *FakeNetworkServicesGRPCRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(networkservicesgrpcroutesResource, c.ns, name), &v1beta1.NetworkServicesGRPCRoute{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetworkServicesGRPCRoutes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(networkservicesgrpcroutesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.NetworkServicesGRPCRouteList{}) + return err +} + +// Patch applies the patch and returns the patched networkServicesGRPCRoute. +func (c *FakeNetworkServicesGRPCRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(networkservicesgrpcroutesResource, c.ns, name, pt, data, subresources...), &v1beta1.NetworkServicesGRPCRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesGRPCRoute), err +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkserviceshttproute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkserviceshttproute.go new file mode 100644 index 0000000000..a746139198 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkserviceshttproute.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/networkservices/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" +) + +// FakeNetworkServicesHTTPRoutes implements NetworkServicesHTTPRouteInterface +type FakeNetworkServicesHTTPRoutes struct { + Fake *FakeNetworkservicesV1beta1 + ns string +} + +var networkserviceshttproutesResource = schema.GroupVersionResource{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Resource: "networkserviceshttproutes"} + +var networkserviceshttproutesKind = schema.GroupVersionKind{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Kind: "NetworkServicesHTTPRoute"} + +// Get takes name of the networkServicesHTTPRoute, and returns the corresponding networkServicesHTTPRoute object, and an error if there is any. +func (c *FakeNetworkServicesHTTPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(networkserviceshttproutesResource, c.ns, name), &v1beta1.NetworkServicesHTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesHTTPRoute), err +} + +// List takes label and field selectors, and returns the list of NetworkServicesHTTPRoutes that match those selectors. +func (c *FakeNetworkServicesHTTPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesHTTPRouteList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(networkserviceshttproutesResource, networkserviceshttproutesKind, c.ns, opts), &v1beta1.NetworkServicesHTTPRouteList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.NetworkServicesHTTPRouteList{ListMeta: obj.(*v1beta1.NetworkServicesHTTPRouteList).ListMeta} + for _, item := range obj.(*v1beta1.NetworkServicesHTTPRouteList).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 networkServicesHTTPRoutes. +func (c *FakeNetworkServicesHTTPRoutes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(networkserviceshttproutesResource, c.ns, opts)) + +} + +// Create takes the representation of a networkServicesHTTPRoute and creates it. Returns the server's representation of the networkServicesHTTPRoute, and an error, if there is any. +func (c *FakeNetworkServicesHTTPRoutes) Create(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(networkserviceshttproutesResource, c.ns, networkServicesHTTPRoute), &v1beta1.NetworkServicesHTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesHTTPRoute), err +} + +// Update takes the representation of a networkServicesHTTPRoute and updates it. Returns the server's representation of the networkServicesHTTPRoute, and an error, if there is any. +func (c *FakeNetworkServicesHTTPRoutes) Update(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(networkserviceshttproutesResource, c.ns, networkServicesHTTPRoute), &v1beta1.NetworkServicesHTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesHTTPRoute), 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 *FakeNetworkServicesHTTPRoutes) UpdateStatus(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesHTTPRoute, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(networkserviceshttproutesResource, "status", c.ns, networkServicesHTTPRoute), &v1beta1.NetworkServicesHTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesHTTPRoute), err +} + +// Delete takes name of the networkServicesHTTPRoute and deletes it. Returns an error if one occurs. +func (c *FakeNetworkServicesHTTPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(networkserviceshttproutesResource, c.ns, name), &v1beta1.NetworkServicesHTTPRoute{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetworkServicesHTTPRoutes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(networkserviceshttproutesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.NetworkServicesHTTPRouteList{}) + return err +} + +// Patch applies the patch and returns the patched networkServicesHTTPRoute. +func (c *FakeNetworkServicesHTTPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(networkserviceshttproutesResource, c.ns, name, pt, data, subresources...), &v1beta1.NetworkServicesHTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesHTTPRoute), err +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesmesh.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesmesh.go new file mode 100644 index 0000000000..5b33175f43 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicesmesh.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/networkservices/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" +) + +// FakeNetworkServicesMeshes implements NetworkServicesMeshInterface +type FakeNetworkServicesMeshes struct { + Fake *FakeNetworkservicesV1beta1 + ns string +} + +var networkservicesmeshesResource = schema.GroupVersionResource{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Resource: "networkservicesmeshes"} + +var networkservicesmeshesKind = schema.GroupVersionKind{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Kind: "NetworkServicesMesh"} + +// Get takes name of the networkServicesMesh, and returns the corresponding networkServicesMesh object, and an error if there is any. +func (c *FakeNetworkServicesMeshes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesMesh, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(networkservicesmeshesResource, c.ns, name), &v1beta1.NetworkServicesMesh{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesMesh), err +} + +// List takes label and field selectors, and returns the list of NetworkServicesMeshes that match those selectors. +func (c *FakeNetworkServicesMeshes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesMeshList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(networkservicesmeshesResource, networkservicesmeshesKind, c.ns, opts), &v1beta1.NetworkServicesMeshList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.NetworkServicesMeshList{ListMeta: obj.(*v1beta1.NetworkServicesMeshList).ListMeta} + for _, item := range obj.(*v1beta1.NetworkServicesMeshList).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 networkServicesMeshes. +func (c *FakeNetworkServicesMeshes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(networkservicesmeshesResource, c.ns, opts)) + +} + +// Create takes the representation of a networkServicesMesh and creates it. Returns the server's representation of the networkServicesMesh, and an error, if there is any. +func (c *FakeNetworkServicesMeshes) Create(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.CreateOptions) (result *v1beta1.NetworkServicesMesh, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(networkservicesmeshesResource, c.ns, networkServicesMesh), &v1beta1.NetworkServicesMesh{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesMesh), err +} + +// Update takes the representation of a networkServicesMesh and updates it. Returns the server's representation of the networkServicesMesh, and an error, if there is any. +func (c *FakeNetworkServicesMeshes) Update(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesMesh, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(networkservicesmeshesResource, c.ns, networkServicesMesh), &v1beta1.NetworkServicesMesh{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesMesh), 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 *FakeNetworkServicesMeshes) UpdateStatus(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (*v1beta1.NetworkServicesMesh, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(networkservicesmeshesResource, "status", c.ns, networkServicesMesh), &v1beta1.NetworkServicesMesh{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesMesh), err +} + +// Delete takes name of the networkServicesMesh and deletes it. Returns an error if one occurs. +func (c *FakeNetworkServicesMeshes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(networkservicesmeshesResource, c.ns, name), &v1beta1.NetworkServicesMesh{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetworkServicesMeshes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(networkservicesmeshesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.NetworkServicesMeshList{}) + return err +} + +// Patch applies the patch and returns the patched networkServicesMesh. +func (c *FakeNetworkServicesMeshes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesMesh, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(networkservicesmeshesResource, c.ns, name, pt, data, subresources...), &v1beta1.NetworkServicesMesh{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesMesh), err +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicestcproute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicestcproute.go new file mode 100644 index 0000000000..a0d997aad8 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/fake/fake_networkservicestcproute.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/networkservices/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" +) + +// FakeNetworkServicesTCPRoutes implements NetworkServicesTCPRouteInterface +type FakeNetworkServicesTCPRoutes struct { + Fake *FakeNetworkservicesV1beta1 + ns string +} + +var networkservicestcproutesResource = schema.GroupVersionResource{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Resource: "networkservicestcproutes"} + +var networkservicestcproutesKind = schema.GroupVersionKind{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1", Kind: "NetworkServicesTCPRoute"} + +// Get takes name of the networkServicesTCPRoute, and returns the corresponding networkServicesTCPRoute object, and an error if there is any. +func (c *FakeNetworkServicesTCPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(networkservicestcproutesResource, c.ns, name), &v1beta1.NetworkServicesTCPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesTCPRoute), err +} + +// List takes label and field selectors, and returns the list of NetworkServicesTCPRoutes that match those selectors. +func (c *FakeNetworkServicesTCPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesTCPRouteList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(networkservicestcproutesResource, networkservicestcproutesKind, c.ns, opts), &v1beta1.NetworkServicesTCPRouteList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.NetworkServicesTCPRouteList{ListMeta: obj.(*v1beta1.NetworkServicesTCPRouteList).ListMeta} + for _, item := range obj.(*v1beta1.NetworkServicesTCPRouteList).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 networkServicesTCPRoutes. +func (c *FakeNetworkServicesTCPRoutes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(networkservicestcproutesResource, c.ns, opts)) + +} + +// Create takes the representation of a networkServicesTCPRoute and creates it. Returns the server's representation of the networkServicesTCPRoute, and an error, if there is any. +func (c *FakeNetworkServicesTCPRoutes) Create(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(networkservicestcproutesResource, c.ns, networkServicesTCPRoute), &v1beta1.NetworkServicesTCPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesTCPRoute), err +} + +// Update takes the representation of a networkServicesTCPRoute and updates it. Returns the server's representation of the networkServicesTCPRoute, and an error, if there is any. +func (c *FakeNetworkServicesTCPRoutes) Update(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(networkservicestcproutesResource, c.ns, networkServicesTCPRoute), &v1beta1.NetworkServicesTCPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesTCPRoute), 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 *FakeNetworkServicesTCPRoutes) UpdateStatus(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesTCPRoute, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(networkservicestcproutesResource, "status", c.ns, networkServicesTCPRoute), &v1beta1.NetworkServicesTCPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesTCPRoute), err +} + +// Delete takes name of the networkServicesTCPRoute and deletes it. Returns an error if one occurs. +func (c *FakeNetworkServicesTCPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(networkservicestcproutesResource, c.ns, name), &v1beta1.NetworkServicesTCPRoute{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetworkServicesTCPRoutes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(networkservicestcproutesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.NetworkServicesTCPRouteList{}) + return err +} + +// Patch applies the patch and returns the patched networkServicesTCPRoute. +func (c *FakeNetworkServicesTCPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesTCPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(networkservicestcproutesResource, c.ns, name, pt, data, subresources...), &v1beta1.NetworkServicesTCPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.NetworkServicesTCPRoute), err +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/generated_expansion.go index e7a5ae06ca..a15aa1a5d3 100644 --- a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/generated_expansion.go +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/generated_expansion.go @@ -22,3 +22,13 @@ package v1beta1 type NetworkServicesEndpointPolicyExpansion interface{} + +type NetworkServicesGRPCRouteExpansion interface{} + +type NetworkServicesGatewayExpansion interface{} + +type NetworkServicesHTTPRouteExpansion interface{} + +type NetworkServicesMeshExpansion interface{} + +type NetworkServicesTCPRouteExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservices_client.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservices_client.go index 786af301d7..e505aab723 100644 --- a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservices_client.go +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservices_client.go @@ -30,6 +30,11 @@ import ( type NetworkservicesV1beta1Interface interface { RESTClient() rest.Interface NetworkServicesEndpointPoliciesGetter + NetworkServicesGRPCRoutesGetter + NetworkServicesGatewaysGetter + NetworkServicesHTTPRoutesGetter + NetworkServicesMeshesGetter + NetworkServicesTCPRoutesGetter } // NetworkservicesV1beta1Client is used to interact with features provided by the networkservices.cnrm.cloud.google.com group. @@ -41,6 +46,26 @@ func (c *NetworkservicesV1beta1Client) NetworkServicesEndpointPolicies(namespace return newNetworkServicesEndpointPolicies(c, namespace) } +func (c *NetworkservicesV1beta1Client) NetworkServicesGRPCRoutes(namespace string) NetworkServicesGRPCRouteInterface { + return newNetworkServicesGRPCRoutes(c, namespace) +} + +func (c *NetworkservicesV1beta1Client) NetworkServicesGateways(namespace string) NetworkServicesGatewayInterface { + return newNetworkServicesGateways(c, namespace) +} + +func (c *NetworkservicesV1beta1Client) NetworkServicesHTTPRoutes(namespace string) NetworkServicesHTTPRouteInterface { + return newNetworkServicesHTTPRoutes(c, namespace) +} + +func (c *NetworkservicesV1beta1Client) NetworkServicesMeshes(namespace string) NetworkServicesMeshInterface { + return newNetworkServicesMeshes(c, namespace) +} + +func (c *NetworkservicesV1beta1Client) NetworkServicesTCPRoutes(namespace string) NetworkServicesTCPRouteInterface { + return newNetworkServicesTCPRoutes(c, namespace) +} + // NewForConfig creates a new NetworkservicesV1beta1Client for the given config. func NewForConfig(c *rest.Config) (*NetworkservicesV1beta1Client, error) { config := *c diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgateway.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgateway.go new file mode 100644 index 0000000000..5f56ff725a --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgateway.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/networkservices/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" +) + +// NetworkServicesGatewaysGetter has a method to return a NetworkServicesGatewayInterface. +// A group's client should implement this interface. +type NetworkServicesGatewaysGetter interface { + NetworkServicesGateways(namespace string) NetworkServicesGatewayInterface +} + +// NetworkServicesGatewayInterface has methods to work with NetworkServicesGateway resources. +type NetworkServicesGatewayInterface interface { + Create(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.CreateOptions) (*v1beta1.NetworkServicesGateway, error) + Update(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGateway, error) + UpdateStatus(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGateway, 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.NetworkServicesGateway, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.NetworkServicesGatewayList, 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.NetworkServicesGateway, err error) + NetworkServicesGatewayExpansion +} + +// networkServicesGateways implements NetworkServicesGatewayInterface +type networkServicesGateways struct { + client rest.Interface + ns string +} + +// newNetworkServicesGateways returns a NetworkServicesGateways +func newNetworkServicesGateways(c *NetworkservicesV1beta1Client, namespace string) *networkServicesGateways { + return &networkServicesGateways{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the networkServicesGateway, and returns the corresponding networkServicesGateway object, and an error if there is any. +func (c *networkServicesGateways) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesGateway, err error) { + result = &v1beta1.NetworkServicesGateway{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesgateways"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetworkServicesGateways that match those selectors. +func (c *networkServicesGateways) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesGatewayList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.NetworkServicesGatewayList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesgateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested networkServicesGateways. +func (c *networkServicesGateways) 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("networkservicesgateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a networkServicesGateway and creates it. Returns the server's representation of the networkServicesGateway, and an error, if there is any. +func (c *networkServicesGateways) Create(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.CreateOptions) (result *v1beta1.NetworkServicesGateway, err error) { + result = &v1beta1.NetworkServicesGateway{} + err = c.client.Post(). + Namespace(c.ns). + Resource("networkservicesgateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGateway). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a networkServicesGateway and updates it. Returns the server's representation of the networkServicesGateway, and an error, if there is any. +func (c *networkServicesGateways) Update(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGateway, err error) { + result = &v1beta1.NetworkServicesGateway{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesgateways"). + Name(networkServicesGateway.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGateway). + 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 *networkServicesGateways) UpdateStatus(ctx context.Context, networkServicesGateway *v1beta1.NetworkServicesGateway, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGateway, err error) { + result = &v1beta1.NetworkServicesGateway{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesgateways"). + Name(networkServicesGateway.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGateway). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the networkServicesGateway and deletes it. Returns an error if one occurs. +func (c *networkServicesGateways) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("networkservicesgateways"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *networkServicesGateways) 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("networkservicesgateways"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched networkServicesGateway. +func (c *networkServicesGateways) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesGateway, err error) { + result = &v1beta1.NetworkServicesGateway{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("networkservicesgateways"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgrpcroute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgrpcroute.go new file mode 100644 index 0000000000..b4bd441927 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesgrpcroute.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/networkservices/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" +) + +// NetworkServicesGRPCRoutesGetter has a method to return a NetworkServicesGRPCRouteInterface. +// A group's client should implement this interface. +type NetworkServicesGRPCRoutesGetter interface { + NetworkServicesGRPCRoutes(namespace string) NetworkServicesGRPCRouteInterface +} + +// NetworkServicesGRPCRouteInterface has methods to work with NetworkServicesGRPCRoute resources. +type NetworkServicesGRPCRouteInterface interface { + Create(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.CreateOptions) (*v1beta1.NetworkServicesGRPCRoute, error) + Update(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGRPCRoute, error) + UpdateStatus(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesGRPCRoute, 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.NetworkServicesGRPCRoute, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.NetworkServicesGRPCRouteList, 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.NetworkServicesGRPCRoute, err error) + NetworkServicesGRPCRouteExpansion +} + +// networkServicesGRPCRoutes implements NetworkServicesGRPCRouteInterface +type networkServicesGRPCRoutes struct { + client rest.Interface + ns string +} + +// newNetworkServicesGRPCRoutes returns a NetworkServicesGRPCRoutes +func newNetworkServicesGRPCRoutes(c *NetworkservicesV1beta1Client, namespace string) *networkServicesGRPCRoutes { + return &networkServicesGRPCRoutes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the networkServicesGRPCRoute, and returns the corresponding networkServicesGRPCRoute object, and an error if there is any. +func (c *networkServicesGRPCRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + result = &v1beta1.NetworkServicesGRPCRoute{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetworkServicesGRPCRoutes that match those selectors. +func (c *networkServicesGRPCRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesGRPCRouteList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.NetworkServicesGRPCRouteList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested networkServicesGRPCRoutes. +func (c *networkServicesGRPCRoutes) 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("networkservicesgrpcroutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a networkServicesGRPCRoute and creates it. Returns the server's representation of the networkServicesGRPCRoute, and an error, if there is any. +func (c *networkServicesGRPCRoutes) Create(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + result = &v1beta1.NetworkServicesGRPCRoute{} + err = c.client.Post(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGRPCRoute). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a networkServicesGRPCRoute and updates it. Returns the server's representation of the networkServicesGRPCRoute, and an error, if there is any. +func (c *networkServicesGRPCRoutes) Update(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + result = &v1beta1.NetworkServicesGRPCRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + Name(networkServicesGRPCRoute.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGRPCRoute). + 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 *networkServicesGRPCRoutes) UpdateStatus(ctx context.Context, networkServicesGRPCRoute *v1beta1.NetworkServicesGRPCRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + result = &v1beta1.NetworkServicesGRPCRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + Name(networkServicesGRPCRoute.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesGRPCRoute). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the networkServicesGRPCRoute and deletes it. Returns an error if one occurs. +func (c *networkServicesGRPCRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *networkServicesGRPCRoutes) 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("networkservicesgrpcroutes"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched networkServicesGRPCRoute. +func (c *networkServicesGRPCRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesGRPCRoute, err error) { + result = &v1beta1.NetworkServicesGRPCRoute{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("networkservicesgrpcroutes"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkserviceshttproute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkserviceshttproute.go new file mode 100644 index 0000000000..9d92918b20 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkserviceshttproute.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/networkservices/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" +) + +// NetworkServicesHTTPRoutesGetter has a method to return a NetworkServicesHTTPRouteInterface. +// A group's client should implement this interface. +type NetworkServicesHTTPRoutesGetter interface { + NetworkServicesHTTPRoutes(namespace string) NetworkServicesHTTPRouteInterface +} + +// NetworkServicesHTTPRouteInterface has methods to work with NetworkServicesHTTPRoute resources. +type NetworkServicesHTTPRouteInterface interface { + Create(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.CreateOptions) (*v1beta1.NetworkServicesHTTPRoute, error) + Update(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesHTTPRoute, error) + UpdateStatus(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesHTTPRoute, 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.NetworkServicesHTTPRoute, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.NetworkServicesHTTPRouteList, 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.NetworkServicesHTTPRoute, err error) + NetworkServicesHTTPRouteExpansion +} + +// networkServicesHTTPRoutes implements NetworkServicesHTTPRouteInterface +type networkServicesHTTPRoutes struct { + client rest.Interface + ns string +} + +// newNetworkServicesHTTPRoutes returns a NetworkServicesHTTPRoutes +func newNetworkServicesHTTPRoutes(c *NetworkservicesV1beta1Client, namespace string) *networkServicesHTTPRoutes { + return &networkServicesHTTPRoutes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the networkServicesHTTPRoute, and returns the corresponding networkServicesHTTPRoute object, and an error if there is any. +func (c *networkServicesHTTPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + result = &v1beta1.NetworkServicesHTTPRoute{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetworkServicesHTTPRoutes that match those selectors. +func (c *networkServicesHTTPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesHTTPRouteList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.NetworkServicesHTTPRouteList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested networkServicesHTTPRoutes. +func (c *networkServicesHTTPRoutes) 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("networkserviceshttproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a networkServicesHTTPRoute and creates it. Returns the server's representation of the networkServicesHTTPRoute, and an error, if there is any. +func (c *networkServicesHTTPRoutes) Create(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + result = &v1beta1.NetworkServicesHTTPRoute{} + err = c.client.Post(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesHTTPRoute). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a networkServicesHTTPRoute and updates it. Returns the server's representation of the networkServicesHTTPRoute, and an error, if there is any. +func (c *networkServicesHTTPRoutes) Update(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + result = &v1beta1.NetworkServicesHTTPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + Name(networkServicesHTTPRoute.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesHTTPRoute). + 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 *networkServicesHTTPRoutes) UpdateStatus(ctx context.Context, networkServicesHTTPRoute *v1beta1.NetworkServicesHTTPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + result = &v1beta1.NetworkServicesHTTPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + Name(networkServicesHTTPRoute.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesHTTPRoute). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the networkServicesHTTPRoute and deletes it. Returns an error if one occurs. +func (c *networkServicesHTTPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *networkServicesHTTPRoutes) 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("networkserviceshttproutes"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched networkServicesHTTPRoute. +func (c *networkServicesHTTPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesHTTPRoute, err error) { + result = &v1beta1.NetworkServicesHTTPRoute{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("networkserviceshttproutes"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesmesh.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesmesh.go new file mode 100644 index 0000000000..bb404caae0 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicesmesh.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/networkservices/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" +) + +// NetworkServicesMeshesGetter has a method to return a NetworkServicesMeshInterface. +// A group's client should implement this interface. +type NetworkServicesMeshesGetter interface { + NetworkServicesMeshes(namespace string) NetworkServicesMeshInterface +} + +// NetworkServicesMeshInterface has methods to work with NetworkServicesMesh resources. +type NetworkServicesMeshInterface interface { + Create(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.CreateOptions) (*v1beta1.NetworkServicesMesh, error) + Update(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (*v1beta1.NetworkServicesMesh, error) + UpdateStatus(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (*v1beta1.NetworkServicesMesh, 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.NetworkServicesMesh, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.NetworkServicesMeshList, 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.NetworkServicesMesh, err error) + NetworkServicesMeshExpansion +} + +// networkServicesMeshes implements NetworkServicesMeshInterface +type networkServicesMeshes struct { + client rest.Interface + ns string +} + +// newNetworkServicesMeshes returns a NetworkServicesMeshes +func newNetworkServicesMeshes(c *NetworkservicesV1beta1Client, namespace string) *networkServicesMeshes { + return &networkServicesMeshes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the networkServicesMesh, and returns the corresponding networkServicesMesh object, and an error if there is any. +func (c *networkServicesMeshes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesMesh, err error) { + result = &v1beta1.NetworkServicesMesh{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetworkServicesMeshes that match those selectors. +func (c *networkServicesMeshes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesMeshList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.NetworkServicesMeshList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested networkServicesMeshes. +func (c *networkServicesMeshes) 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("networkservicesmeshes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a networkServicesMesh and creates it. Returns the server's representation of the networkServicesMesh, and an error, if there is any. +func (c *networkServicesMeshes) Create(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.CreateOptions) (result *v1beta1.NetworkServicesMesh, err error) { + result = &v1beta1.NetworkServicesMesh{} + err = c.client.Post(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesMesh). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a networkServicesMesh and updates it. Returns the server's representation of the networkServicesMesh, and an error, if there is any. +func (c *networkServicesMeshes) Update(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesMesh, err error) { + result = &v1beta1.NetworkServicesMesh{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + Name(networkServicesMesh.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesMesh). + 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 *networkServicesMeshes) UpdateStatus(ctx context.Context, networkServicesMesh *v1beta1.NetworkServicesMesh, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesMesh, err error) { + result = &v1beta1.NetworkServicesMesh{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + Name(networkServicesMesh.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesMesh). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the networkServicesMesh and deletes it. Returns an error if one occurs. +func (c *networkServicesMeshes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("networkservicesmeshes"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *networkServicesMeshes) 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("networkservicesmeshes"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched networkServicesMesh. +func (c *networkServicesMeshes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesMesh, err error) { + result = &v1beta1.NetworkServicesMesh{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("networkservicesmeshes"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicestcproute.go b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicestcproute.go new file mode 100644 index 0000000000..189c616144 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/networkservices/v1beta1/networkservicestcproute.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/networkservices/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" +) + +// NetworkServicesTCPRoutesGetter has a method to return a NetworkServicesTCPRouteInterface. +// A group's client should implement this interface. +type NetworkServicesTCPRoutesGetter interface { + NetworkServicesTCPRoutes(namespace string) NetworkServicesTCPRouteInterface +} + +// NetworkServicesTCPRouteInterface has methods to work with NetworkServicesTCPRoute resources. +type NetworkServicesTCPRouteInterface interface { + Create(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.CreateOptions) (*v1beta1.NetworkServicesTCPRoute, error) + Update(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesTCPRoute, error) + UpdateStatus(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (*v1beta1.NetworkServicesTCPRoute, 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.NetworkServicesTCPRoute, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.NetworkServicesTCPRouteList, 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.NetworkServicesTCPRoute, err error) + NetworkServicesTCPRouteExpansion +} + +// networkServicesTCPRoutes implements NetworkServicesTCPRouteInterface +type networkServicesTCPRoutes struct { + client rest.Interface + ns string +} + +// newNetworkServicesTCPRoutes returns a NetworkServicesTCPRoutes +func newNetworkServicesTCPRoutes(c *NetworkservicesV1beta1Client, namespace string) *networkServicesTCPRoutes { + return &networkServicesTCPRoutes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the networkServicesTCPRoute, and returns the corresponding networkServicesTCPRoute object, and an error if there is any. +func (c *networkServicesTCPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + result = &v1beta1.NetworkServicesTCPRoute{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetworkServicesTCPRoutes that match those selectors. +func (c *networkServicesTCPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.NetworkServicesTCPRouteList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.NetworkServicesTCPRouteList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested networkServicesTCPRoutes. +func (c *networkServicesTCPRoutes) 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("networkservicestcproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a networkServicesTCPRoute and creates it. Returns the server's representation of the networkServicesTCPRoute, and an error, if there is any. +func (c *networkServicesTCPRoutes) Create(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.CreateOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + result = &v1beta1.NetworkServicesTCPRoute{} + err = c.client.Post(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesTCPRoute). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a networkServicesTCPRoute and updates it. Returns the server's representation of the networkServicesTCPRoute, and an error, if there is any. +func (c *networkServicesTCPRoutes) Update(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + result = &v1beta1.NetworkServicesTCPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + Name(networkServicesTCPRoute.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesTCPRoute). + 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 *networkServicesTCPRoutes) UpdateStatus(ctx context.Context, networkServicesTCPRoute *v1beta1.NetworkServicesTCPRoute, opts v1.UpdateOptions) (result *v1beta1.NetworkServicesTCPRoute, err error) { + result = &v1beta1.NetworkServicesTCPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + Name(networkServicesTCPRoute.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(networkServicesTCPRoute). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the networkServicesTCPRoute and deletes it. Returns an error if one occurs. +func (c *networkServicesTCPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("networkservicestcproutes"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *networkServicesTCPRoutes) 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("networkservicestcproutes"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched networkServicesTCPRoute. +func (c *networkServicesTCPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.NetworkServicesTCPRoute, err error) { + result = &v1beta1.NetworkServicesTCPRoute{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("networkservicestcproutes"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/run/v1beta1/doc.go b/pkg/client/clientset/versioned/typed/run/v1beta1/doc.go new file mode 100644 index 0000000000..0bf01d15b1 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/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/run/v1beta1/fake/doc.go b/pkg/client/clientset/versioned/typed/run/v1beta1/fake/doc.go new file mode 100644 index 0000000000..7a39491606 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/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/run/v1beta1/fake/fake_run_client.go b/pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_run_client.go new file mode 100644 index 0000000000..75f4f9d6d6 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_run_client.go @@ -0,0 +1,43 @@ +// 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/run/v1beta1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeRunV1beta1 struct { + *testing.Fake +} + +func (c *FakeRunV1beta1) RunServices(namespace string) v1beta1.RunServiceInterface { + return &FakeRunServices{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeRunV1beta1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_runservice.go b/pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_runservice.go new file mode 100644 index 0000000000..ac427696e1 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/v1beta1/fake/fake_runservice.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/run/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" +) + +// FakeRunServices implements RunServiceInterface +type FakeRunServices struct { + Fake *FakeRunV1beta1 + ns string +} + +var runservicesResource = schema.GroupVersionResource{Group: "run.cnrm.cloud.google.com", Version: "v1beta1", Resource: "runservices"} + +var runservicesKind = schema.GroupVersionKind{Group: "run.cnrm.cloud.google.com", Version: "v1beta1", Kind: "RunService"} + +// Get takes name of the runService, and returns the corresponding runService object, and an error if there is any. +func (c *FakeRunServices) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.RunService, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(runservicesResource, c.ns, name), &v1beta1.RunService{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.RunService), err +} + +// List takes label and field selectors, and returns the list of RunServices that match those selectors. +func (c *FakeRunServices) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.RunServiceList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(runservicesResource, runservicesKind, c.ns, opts), &v1beta1.RunServiceList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.RunServiceList{ListMeta: obj.(*v1beta1.RunServiceList).ListMeta} + for _, item := range obj.(*v1beta1.RunServiceList).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 runServices. +func (c *FakeRunServices) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(runservicesResource, c.ns, opts)) + +} + +// Create takes the representation of a runService and creates it. Returns the server's representation of the runService, and an error, if there is any. +func (c *FakeRunServices) Create(ctx context.Context, runService *v1beta1.RunService, opts v1.CreateOptions) (result *v1beta1.RunService, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(runservicesResource, c.ns, runService), &v1beta1.RunService{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.RunService), err +} + +// Update takes the representation of a runService and updates it. Returns the server's representation of the runService, and an error, if there is any. +func (c *FakeRunServices) Update(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (result *v1beta1.RunService, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(runservicesResource, c.ns, runService), &v1beta1.RunService{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.RunService), 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 *FakeRunServices) UpdateStatus(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (*v1beta1.RunService, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(runservicesResource, "status", c.ns, runService), &v1beta1.RunService{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.RunService), err +} + +// Delete takes name of the runService and deletes it. Returns an error if one occurs. +func (c *FakeRunServices) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(runservicesResource, c.ns, name), &v1beta1.RunService{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRunServices) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(runservicesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.RunServiceList{}) + return err +} + +// Patch applies the patch and returns the patched runService. +func (c *FakeRunServices) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.RunService, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(runservicesResource, c.ns, name, pt, data, subresources...), &v1beta1.RunService{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.RunService), err +} diff --git a/pkg/client/clientset/versioned/typed/run/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/run/v1beta1/generated_expansion.go new file mode 100644 index 0000000000..49e703c1d2 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/v1beta1/generated_expansion.go @@ -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. + +// *** 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 RunServiceExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/run/v1beta1/run_client.go b/pkg/client/clientset/versioned/typed/run/v1beta1/run_client.go new file mode 100644 index 0000000000..e5431af300 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/v1beta1/run_client.go @@ -0,0 +1,92 @@ +// 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/run/v1beta1" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/client/clientset/versioned/scheme" + rest "k8s.io/client-go/rest" +) + +type RunV1beta1Interface interface { + RESTClient() rest.Interface + RunServicesGetter +} + +// RunV1beta1Client is used to interact with features provided by the run.cnrm.cloud.google.com group. +type RunV1beta1Client struct { + restClient rest.Interface +} + +func (c *RunV1beta1Client) RunServices(namespace string) RunServiceInterface { + return newRunServices(c, namespace) +} + +// NewForConfig creates a new RunV1beta1Client for the given config. +func NewForConfig(c *rest.Config) (*RunV1beta1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &RunV1beta1Client{client}, nil +} + +// NewForConfigOrDie creates a new RunV1beta1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *RunV1beta1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new RunV1beta1Client for the given RESTClient. +func New(c rest.Interface) *RunV1beta1Client { + return &RunV1beta1Client{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 *RunV1beta1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/pkg/client/clientset/versioned/typed/run/v1beta1/runservice.go b/pkg/client/clientset/versioned/typed/run/v1beta1/runservice.go new file mode 100644 index 0000000000..95c0f662dc --- /dev/null +++ b/pkg/client/clientset/versioned/typed/run/v1beta1/runservice.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/run/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" +) + +// RunServicesGetter has a method to return a RunServiceInterface. +// A group's client should implement this interface. +type RunServicesGetter interface { + RunServices(namespace string) RunServiceInterface +} + +// RunServiceInterface has methods to work with RunService resources. +type RunServiceInterface interface { + Create(ctx context.Context, runService *v1beta1.RunService, opts v1.CreateOptions) (*v1beta1.RunService, error) + Update(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (*v1beta1.RunService, error) + UpdateStatus(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (*v1beta1.RunService, 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.RunService, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.RunServiceList, 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.RunService, err error) + RunServiceExpansion +} + +// runServices implements RunServiceInterface +type runServices struct { + client rest.Interface + ns string +} + +// newRunServices returns a RunServices +func newRunServices(c *RunV1beta1Client, namespace string) *runServices { + return &runServices{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the runService, and returns the corresponding runService object, and an error if there is any. +func (c *runServices) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.RunService, err error) { + result = &v1beta1.RunService{} + err = c.client.Get(). + Namespace(c.ns). + Resource("runservices"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of RunServices that match those selectors. +func (c *runServices) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.RunServiceList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.RunServiceList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("runservices"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested runServices. +func (c *runServices) 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("runservices"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a runService and creates it. Returns the server's representation of the runService, and an error, if there is any. +func (c *runServices) Create(ctx context.Context, runService *v1beta1.RunService, opts v1.CreateOptions) (result *v1beta1.RunService, err error) { + result = &v1beta1.RunService{} + err = c.client.Post(). + Namespace(c.ns). + Resource("runservices"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(runService). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a runService and updates it. Returns the server's representation of the runService, and an error, if there is any. +func (c *runServices) Update(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (result *v1beta1.RunService, err error) { + result = &v1beta1.RunService{} + err = c.client.Put(). + Namespace(c.ns). + Resource("runservices"). + Name(runService.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(runService). + 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 *runServices) UpdateStatus(ctx context.Context, runService *v1beta1.RunService, opts v1.UpdateOptions) (result *v1beta1.RunService, err error) { + result = &v1beta1.RunService{} + err = c.client.Put(). + Namespace(c.ns). + Resource("runservices"). + Name(runService.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(runService). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the runService and deletes it. Returns an error if one occurs. +func (c *runServices) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("runservices"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *runServices) 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("runservices"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched runService. +func (c *runServices) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.RunService, err error) { + result = &v1beta1.RunService{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("runservices"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/samples/resources/computefirewall/allow-rule-firewall/compute_v1beta1_computefirewall.yaml b/samples/resources/computefirewall/allow-rule-firewall/compute_v1beta1_computefirewall.yaml index 42bfec259a..20aef34ad7 100644 --- a/samples/resources/computefirewall/allow-rule-firewall/compute_v1beta1_computefirewall.yaml +++ b/samples/resources/computefirewall/allow-rule-firewall/compute_v1beta1_computefirewall.yaml @@ -26,3 +26,5 @@ spec: - "1000-2000" networkRef: name: computefirewall-dep-allow + sourceTags: + - "web" diff --git a/samples/resources/computefirewall/deny-rule-firewall/compute_v1beta1_computefirewall.yaml b/samples/resources/computefirewall/deny-rule-firewall/compute_v1beta1_computefirewall.yaml index 02972b5543..0538c4f302 100644 --- a/samples/resources/computefirewall/deny-rule-firewall/compute_v1beta1_computefirewall.yaml +++ b/samples/resources/computefirewall/deny-rule-firewall/compute_v1beta1_computefirewall.yaml @@ -23,3 +23,5 @@ spec: - protocol: icmp networkRef: name: computefirewall-dep-deny + sourceTags: + - "web" 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 b5fc5fe03a..e5225cf9ec 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 @@ -44,4 +44,7 @@ spec: - "WORKLOADS" monitoringConfig: enableComponents: - - "SYSTEM_COMPONENTS" \ No newline at end of file + - "SYSTEM_COMPONENTS" + workloadIdentityConfig: + # Replace ${PROJECT_ID?} with your project ID. + workloadPool: "${PROJECT_ID?}.svc.id.goog" diff --git a/samples/resources/dataproccluster/dataproc_v1beta1_dataproccluster.yaml b/samples/resources/dataproccluster/dataproc_v1beta1_dataproccluster.yaml index 6412c53707..3ef6f34ed1 100644 --- a/samples/resources/dataproccluster/dataproc_v1beta1_dataproccluster.yaml +++ b/samples/resources/dataproccluster/dataproc_v1beta1_dataproccluster.yaml @@ -41,7 +41,7 @@ spec: bootDiskSizeGb: 30 numLocalSsds: 1 softwareConfig: - imageVersion: "2.0.2-debian10" + imageVersion: "2.0.27-debian10" gceClusterConfig: tags: - "foo" diff --git a/samples/resources/dataprocworkflowtemplate/dataproc_v1beta1_dataprocworkflowtemplate.yaml b/samples/resources/dataprocworkflowtemplate/dataproc_v1beta1_dataprocworkflowtemplate.yaml index 8c90f6653d..d4896f7056 100644 --- a/samples/resources/dataprocworkflowtemplate/dataproc_v1beta1_dataprocworkflowtemplate.yaml +++ b/samples/resources/dataprocworkflowtemplate/dataproc_v1beta1_dataprocworkflowtemplate.yaml @@ -40,7 +40,7 @@ spec: bootDiskSizeGb: 30 numLocalSsds: 1 softwareConfig: - imageVersion: "2.0.2-debian10" + imageVersion: "2.0.27-debian10" gceClusterConfig: tags: - "foo" diff --git a/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml b/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml new file mode 100644 index 0000000000..ebb30f6f1c --- /dev/null +++ b/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml @@ -0,0 +1,54 @@ +# 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: monitoring.cnrm.cloud.google.com/v1beta1 +kind: MonitoringUptimeCheckConfig +metadata: + name: monitoringuptimecheckconfig-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: projects/${PROJECT_ID?} + displayName: "A sample http uptime check config" + period: 60s + timeout: 30s + contentMatchers: + - content: ".*" + matcher: "MATCHES_REGEX" + selectedRegions: + - USA + monitoredResource: + type: "uptime_url" + filterLabels: + host: "192.168.1.1" + # Replace ${PROJECT_ID?} with the ID of a monitored project. + project_id: ${PROJECT_ID?} + httpCheck: + requestMethod: POST + useSsl: true + path: "/main" + port: 80 + authInfo: + username: test + password: + valueFrom: + secretKeyRef: + name: monitoringuptimecheckconfig-dep + key: password + maskHeaders: true + headers: + header-one: "value-one" + contentType: "URL_ENCODED" + validateSsl: false + body: "c3RyaW5nCg==" diff --git a/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/secret.yaml b/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/secret.yaml new file mode 100644 index 0000000000..28f617b87a --- /dev/null +++ b/samples/resources/monitoringuptimecheckconfig/http-uptime-check-config/secret.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: v1 +kind: Secret +metadata: + name: monitoringuptimecheckconfig-dep +data: + password: cGFzc3dvcmQ= diff --git a/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringgroup.yaml b/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringgroup.yaml new file mode 100644 index 0000000000..6fdabfb4bf --- /dev/null +++ b/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringgroup.yaml @@ -0,0 +1,25 @@ +# 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: monitoring.cnrm.cloud.google.com/v1beta1 +kind: MonitoringGroup +metadata: + name: monitoringuptimecheckconfig-dep +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: projects/${PROJECT_ID?} + filter: resource.metadata.region=europe-west2 + displayName: "A sample monitoring group" + diff --git a/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml b/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml new file mode 100644 index 0000000000..00067260c4 --- /dev/null +++ b/samples/resources/monitoringuptimecheckconfig/tcp-uptime-check-config/monitoring_v1beta1_monitoringuptimecheckconfig.yaml @@ -0,0 +1,30 @@ +# 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: monitoring.cnrm.cloud.google.com/v1beta1 +kind: MonitoringUptimeCheckConfig +metadata: + name: monitoringuptimecheckconfig-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: projects/${PROJECT_ID?} + displayName: "A sample TCP uptime check config" + timeout: 30s + resourceGroup: + groupRef: + name: monitoringuptimecheckconfig-dep + resourceType: INSTANCE + tcpCheck: + port: 80 diff --git a/samples/resources/networkservicesgateway/networkservices_v1beta1_networkservicesgateway.yaml b/samples/resources/networkservicesgateway/networkservices_v1beta1_networkservicesgateway.yaml new file mode 100644 index 0000000000..899f989b76 --- /dev/null +++ b/samples/resources/networkservicesgateway/networkservices_v1beta1_networkservicesgateway.yaml @@ -0,0 +1,30 @@ +# Copyright 2021 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: networkservices.cnrm.cloud.google.com/v1beta1 +kind: NetworkServicesGateway +metadata: + labels: + key-one: value-one + name: networkservicesgateway-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: "projects/${PROJECT_ID?}" + type: OPEN_MESH + ports: + - 80 + - 443 + location: global + scope: foo-scope diff --git a/samples/resources/networkservicesgrpcroute/compute_v1beta1_computebackendservice.yaml b/samples/resources/networkservicesgrpcroute/compute_v1beta1_computebackendservice.yaml new file mode 100644 index 0000000000..589d1f15bd --- /dev/null +++ b/samples/resources/networkservicesgrpcroute/compute_v1beta1_computebackendservice.yaml @@ -0,0 +1,22 @@ +# Copyright 2021 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: ComputeBackendService +metadata: + name: networkservicesgrpcroute-dep +spec: + loadBalancingScheme: INTERNAL_SELF_MANAGED + location: global + protocol: GRPC diff --git a/samples/resources/networkservicesgrpcroute/networkservices_v1beta1_networkservicesgrpcroute.yaml b/samples/resources/networkservicesgrpcroute/networkservices_v1beta1_networkservicesgrpcroute.yaml new file mode 100644 index 0000000000..bd464aee31 --- /dev/null +++ b/samples/resources/networkservicesgrpcroute/networkservices_v1beta1_networkservicesgrpcroute.yaml @@ -0,0 +1,81 @@ +# Copyright 2021 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: networkservices.cnrm.cloud.google.com/v1beta1 +kind: NetworkServicesGRPCRoute +metadata: + labels: + key-one: value-one + name: networkservicesgrpcroute-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: "projects/${PROJECT_ID?}" + location: global + hostnames: ["baz.bar"] + meshes: [] + rules: + - matches: + - method: + grpcService: helloworld.Greeter + grpcMethod: SayHello + headers: + - key: foo + value: bar + action: + destinations: + - serviceRef: + name: networkservicesgrpcroute-dep + faultInjectionPolicy: + abort: + httpStatus: 501 + percentage: 1 + delay: + fixedDelay: "10s" + percentage: 2 + requestHeaderModifier: + add: + foo1: bar1 + baz1: qux1 + set: + foo2: bar2 + baz2: qux2 + remove: + - foo3 + - bar3 + requestMirrorPolicy: + destination: + serviceRef: + name: networkservicesgrpcroute-dep + responseHeaderModifier: + add: + foo1: bar1 + baz1: qux1 + set: + foo2: bar2 + baz2: qux2 + remove: + - foo3 + - bar3 + retryPolicy: + numRetries: 3 + perTryTimeout: "5s" + retryConditions: + - "refused-stream" + - "cancelled" + timeout: "30s" + - action: + destinations: + - serviceRef: + name: networkservicesgrpcroute-dep diff --git a/samples/resources/networkserviceshttproute/compute_v1beta1_computebackendservice.yaml b/samples/resources/networkserviceshttproute/compute_v1beta1_computebackendservice.yaml new file mode 100644 index 0000000000..9d08df02f2 --- /dev/null +++ b/samples/resources/networkserviceshttproute/compute_v1beta1_computebackendservice.yaml @@ -0,0 +1,21 @@ +# Copyright 2021 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: ComputeBackendService +metadata: + name: networkserviceshttproute-dep +spec: + loadBalancingScheme: INTERNAL_SELF_MANAGED + location: global diff --git a/samples/resources/networkserviceshttproute/networkservices_v1beta1_networkserviceshttproute.yaml b/samples/resources/networkserviceshttproute/networkservices_v1beta1_networkserviceshttproute.yaml new file mode 100644 index 0000000000..9ee94381a2 --- /dev/null +++ b/samples/resources/networkserviceshttproute/networkservices_v1beta1_networkserviceshttproute.yaml @@ -0,0 +1,79 @@ +# Copyright 2021 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: networkservices.cnrm.cloud.google.com/v1beta1 +kind: NetworkServicesHTTPRoute +metadata: + labels: + key-one: value-one + name: networkserviceshttproute-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: "projects/${PROJECT_ID?}" + location: global + hostnames: ["foo.bar"] + meshes: [] + rules: + - matches: + - fullPathMatch: "/foo/bar" + headers: + - header: "foo-header" + prefixMatch: "bar-value" + action: + destinations: + - serviceRef: + name: networkserviceshttproute-dep + faultInjectionPolicy: + abort: + httpStatus: 501 + percentage: 1 + delay: + fixedDelay: "10s" + percentage: 2 + requestHeaderModifier: + add: + foo1: bar1 + baz1: qux1 + set: + foo2: bar2 + baz2: qux2 + remove: + - foo3 + - bar3 + requestMirrorPolicy: + destination: + serviceRef: + name: networkserviceshttproute-dep + responseHeaderModifier: + add: + foo1: bar1 + baz1: qux1 + set: + foo2: bar2 + baz2: qux2 + remove: + - foo3 + - bar3 + retryPolicy: + numRetries: 3 + perTryTimeout: "5s" + retryConditions: + - "refused-stream" + - "cancelled" + timeout: "30s" + - action: + destinations: + - serviceRef: + name: networkserviceshttproute-dep diff --git a/samples/resources/networkservicesmesh/networkservices_v1beta1_networkservicesmesh.yaml b/samples/resources/networkservicesmesh/networkservices_v1beta1_networkservicesmesh.yaml new file mode 100644 index 0000000000..edb3e49bc9 --- /dev/null +++ b/samples/resources/networkservicesmesh/networkservices_v1beta1_networkservicesmesh.yaml @@ -0,0 +1,27 @@ +# Copyright 2021 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: networkservices.cnrm.cloud.google.com/v1beta1 +kind: NetworkServicesMesh +metadata: + labels: + key-one: value-one + name: networkservicesmesh-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: "projects/${PROJECT_ID?}" + type: PROXYLESS_GRPC + scope: foo-scope + location: global diff --git a/samples/resources/networkservicestcproute/compute_v1beta1_computebackendservice.yaml b/samples/resources/networkservicestcproute/compute_v1beta1_computebackendservice.yaml new file mode 100644 index 0000000000..fd6286a01a --- /dev/null +++ b/samples/resources/networkservicestcproute/compute_v1beta1_computebackendservice.yaml @@ -0,0 +1,22 @@ +# Copyright 2021 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: ComputeBackendService +metadata: + name: networkservicestcproute-dep +spec: + loadBalancingScheme: INTERNAL_SELF_MANAGED + location: global + protocol: TCP diff --git a/samples/resources/networkservicestcproute/networkservices_v1beta1_networkservicestcproute.yaml b/samples/resources/networkservicestcproute/networkservices_v1beta1_networkservicestcproute.yaml new file mode 100644 index 0000000000..bd3b65f5c7 --- /dev/null +++ b/samples/resources/networkservicestcproute/networkservices_v1beta1_networkservicestcproute.yaml @@ -0,0 +1,38 @@ +# Copyright 2021 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: networkservices.cnrm.cloud.google.com/v1beta1 +kind: NetworkServicesTCPRoute +metadata: + labels: + key-one: value-one + name: networkservicestcproute-sample +spec: + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: "projects/${PROJECT_ID?}" + location: global + meshes: [] + rules: + - matches: + - address: "10.0.0.1/32" + port: "7777" + action: + destinations: + - serviceRef: + name: networkservicestcproute-dep + - action: + destinations: + - serviceRef: + name: networkservicestcproute-dep diff --git a/samples/resources/runservice/run_v1beta1_runservice.yaml b/samples/resources/runservice/run_v1beta1_runservice.yaml new file mode 100644 index 0000000000..44289c5480 --- /dev/null +++ b/samples/resources/runservice/run_v1beta1_runservice.yaml @@ -0,0 +1,36 @@ +# Copyright 2021 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: run.cnrm.cloud.google.com/v1beta1 +kind: RunService +metadata: + name: runservice-sample +spec: + ingress: "INGRESS_TRAFFIC_ALL" + launchStage: "GA" + location: "us-central1" + projectRef: + # Replace ${PROJECT_ID?} with your project ID. + external: projects/${PROJECT_ID?} + template: + containers: + - env: + - name: "FOO" + value: "bar]" + image: "gcr.io/cloudrun/hello" + scaling: + maxInstanceCount: 2 + traffic: + - percent: 100 + type: "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST" diff --git a/samples/resources/storagebucket/storage_v1beta1_storagebucket.yaml b/samples/resources/storagebucket/storage_v1beta1_storagebucket.yaml index e85aadfa5d..147866c9ee 100644 --- a/samples/resources/storagebucket/storage_v1beta1_storagebucket.yaml +++ b/samples/resources/storagebucket/storage_v1beta1_storagebucket.yaml @@ -34,3 +34,4 @@ spec: responseHeader: ["Content-Type"] method: ["GET", "HEAD", "DELETE"] maxAgeSeconds: 3600 + uniformBucketLevelAccess: true