From 21f10edb1d9d6a3d3baa5b1edcef6588da99def8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 29 Aug 2024 00:22:22 -0700 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#2760) --- alloydb/v1/alloydb-api.json | 10 +- alloydb/v1/alloydb-gen.go | 23 +- alloydb/v1alpha/alloydb-api.json | 10 +- alloydb/v1alpha/alloydb-gen.go | 23 +- cloudfunctions/v2/cloudfunctions-api.json | 6 +- cloudfunctions/v2/cloudfunctions-gen.go | 17 +- .../v2alpha/cloudfunctions-api.json | 6 +- cloudfunctions/v2alpha/cloudfunctions-gen.go | 17 +- cloudfunctions/v2beta/cloudfunctions-api.json | 6 +- cloudfunctions/v2beta/cloudfunctions-gen.go | 17 +- compute/v0.alpha/compute-api.json | 1467 ++++++++--------- compute/v0.alpha/compute-gen.go | 757 +++++---- compute/v0.alpha/compute2-gen.go | 320 ---- compute/v0.alpha/compute3-gen.go | 218 +++ compute/v0.beta/compute-api.json | 80 +- compute/v0.beta/compute-gen.go | 79 +- compute/v1/compute-api.json | 13 +- compute/v1/compute-gen.go | 8 + dataportability/v1/dataportability-api.json | 9 +- dataportability/v1/dataportability-gen.go | 4 + .../v1beta/dataportability-api.json | 9 +- dataportability/v1beta/dataportability-gen.go | 4 + dataproc/v1/dataproc-api.json | 25 +- dataproc/v1/dataproc-gen.go | 18 +- discoveryengine/v1/discoveryengine-api.json | 9 +- discoveryengine/v1/discoveryengine-gen.go | 21 +- .../v1alpha/discoveryengine-api.json | 9 +- .../v1alpha/discoveryengine-gen.go | 21 +- .../v1beta/discoveryengine-api.json | 9 +- discoveryengine/v1beta/discoveryengine-gen.go | 21 +- healthcare/v1/healthcare-api.json | 214 ++- healthcare/v1/healthcare-gen.go | 539 +++++- healthcare/v1beta1/healthcare-api.json | 8 +- healthcare/v1beta1/healthcare-gen.go | 8 +- .../v1alpha1/migrationcenter-api.json | 12 +- .../v1alpha1/migrationcenter-gen.go | 6 - securitycenter/v1/securitycenter-api.json | 284 +++- securitycenter/v1/securitycenter-gen.go | 405 +++++ .../v1beta1/securitycenter-api.json | 234 ++- securitycenter/v1beta1/securitycenter-gen.go | 223 +++ .../v1beta2/securitycenter-api.json | 234 ++- securitycenter/v1beta2/securitycenter-gen.go | 223 +++ sheets/v4/sheets-api.json | 4 +- sheets/v4/sheets-gen.go | 3 +- workspaceevents/v1/workspaceevents-api.json | 4 +- workspaceevents/v1/workspaceevents-gen.go | 5 +- 46 files changed, 3963 insertions(+), 1679 deletions(-) diff --git a/alloydb/v1/alloydb-api.json b/alloydb/v1/alloydb-api.json index 50c5b1b9eff..0cd09718937 100644 --- a/alloydb/v1/alloydb-api.json +++ b/alloydb/v1/alloydb-api.json @@ -1489,7 +1489,7 @@ } } }, - "revision": "20240806", + "revision": "20240823", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -3300,6 +3300,10 @@ "description": "Configuration for availability of database instance", "id": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "properties": { + "automaticFailoverRoutingConfigured": { + "description": "Checks for existence of (multi-cluster) routing configuration that allows automatic failover to a different zone/region in case of an outage. Applicable to Bigtable resources.", + "type": "boolean" + }, "availabilityType": { "description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available).", "enum": [ @@ -4867,6 +4871,10 @@ }, "type": "array" }, + "keepExtraRoles": { + "description": "Input only. If the user already exists and it has additional roles, keep them granted.", + "type": "boolean" + }, "name": { "description": "Output only. Name of the resource in the form of projects/{project}/locations/{location}/cluster/{cluster}/users/{user}.", "readOnly": true, diff --git a/alloydb/v1/alloydb-gen.go b/alloydb/v1/alloydb-gen.go index ba1c07d6bd3..5e614af7c90 100644 --- a/alloydb/v1/alloydb-gen.go +++ b/alloydb/v1/alloydb-gen.go @@ -2315,6 +2315,10 @@ func (s Status) MarshalJSON() ([]byte, error) { // StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration: // Configuration for availability of database instance type StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration struct { + // AutomaticFailoverRoutingConfigured: Checks for existence of (multi-cluster) + // routing configuration that allows automatic failover to a different + // zone/region in case of an outage. Applicable to Bigtable resources. + AutomaticFailoverRoutingConfigured bool `json:"automaticFailoverRoutingConfigured,omitempty"` // AvailabilityType: Availability type. Potential values: * `ZONAL`: The // instance serves data from only one zone. Outages in that zone affect data // accessibility. * `REGIONAL`: The instance can serve data from more than one @@ -2332,16 +2336,18 @@ type StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration struct { CrossRegionReplicaConfigured bool `json:"crossRegionReplicaConfigured,omitempty"` ExternalReplicaConfigured bool `json:"externalReplicaConfigured,omitempty"` PromotableReplicaConfigured bool `json:"promotableReplicaConfigured,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvailabilityType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // ForceSendFields is a list of field names (e.g. + // "AutomaticFailoverRoutingConfigured") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted from + // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvailabilityType") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + // NullFields is a list of field names (e.g. + // "AutomaticFailoverRoutingConfigured") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for + // more details. NullFields []string `json:"-"` } @@ -3772,6 +3778,9 @@ type User struct { // DatabaseRoles: Optional. List of database roles this user has. The database // role strings are subject to the PostgreSQL naming conventions. DatabaseRoles []string `json:"databaseRoles,omitempty"` + // KeepExtraRoles: Input only. If the user already exists and it has additional + // roles, keep them granted. + KeepExtraRoles bool `json:"keepExtraRoles,omitempty"` // Name: Output only. Name of the resource in the form of // projects/{project}/locations/{location}/cluster/{cluster}/users/{user}. Name string `json:"name,omitempty"` diff --git a/alloydb/v1alpha/alloydb-api.json b/alloydb/v1alpha/alloydb-api.json index d7366f0b98b..6302585e1aa 100644 --- a/alloydb/v1alpha/alloydb-api.json +++ b/alloydb/v1alpha/alloydb-api.json @@ -1517,7 +1517,7 @@ } } }, - "revision": "20240806", + "revision": "20240823", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -3489,6 +3489,10 @@ "description": "Configuration for availability of database instance", "id": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "properties": { + "automaticFailoverRoutingConfigured": { + "description": "Checks for existence of (multi-cluster) routing configuration that allows automatic failover to a different zone/region in case of an outage. Applicable to Bigtable resources.", + "type": "boolean" + }, "availabilityType": { "description": "Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available).", "enum": [ @@ -5124,6 +5128,10 @@ }, "type": "array" }, + "keepExtraRoles": { + "description": "Input only. If the user already exists and it has additional roles, keep them granted.", + "type": "boolean" + }, "name": { "description": "Output only. Name of the resource in the form of projects/{project}/locations/{location}/cluster/{cluster}/users/{user}.", "readOnly": true, diff --git a/alloydb/v1alpha/alloydb-gen.go b/alloydb/v1alpha/alloydb-gen.go index 7a4b36514a6..182f6e305a9 100644 --- a/alloydb/v1alpha/alloydb-gen.go +++ b/alloydb/v1alpha/alloydb-gen.go @@ -2481,6 +2481,10 @@ func (s Status) MarshalJSON() ([]byte, error) { // StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration: // Configuration for availability of database instance type StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration struct { + // AutomaticFailoverRoutingConfigured: Checks for existence of (multi-cluster) + // routing configuration that allows automatic failover to a different + // zone/region in case of an outage. Applicable to Bigtable resources. + AutomaticFailoverRoutingConfigured bool `json:"automaticFailoverRoutingConfigured,omitempty"` // AvailabilityType: Availability type. Potential values: * `ZONAL`: The // instance serves data from only one zone. Outages in that zone affect data // accessibility. * `REGIONAL`: The instance can serve data from more than one @@ -2498,16 +2502,18 @@ type StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration struct { CrossRegionReplicaConfigured bool `json:"crossRegionReplicaConfigured,omitempty"` ExternalReplicaConfigured bool `json:"externalReplicaConfigured,omitempty"` PromotableReplicaConfigured bool `json:"promotableReplicaConfigured,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvailabilityType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // ForceSendFields is a list of field names (e.g. + // "AutomaticFailoverRoutingConfigured") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted from + // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvailabilityType") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + // NullFields is a list of field names (e.g. + // "AutomaticFailoverRoutingConfigured") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for + // more details. NullFields []string `json:"-"` } @@ -4016,6 +4022,9 @@ type User struct { // DatabaseRoles: Optional. List of database roles this user has. The database // role strings are subject to the PostgreSQL naming conventions. DatabaseRoles []string `json:"databaseRoles,omitempty"` + // KeepExtraRoles: Input only. If the user already exists and it has additional + // roles, keep them granted. + KeepExtraRoles bool `json:"keepExtraRoles,omitempty"` // Name: Output only. Name of the resource in the form of // projects/{project}/locations/{location}/cluster/{cluster}/users/{user}. Name string `json:"name,omitempty"` diff --git a/cloudfunctions/v2/cloudfunctions-api.json b/cloudfunctions/v2/cloudfunctions-api.json index f98a5e81466..2c36be3c1be 100644 --- a/cloudfunctions/v2/cloudfunctions-api.json +++ b/cloudfunctions/v2/cloudfunctions-api.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240725", + "revision": "20240822", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -1037,7 +1037,7 @@ "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", "type": "string" }, "labels": { @@ -1144,7 +1144,7 @@ "type": "string" }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", "type": "string" } }, diff --git a/cloudfunctions/v2/cloudfunctions-gen.go b/cloudfunctions/v2/cloudfunctions-gen.go index 343b6ddac46..e577a1d50ee 100644 --- a/cloudfunctions/v2/cloudfunctions-gen.go +++ b/cloudfunctions/v2/cloudfunctions-gen.go @@ -690,8 +690,8 @@ type Function struct { // EventTrigger: An Eventarc trigger managed by Google Cloud Functions that // fires events in response to a condition in another service. EventTrigger *EventTrigger `json:"eventTrigger,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function resources. It must match the pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function resources. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. KmsKeyName string `json:"kmsKeyName,omitempty"` @@ -788,13 +788,12 @@ type GenerateUploadUrlRequest struct { // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environment string `json:"environment,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function source code objects in intermediate - // Cloud Storage buckets. When you generate an upload url and upload your - // source code, it gets copied to an intermediate Cloud Storage bucket. The - // source code is then copied to a versioned directory in the sources bucket in - // the consumer project during the function deployment. It must match the - // pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function source code objects in intermediate Cloud Storage + // buckets. When you generate an upload url and upload your source code, it + // gets copied to an intermediate Cloud Storage bucket. The source code is then + // copied to a versioned directory in the sources bucket in the consumer + // project during the function deployment. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. The Google Cloud Functions service account // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be diff --git a/cloudfunctions/v2alpha/cloudfunctions-api.json b/cloudfunctions/v2alpha/cloudfunctions-api.json index a9bb1bb1be1..79a8ca7803f 100644 --- a/cloudfunctions/v2alpha/cloudfunctions-api.json +++ b/cloudfunctions/v2alpha/cloudfunctions-api.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240725", + "revision": "20240822", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -1037,7 +1037,7 @@ "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", "type": "string" }, "labels": { @@ -1144,7 +1144,7 @@ "type": "string" }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", "type": "string" } }, diff --git a/cloudfunctions/v2alpha/cloudfunctions-gen.go b/cloudfunctions/v2alpha/cloudfunctions-gen.go index 8747c0e6684..66bf65cbf24 100644 --- a/cloudfunctions/v2alpha/cloudfunctions-gen.go +++ b/cloudfunctions/v2alpha/cloudfunctions-gen.go @@ -690,8 +690,8 @@ type Function struct { // EventTrigger: An Eventarc trigger managed by Google Cloud Functions that // fires events in response to a condition in another service. EventTrigger *EventTrigger `json:"eventTrigger,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function resources. It must match the pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function resources. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. KmsKeyName string `json:"kmsKeyName,omitempty"` @@ -788,13 +788,12 @@ type GenerateUploadUrlRequest struct { // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environment string `json:"environment,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function source code objects in intermediate - // Cloud Storage buckets. When you generate an upload url and upload your - // source code, it gets copied to an intermediate Cloud Storage bucket. The - // source code is then copied to a versioned directory in the sources bucket in - // the consumer project during the function deployment. It must match the - // pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function source code objects in intermediate Cloud Storage + // buckets. When you generate an upload url and upload your source code, it + // gets copied to an intermediate Cloud Storage bucket. The source code is then + // copied to a versioned directory in the sources bucket in the consumer + // project during the function deployment. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. The Google Cloud Functions service account // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be diff --git a/cloudfunctions/v2beta/cloudfunctions-api.json b/cloudfunctions/v2beta/cloudfunctions-api.json index c4afcb7b22c..3eb64909875 100644 --- a/cloudfunctions/v2beta/cloudfunctions-api.json +++ b/cloudfunctions/v2beta/cloudfunctions-api.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240725", + "revision": "20240822", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -1037,7 +1037,7 @@ "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", "type": "string" }, "labels": { @@ -1144,7 +1144,7 @@ "type": "string" }, "kmsKeyName": { - "description": "[Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function source code objects in intermediate Cloud Storage buckets. When you generate an upload url and upload your source code, it gets copied to an intermediate Cloud Storage bucket. The source code is then copied to a versioned directory in the sources bucket in the consumer project during the function deployment. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred).", "type": "string" } }, diff --git a/cloudfunctions/v2beta/cloudfunctions-gen.go b/cloudfunctions/v2beta/cloudfunctions-gen.go index 7ed7f51a475..e79718ff734 100644 --- a/cloudfunctions/v2beta/cloudfunctions-gen.go +++ b/cloudfunctions/v2beta/cloudfunctions-gen.go @@ -690,8 +690,8 @@ type Function struct { // EventTrigger: An Eventarc trigger managed by Google Cloud Functions that // fires events in response to a condition in another service. EventTrigger *EventTrigger `json:"eventTrigger,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function resources. It must match the pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function resources. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. KmsKeyName string `json:"kmsKeyName,omitempty"` @@ -788,13 +788,12 @@ type GenerateUploadUrlRequest struct { // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environment string `json:"environment,omitempty"` - // KmsKeyName: [Preview] Resource name of a KMS crypto key (managed by the - // user) used to encrypt/decrypt function source code objects in intermediate - // Cloud Storage buckets. When you generate an upload url and upload your - // source code, it gets copied to an intermediate Cloud Storage bucket. The - // source code is then copied to a versioned directory in the sources bucket in - // the consumer project during the function deployment. It must match the - // pattern + // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to + // encrypt/decrypt function source code objects in intermediate Cloud Storage + // buckets. When you generate an upload url and upload your source code, it + // gets copied to an intermediate Cloud Storage bucket. The source code is then + // copied to a versioned directory in the sources bucket in the consumer + // project during the function deployment. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. The Google Cloud Functions service account // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index 17560ac82d8..cef2a0b61de 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -19029,100 +19029,6 @@ } } }, - "networkPlacements": { - "methods": { - "get": { - "description": "Returns the specified network placement.", - "flatPath": "projects/{project}/global/networkPlacements/{networkPlacement}", - "httpMethod": "GET", - "id": "compute.networkPlacements.get", - "parameterOrder": [ - "project", - "networkPlacement" - ], - "parameters": { - "networkPlacement": { - "description": "Name of the network placement to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/networkPlacements/{networkPlacement}", - "response": { - "$ref": "NetworkPlacement" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "list": { - "description": "Retrieves a list of network placements available to the specified project.", - "flatPath": "projects/{project}/global/networkPlacements", - "httpMethod": "GET", - "id": "compute.networkPlacements.list", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/global/networkPlacements", - "response": { - "$ref": "NetworkPlacementsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, "networkProfiles": { "methods": { "get": { @@ -26660,6 +26566,75 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "list": { + "description": "Retrieves a list of Resize Requests that are contained in the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "httpMethod": "GET", + "id": "compute.regionInstanceGroupManagerResizeRequests.list", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "instanceGroupManager": { + "description": "The name of the managed instance group. The name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request. Name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "response": { + "$ref": "RegionInstanceGroupManagerResizeRequestsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] } } }, @@ -45080,7 +45055,7 @@ } } }, - "revision": "20240805", + "revision": "20240820", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -47876,7 +47851,7 @@ "type": "number" }, "customMetrics": { - "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode and WEIGHTED_ROUND_ROBIN BackendService locality_lb_policy.", + "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", "items": { "$ref": "BackendCustomMetric" }, @@ -48480,7 +48455,7 @@ "type": "object" }, "BackendCustomMetric": { - "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode and WEIGHTED_ROUND_ROBIN BackendService locality_lb_policy.", + "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", "id": "BackendCustomMetric", "properties": { "dryRun": { @@ -48493,7 +48468,7 @@ "type": "number" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long, and comply with relaxed RFC1035. Specifically, the name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -55475,19 +55450,55 @@ "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", "type": "boolean" }, + "commitmentInfo": { + "$ref": "FutureReservationCommitmentInfo", + "description": "If not present, then FR will not deliver a new commitment or update an existing commitment." + }, "creationTimestamp": { "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", "type": "string" }, + "deploymentType": { + "description": "Type of the deployment requested as part of future reservation.", + "enum": [ + "DENSE", + "DEPLOYMENT_TYPE_UNSPECIFIED", + "FLEXIBLE" + ], + "enumDescriptions": [ + "Number of deployment blocks, size, and topology is fixed during creation and does not change over time. Deployment will be expressed in terms of blocks.", + "Deployment type is unspecified.", + "Distribution of capacity in blocks is not static and can change over time. This is expected to have more obtainability over DENSE deployment. Deployment will not be expressed in terms of blocks." + ], + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the future reservation.", "type": "string" }, + "enableOpportunisticMaintenance": { + "description": "Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the FR by customers, and will be used for reservation and reservation block maintenance .", + "type": "boolean" + }, "id": { "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", "format": "uint64", "type": "string" }, + "instanceTerminationAction": { + "description": "Action to take during reservation termination.", + "enum": [ + "DELETE", + "INSTANCE_TERMINATION_ACTION_UNSPECIFIED", + "STOP" + ], + "enumDescriptions": [ + "Delete the VM.", + "Default value. This value is unused.", + "Stop the VM without storing in-memory content. default action." + ], + "type": "string" + }, "kind": { "default": "compute#futureReservation", "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", @@ -55521,6 +55532,24 @@ ], "type": "string" }, + "reservationName": { + "description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", + "type": "string" + }, + "schedulingType": { + "description": "Indicates the maintenance type for this group of VMs. This will be set on the reservation via FR, and will be inherited for reservation blocks.", + "enum": [ + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" + ], + "enumDescriptions": [ + "Synchronized maintenance. Common maintenance schedule/window is defined for this group of VMs. Not applicable for FLEXIBLE reservation", + "Unknown maintenance type.", + "Unsynchronized maintenance. These group of VMs do not share a common schedule for maintenance. Instead all VMs have individual windows of their own in which maintenance is scheduled." + ], + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" @@ -55556,6 +55585,42 @@ }, "type": "object" }, + "FutureReservationCommitmentInfo": { + "id": "FutureReservationCommitmentInfo", + "properties": { + "commitmentName": { + "description": "name of the commitment where capacity is being delivered to. In the form of \"projects/{project-id}/locations/{region-name}/commitment/{name}\"", + "type": "string" + }, + "commitmentPlan": { + "description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", + "enum": [ + "INVALID", + "THIRTY_SIX_MONTH", + "TWELVE_MONTH" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "previousCommitmentTerms": { + "description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", + "enum": [ + "EXTEND", + "PREVIOUSCOMMITMENTTERM_UNSPECIFIED" + ], + "enumDescriptions": [ + "All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", + "No changes to associated parents Committed Used Discount(s) terms." + ], + "type": "string" + } + }, + "type": "object" + }, "FutureReservationSpecificSKUProperties": { "id": "FutureReservationSpecificSKUProperties", "properties": { @@ -65215,6 +65280,13 @@ "description": "A description for the AAI profile on this interconnect.", "type": "string" }, + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + }, "strictPriorityPolicy": { "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" } @@ -67686,6 +67758,17 @@ "description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", "id": "License", "properties": { + "allowedReplacementLicenses": { + "description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appendableToDisk": { + "description": "If true, this license can be appended to an existing disk's set of licenses.", + "type": "boolean" + }, "chargesUseFee": { "description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", "type": "boolean" @@ -67703,6 +67786,13 @@ "format": "uint64", "type": "string" }, + "incompatibleLicenses": { + "description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "default": "compute#license", "description": "[Output Only] Type of resource. Always compute#license for licenses.", @@ -67713,6 +67803,14 @@ "format": "uint64", "type": "string" }, + "minimumRetention": { + "$ref": "Duration", + "description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." + }, + "multiTenantOnly": { + "description": "If true, this license can only be used on VMs on multi tenant nodes.", + "type": "boolean" + }, "name": { "annotations": { "required": [ @@ -67723,6 +67821,21 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "osLicense": { + "description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", + "type": "boolean" + }, + "removableFromDisk": { + "description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", + "type": "boolean" + }, + "requiredCoattachedLicenses": { + "description": "Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license.", + "items": { + "type": "string" + }, + "type": "array" + }, "resourceRequirements": { "$ref": "LicenseResourceRequirements" }, @@ -67734,9 +67847,17 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, + "soleTenantOnly": { + "description": "If true, this license can only be used on VMs on sole tenant nodes.", + "type": "boolean" + }, "transferable": { "description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", "type": "boolean" + }, + "updateTimestamp": { + "description": "[Output Only] Last update timestamp in RFC3339 text format.", + "type": "string" } }, "type": "object" @@ -67745,6 +67866,17 @@ "description": "Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", "id": "LicenseCode", "properties": { + "allowedReplacementLicenses": { + "description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appendableToDisk": { + "description": "If true, this license can be appended to an existing disk's set of licenses.", + "type": "boolean" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -67758,6 +67890,13 @@ "format": "uint64", "type": "string" }, + "incompatibleLicenses": { + "description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "default": "compute#licenseCode", "description": "[Output Only] Type of resource. Always compute#licenseCode for licenses.", @@ -67770,6 +67909,14 @@ }, "type": "array" }, + "minimumRetention": { + "$ref": "Duration", + "description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." + }, + "multiTenantOnly": { + "description": "If true, this license can only be used on VMs on multi tenant nodes.", + "type": "boolean" + }, "name": { "annotations": { "required": [ @@ -67780,10 +67927,29 @@ "pattern": "[0-9]{0,20}?", "type": "string" }, + "osLicense": { + "description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", + "type": "boolean" + }, + "removableFromDisk": { + "description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", + "type": "boolean" + }, + "requiredCoattachedLicenses": { + "description": "Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license.", + "items": { + "type": "string" + }, + "type": "array" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "soleTenantOnly": { + "description": "If true, this license can only be used on VMs on sole tenant nodes.", + "type": "boolean" + }, "state": { "description": "[Output Only] Current state of this License Code.", "enum": [ @@ -67805,6 +67971,10 @@ "transferable": { "description": "[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred.", "type": "boolean" + }, + "updateTimestamp": { + "description": "[Output Only] Last update timestamp in RFC3339 text format.", + "type": "string" } }, "type": "object" @@ -69846,10 +70016,6 @@ ], "type": "string" }, - "networkPlacement": { - "description": "A full or partial URL of the network placement to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkPlacements/{network_placement_name} - projects/{project_id}/global/networkPlacements/{network_placement_name} ", - "type": "string" - }, "networkProfile": { "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", "type": "string" @@ -72240,451 +72406,6 @@ }, "type": "object" }, - "NetworkPlacement": { - "description": "NetworkPlacement represents a Google managed network placement resource.", - "id": "NetworkPlacement", - "properties": { - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "[Output Only] An optional description of this resource.", - "type": "string" - }, - "features": { - "$ref": "NetworkPlacementNetworkFeatures", - "description": "[Output Only] Features supported by the network." - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#networkPlacement", - "description": "[Output Only] Type of the resource. Always compute#networkPlacement for network placements.", - "type": "string" - }, - "name": { - "description": "[Output Only] Name of the resource.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "zone": { - "description": "[Output Only] Zone to which the network is restricted.", - "type": "string" - } - }, - "type": "object" - }, - "NetworkPlacementNetworkFeatures": { - "id": "NetworkPlacementNetworkFeatures", - "properties": { - "allowAutoModeSubnet": { - "description": "Specifies whether auto mode subnet creation is allowed.", - "enum": [ - "AUTO_MODE_SUBNET_ALLOWED", - "AUTO_MODE_SUBNET_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowCloudNat": { - "description": "Specifies whether cloud NAT creation is allowed.", - "enum": [ - "CLOUD_NAT_ALLOWED", - "CLOUD_NAT_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowCloudRouter": { - "description": "Specifies whether cloud router creation is allowed.", - "enum": [ - "CLOUD_ROUTER_ALLOWED", - "CLOUD_ROUTER_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowInterconnect": { - "description": "Specifies whether Cloud Interconnect creation is allowed.", - "enum": [ - "INTERCONNECT_ALLOWED", - "INTERCONNECT_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowLoadBalancing": { - "description": "Specifies whether cloud load balancing is allowed.", - "enum": [ - "LOAD_BALANCING_ALLOWED", - "LOAD_BALANCING_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowMultiNicInSameNetwork": { - "description": "Specifies whether multi-nic in the same network is allowed.", - "enum": [ - "MULTI_NIC_IN_SAME_NETWORK_ALLOWED", - "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowPacketMirroring": { - "description": "Specifies whether Packet Mirroring 1.0 is supported.", - "enum": [ - "PACKET_MIRRORING_ALLOWED", - "PACKET_MIRRORING_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowPrivateGoogleAccess": { - "description": "Specifies whether private Google access is allowed.", - "enum": [ - "PRIVATE_GOOGLE_ACCESS_ALLOWED", - "PRIVATE_GOOGLE_ACCESS_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowPsc": { - "description": "Specifies whether PSC creation is allowed.", - "enum": [ - "PSC_ALLOWED", - "PSC_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowSameNetworkUnicast": { - "description": "Specifies whether unicast within the same network is allowed.", - "enum": [ - "SAME_NETWORK_UNICAST_ALLOWED", - "SAME_NETWORK_UNICAST_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowStaticRoutes": { - "description": "Specifies whether static route creation is allowed.", - "enum": [ - "STATIC_ROUTES_ALLOWED", - "STATIC_ROUTES_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowVpcPeering": { - "description": "Specifies whether VPC peering is allowed.", - "enum": [ - "VPC_PEERING_ALLOWED", - "VPC_PEERING_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowVpn": { - "description": "Specifies whether VPN creation is allowed.", - "enum": [ - "VPN_ALLOWED", - "VPN_BLOCKED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "allowedSubnetPurposes": { - "description": "Specifies which subnetwork purposes are supported.", - "items": { - "enum": [ - "SUBNET_PURPOSE_CUSTOM_HARDWARE", - "SUBNET_PURPOSE_PRIVATE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "allowedSubnetStackTypes": { - "description": "Specifies which subnetwork stack types are supported.", - "items": { - "enum": [ - "SUBNET_STACK_TYPE_IPV4_IPV6", - "SUBNET_STACK_TYPE_IPV4_ONLY", - "SUBNET_STACK_TYPE_IPV6_ONLY" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "interfaceTypes": { - "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", - "items": { - "enum": [ - "GVNIC", - "IDPF", - "UNSPECIFIED_NIC_TYPE", - "VIRTIO_NET" - ], - "enumDescriptions": [ - "GVNIC", - "IDPF", - "No type specified.", - "VIRTIO" - ], - "type": "string" - }, - "type": "array" - }, - "multicast": { - "description": "Specifies which type of multicast is supported.", - "enum": [ - "MULTICAST_SDN", - "MULTICAST_ULL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "unicast": { - "description": "Specifies which type of unicast is supported.", - "enum": [ - "UNICAST_SDN", - "UNICAST_ULL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NetworkPlacementsListResponse": { - "description": "Contains a list of network placements.", - "id": "NetworkPlacementsListResponse", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of NetworkPlacement resources.", - "items": { - "$ref": "NetworkPlacement" - }, - "type": "array" - }, - "kind": { - "default": "compute#networkPlacementList", - "description": "[Output Only] Type of resource. Always compute#networkPlacementList for network placements.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, "NetworkProfile": { "description": "NetworkProfile represents a Google managed network profile resource.", "id": "NetworkProfile", @@ -80532,36 +80253,401 @@ }, "type": "object" }, - "RegionCommitmentsUpdateReservationsRequest": { - "id": "RegionCommitmentsUpdateReservationsRequest", + "RegionCommitmentsUpdateReservationsRequest": { + "id": "RegionCommitmentsUpdateReservationsRequest", + "properties": { + "reservations": { + "description": "A list of two reservations to transfer GPUs and local SSD between.", + "items": { + "$ref": "Reservation" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionDiskTypeList": { + "id": "RegionDiskTypeList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of DiskType resources.", + "items": { + "$ref": "DiskType" + }, + "type": "array" + }, + "kind": { + "default": "compute#regionDiskTypeList", + "description": "[Output Only] Type of resource. Always compute#regionDiskTypeList for region disk types.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "RegionDisksAddResourcePoliciesRequest": { + "id": "RegionDisksAddResourcePoliciesRequest", + "properties": { + "resourcePolicies": { + "description": "Resource policies to be added to this disk.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionDisksRemoveResourcePoliciesRequest": { + "id": "RegionDisksRemoveResourcePoliciesRequest", + "properties": { + "resourcePolicies": { + "description": "Resource policies to be removed from this disk.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionDisksResizeRequest": { + "id": "RegionDisksResizeRequest", + "properties": { + "sizeGb": { + "description": "The new size of the regional persistent disk, which is specified in GB.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RegionDisksStartAsyncReplicationRequest": { + "id": "RegionDisksStartAsyncReplicationRequest", + "properties": { + "asyncSecondaryDisk": { + "description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "type": "string" + } + }, + "type": "object" + }, + "RegionInstanceGroupList": { + "description": "Contains a list of InstanceGroup resources.", + "id": "RegionInstanceGroupList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InstanceGroup resources.", + "items": { + "$ref": "InstanceGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#regionInstanceGroupList", + "description": "The resource type.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "RegionInstanceGroupManagerDeleteInstanceConfigReq": { + "description": "RegionInstanceGroupManagers.deletePerInstanceConfigs", + "id": "RegionInstanceGroupManagerDeleteInstanceConfigReq", "properties": { - "reservations": { - "description": "A list of two reservations to transfer GPUs and local SSD between.", + "names": { + "description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", "items": { - "$ref": "Reservation" + "type": "string" }, "type": "array" } }, "type": "object" }, - "RegionDiskTypeList": { - "id": "RegionDiskTypeList", + "RegionInstanceGroupManagerList": { + "description": "Contains a list of managed instance groups.", + "id": "RegionInstanceGroupManagerList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of DiskType resources.", + "description": "A list of InstanceGroupManager resources.", "items": { - "$ref": "DiskType" + "$ref": "InstanceGroupManager" }, "type": "array" }, "kind": { - "default": "compute#regionDiskTypeList", - "description": "[Output Only] Type of resource. Always compute#regionDiskTypeList for region disk types.", + "default": "compute#regionInstanceGroupManagerList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.", "type": "string" }, "nextPageToken": { @@ -80696,71 +80782,40 @@ }, "type": "object" }, - "RegionDisksAddResourcePoliciesRequest": { - "id": "RegionDisksAddResourcePoliciesRequest", - "properties": { - "resourcePolicies": { - "description": "Resource policies to be added to this disk.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RegionDisksRemoveResourcePoliciesRequest": { - "id": "RegionDisksRemoveResourcePoliciesRequest", + "RegionInstanceGroupManagerPatchInstanceConfigReq": { + "description": "RegionInstanceGroupManagers.patchPerInstanceConfigs", + "id": "RegionInstanceGroupManagerPatchInstanceConfigReq", "properties": { - "resourcePolicies": { - "description": "Resource policies to be removed from this disk.", + "perInstanceConfigs": { + "description": "The list of per-instance configurations to insert or patch on this managed instance group.", "items": { - "type": "string" + "$ref": "PerInstanceConfig" }, "type": "array" } }, "type": "object" }, - "RegionDisksResizeRequest": { - "id": "RegionDisksResizeRequest", + "RegionInstanceGroupManagerResizeRequestsListResponse": { + "id": "RegionInstanceGroupManagerResizeRequestsListResponse", "properties": { - "sizeGb": { - "description": "The new size of the regional persistent disk, which is specified in GB.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "RegionDisksStartAsyncReplicationRequest": { - "id": "RegionDisksStartAsyncReplicationRequest", - "properties": { - "asyncSecondaryDisk": { - "description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "etag": { "type": "string" - } - }, - "type": "object" - }, - "RegionInstanceGroupList": { - "description": "Contains a list of InstanceGroup resources.", - "id": "RegionInstanceGroupList", - "properties": { + }, "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of InstanceGroup resources.", + "description": "A list of Resize Request resources.", "items": { - "$ref": "InstanceGroup" + "$ref": "InstanceGroupManagerResizeRequest" }, "type": "array" }, "kind": { - "default": "compute#regionInstanceGroupList", - "description": "The resource type.", + "default": "compute#regionInstanceGroupManagerResizeRequestList", + "description": "[Output Only] Type of the resource. Always compute#regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.", "type": "string" }, "nextPageToken": { @@ -80771,171 +80826,12 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RegionInstanceGroupManagerDeleteInstanceConfigReq": { - "description": "RegionInstanceGroupManagers.deletePerInstanceConfigs", - "id": "RegionInstanceGroupManagerDeleteInstanceConfigReq", - "properties": { - "names": { - "description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "RegionInstanceGroupManagerList": { - "description": "Contains a list of managed instance groups.", - "id": "RegionInstanceGroupManagerList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of InstanceGroupManager resources.", - "items": { - "$ref": "InstanceGroupManager" - }, - "type": "array" - }, - "kind": { - "default": "compute#regionInstanceGroupManagerList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" }, "warning": { "description": "[Output Only] Informational warning message.", @@ -81061,20 +80957,6 @@ }, "type": "object" }, - "RegionInstanceGroupManagerPatchInstanceConfigReq": { - "description": "RegionInstanceGroupManagers.patchPerInstanceConfigs", - "id": "RegionInstanceGroupManagerPatchInstanceConfigReq", - "properties": { - "perInstanceConfigs": { - "description": "The list of per-instance configurations to insert or patch on this managed instance group.", - "items": { - "$ref": "PerInstanceConfig" - }, - "type": "array" - } - }, - "type": "object" - }, "RegionInstanceGroupManagerUpdateInstanceConfigReq": { "description": "RegionInstanceGroupManagers.updatePerInstanceConfigs", "id": "RegionInstanceGroupManagerUpdateInstanceConfigReq", @@ -82005,6 +81887,11 @@ "backendService": { "description": "The full or partial URL to the BackendService resource being mirrored to. The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map. Serverless NEG backends are not currently supported as a mirrored backend service. ", "type": "string" + }, + "mirrorPercent": { + "description": "The percentage of requests to be mirrored to `backend_service`.", + "format": "double", + "type": "number" } }, "type": "object" @@ -86781,6 +86668,26 @@ "terminationTime": { "description": "Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.", "type": "string" + }, + "windowsLicenseOptimizationMode": { + "description": "Represents the Windows Server License Optimization Mode of the VM. If unspecified, the default mode is `OFF`.", + "enum": [ + "AUTO", + "BALANCED", + "COST_OPTIMIZED", + "OFF", + "PERFORMANCE", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "\"Automatically maximize savings and minimize performance impact by matching license optimization mode to current CPU utilization.", + "Significant license cost savings via moderate throttles (40% baseline, 10 minute maximum burst at full utilization).", + "Maximum license cost savings via restrictive throttles (20% baseline, 3.75 minute maximum burst at full utilization).", + "No license cost savings with maximum CPU performance.", + "Moderate license cost savings via least restrictive throttles (60% baseline, 22.5 minute maximum burst at full utilization).", + "Unspecified license optimization mode defaults to `OFF`." + ], + "type": "string" } }, "type": "object" @@ -93459,6 +93366,7 @@ "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -93471,6 +93379,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -99114,6 +99023,7 @@ "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -99126,6 +99036,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 88bed026ce1..ff1784c3d20 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -206,7 +206,6 @@ func New(client *http.Client) (*Service, error) { s.NetworkEdgeSecurityServices = NewNetworkEdgeSecurityServicesService(s) s.NetworkEndpointGroups = NewNetworkEndpointGroupsService(s) s.NetworkFirewallPolicies = NewNetworkFirewallPoliciesService(s) - s.NetworkPlacements = NewNetworkPlacementsService(s) s.NetworkProfiles = NewNetworkProfilesService(s) s.Networks = NewNetworksService(s) s.NodeGroups = NewNodeGroupsService(s) @@ -370,8 +369,6 @@ type Service struct { NetworkFirewallPolicies *NetworkFirewallPoliciesService - NetworkPlacements *NetworkPlacementsService - NetworkProfiles *NetworkProfilesService Networks *NetworksService @@ -910,15 +907,6 @@ type NetworkFirewallPoliciesService struct { s *Service } -func NewNetworkPlacementsService(s *Service) *NetworkPlacementsService { - rs := &NetworkPlacementsService{s: s} - return rs -} - -type NetworkPlacementsService struct { - s *Service -} - func NewNetworkProfilesService(s *Service) *NetworkProfilesService { rs := &NetworkProfilesService{s: s} return rs @@ -4720,7 +4708,7 @@ type Backend struct { // and PSC NEGs. CapacityScaler float64 `json:"capacityScaler,omitempty"` // CustomMetrics: List of custom metrics that are used for CUSTOM_METRICS - // BalancingMode and WEIGHTED_ROUND_ROBIN BackendService locality_lb_policy. + // BalancingMode. CustomMetrics []*BackendCustomMetric `json:"customMetrics,omitempty"` // Description: An optional description of this resource. Provide this property // when you create the resource. @@ -5441,7 +5429,7 @@ func (s BackendBucketUsedBy) MarshalJSON() ([]byte, error) { } // BackendCustomMetric: Custom Metrics are used for CUSTOM_METRICS -// balancing_mode and WEIGHTED_ROUND_ROBIN BackendService locality_lb_policy. +// balancing_mode. type BackendCustomMetric struct { // DryRun: If true, the metric data is collected and reported to Cloud // Monitoring, but is not used for load balancing. @@ -5450,13 +5438,12 @@ type BackendCustomMetric struct { // Custom Metrics balancing mode. The valid range is [0.0, 1.0]. MaxUtilization float64 `json:"maxUtilization,omitempty"` // Name: Name of a custom utilization signal. The name must be 1-64 characters - // long, and comply with relaxed RFC1035. Specifically, the name must be 1-64 - // characters long and match the regular expression a-z ([-_.a-z0-9]*[a-z0-9])? - // which means the first character must be a lowercase letter, and all - // following characters must be a dash, period, underscore, lowercase letter, - // or digit, except the last character, which cannot be a dash, period, or - // underscore. For usage guidelines, see Custom Metrics balancing mode. This - // field can only be used for a global or regional backend service with the + // long and match the regular expression a-z ([-_.a-z0-9]*[a-z0-9])? which + // means the first character must be a lowercase letter, and all following + // characters must be a dash, period, underscore, lowercase letter, or digit, + // except the last character, which cannot be a dash, period, or underscore. + // For usage guidelines, see Custom Metrics balancing mode. This field can only + // be used for a global or regional backend service with the // loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED // INTERNAL_SELF_MANAGED. Name string `json:"name,omitempty"` @@ -13769,15 +13756,42 @@ type FutureReservation struct { // values is specified. For keeping auto-created reservation indefinitely, this // value should be set to false. AutoDeleteAutoCreatedReservations bool `json:"autoDeleteAutoCreatedReservations,omitempty"` + // CommitmentInfo: If not present, then FR will not deliver a new commitment or + // update an existing commitment. + CommitmentInfo *FutureReservationCommitmentInfo `json:"commitmentInfo,omitempty"` // CreationTimestamp: [Output Only] The creation timestamp for this future // reservation in RFC3339 text format. CreationTimestamp string `json:"creationTimestamp,omitempty"` + // DeploymentType: Type of the deployment requested as part of future + // reservation. + // + // Possible values: + // "DENSE" - Number of deployment blocks, size, and topology is fixed during + // creation and does not change over time. Deployment will be expressed in + // terms of blocks. + // "DEPLOYMENT_TYPE_UNSPECIFIED" - Deployment type is unspecified. + // "FLEXIBLE" - Distribution of capacity in blocks is not static and can + // change over time. This is expected to have more obtainability over DENSE + // deployment. Deployment will not be expressed in terms of blocks. + DeploymentType string `json:"deploymentType,omitempty"` // Description: An optional description of this resource. Provide this property // when you create the future reservation. Description string `json:"description,omitempty"` + // EnableOpportunisticMaintenance: Indicates if this group of VMs have + // opportunistic maintenance enabled. This will be set on the FR by customers, + // and will be used for reservation and reservation block maintenance . + EnableOpportunisticMaintenance bool `json:"enableOpportunisticMaintenance,omitempty"` // Id: [Output Only] A unique identifier for this future reservation. The // server defines this identifier. Id uint64 `json:"id,omitempty,string"` + // InstanceTerminationAction: Action to take during reservation termination. + // + // Possible values: + // "DELETE" - Delete the VM. + // "INSTANCE_TERMINATION_ACTION_UNSPECIFIED" - Default value. This value is + // unused. + // "STOP" - Stop the VM without storing in-memory content. default action. + InstanceTerminationAction string `json:"instanceTerminationAction,omitempty"` // Kind: [Output Only] Type of the resource. Always compute#futureReservation // for future reservations. Kind string `json:"kind,omitempty"` @@ -13801,6 +13815,24 @@ type FutureReservation struct { // "PLANNING_STATUS_UNSPECIFIED" // "SUBMITTED" - Future Reservation has been submitted for evaluation by GCP. PlanningStatus string `json:"planningStatus,omitempty"` + // ReservationName: Name of reservations where the capacity is provisioned at + // the time of delivery of future reservations. If the reservation with the + // given name does not exist already, it is created automatically at the time + // of Approval with INACTIVE state till specified start-time. Either provide + // the reservation_name or a name_prefix. + ReservationName string `json:"reservationName,omitempty"` + // SchedulingType: Indicates the maintenance type for this group of VMs. This + // will be set on the reservation via FR, and will be inherited for reservation + // blocks. + // + // Possible values: + // "GROUPED" - Synchronized maintenance. Common maintenance schedule/window + // is defined for this group of VMs. Not applicable for FLEXIBLE reservation + // "GROUP_MAINTENANCE_TYPE_UNSPECIFIED" - Unknown maintenance type. + // "INDEPENDENT" - Unsynchronized maintenance. These group of VMs do not + // share a common schedule for maintenance. Instead all VMs have individual + // windows of their own in which maintenance is scheduled. + SchedulingType string `json:"schedulingType,omitempty"` // SelfLink: [Output Only] Server-defined fully-qualified URL for this // resource. SelfLink string `json:"selfLink,omitempty"` @@ -13847,6 +13879,49 @@ func (s FutureReservation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type FutureReservationCommitmentInfo struct { + // CommitmentName: name of the commitment where capacity is being delivered to. + // In the form of + // "projects/{project-id}/locations/{region-name}/commitment/{name}" + CommitmentName string `json:"commitmentName,omitempty"` + // CommitmentPlan: Indicates if a Commitment needs to be created as part of FR + // delivery. If this field is not present, then no commitment needs to be + // created. + // + // Possible values: + // "INVALID" + // "THIRTY_SIX_MONTH" + // "TWELVE_MONTH" + CommitmentPlan string `json:"commitmentPlan,omitempty"` + // PreviousCommitmentTerms: Only applicable if FR is delivering to the same + // reservation. If set, all parent commitments will be extended to match the + // end date of the plan for this commitment. + // + // Possible values: + // "EXTEND" - All associated parent Committed Used Discount(s) end-date/term + // will be extended to the end-time of this future reservation. Default is to + // extend previous commitment(s) time to the end_time of the reservation. + // "PREVIOUSCOMMITMENTTERM_UNSPECIFIED" - No changes to associated parents + // Committed Used Discount(s) terms. + PreviousCommitmentTerms string `json:"previousCommitmentTerms,omitempty"` + // ForceSendFields is a list of field names (e.g. "CommitmentName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CommitmentName") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s FutureReservationCommitmentInfo) MarshalJSON() ([]byte, error) { + type NoMethod FutureReservationCommitmentInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type FutureReservationSpecificSKUProperties struct { // InstanceProperties: Properties of the SKU instances being reserved. InstanceProperties *AllocationSpecificSKUAllocationReservedInstanceProperties `json:"instanceProperties,omitempty"` @@ -25034,8 +25109,12 @@ func (s Interconnect) MarshalJSON() ([]byte, error) { type InterconnectApplicationAwareInterconnect struct { BandwidthPercentagePolicy *InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy `json:"bandwidthPercentagePolicy,omitempty"` // ProfileDescription: A description for the AAI profile on this interconnect. - ProfileDescription string `json:"profileDescription,omitempty"` - StrictPriorityPolicy *InterconnectApplicationAwareInterconnectStrictPriorityPolicy `json:"strictPriorityPolicy,omitempty"` + ProfileDescription string `json:"profileDescription,omitempty"` + // ShapeAveragePercentages: Optional field to specify a list of shape average + // percentages to be applied in conjunction with StrictPriorityPolicy or + // BandwidthPercentagePolicy. + ShapeAveragePercentages []*InterconnectApplicationAwareInterconnectBandwidthPercentage `json:"shapeAveragePercentages,omitempty"` + StrictPriorityPolicy *InterconnectApplicationAwareInterconnectStrictPriorityPolicy `json:"strictPriorityPolicy,omitempty"` // ForceSendFields is a list of field names (e.g. "BandwidthPercentagePolicy") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -27805,6 +27884,13 @@ func (s JwtHeader) MarshalJSON() ([]byte, error) { // resource is intended for use only by third-party partners who are creating // Cloud Marketplace images. type License struct { + // AllowedReplacementLicenses: Specifies licenseCodes of licenses that can + // replace this license. Note: such replacements are allowed even if + // removable_from_disk is false. + AllowedReplacementLicenses []string `json:"allowedReplacementLicenses,omitempty"` + // AppendableToDisk: If true, this license can be appended to an existing + // disk's set of licenses. + AppendableToDisk bool `json:"appendableToDisk,omitempty"` // ChargesUseFee: [Output Only] Deprecated. This field no longer reflects // whether a license charges a usage fee. ChargesUseFee bool `json:"chargesUseFee,omitempty"` @@ -27816,36 +27902,63 @@ type License struct { // Id: [Output Only] The unique identifier for the resource. This identifier is // defined by the server. Id uint64 `json:"id,omitempty,string"` + // IncompatibleLicenses: Specifies licenseCodes of licenses that are + // incompatible with this license. If a license is incompatible with this + // license, it cannot be attached to the same disk or image. + IncompatibleLicenses []string `json:"incompatibleLicenses,omitempty"` // Kind: [Output Only] Type of resource. Always compute#license for licenses. Kind string `json:"kind,omitempty"` // LicenseCode: [Output Only] The unique code used to attach this license to // images, snapshots, and disks. LicenseCode uint64 `json:"licenseCode,omitempty,string"` + // MinimumRetention: If set, this license will be unable to be removed or + // replaced once attached to a disk until the minimum_retention period has + // passed. + MinimumRetention *Duration `json:"minimumRetention,omitempty"` + // MultiTenantOnly: If true, this license can only be used on VMs on multi + // tenant nodes. + MultiTenantOnly bool `json:"multiTenantOnly,omitempty"` // Name: Name of the resource. The name must be 1-63 characters long and comply // with RFC1035. - Name string `json:"name,omitempty"` - ResourceRequirements *LicenseResourceRequirements `json:"resourceRequirements,omitempty"` + Name string `json:"name,omitempty"` + // OsLicense: If true, indicates this is an OS license. Only one OS license can + // be attached to a disk or image at a time. + OsLicense bool `json:"osLicense,omitempty"` + // RemovableFromDisk: If true, this license can be removed from a disk's set of + // licenses, with no replacement license needed. + RemovableFromDisk bool `json:"removableFromDisk,omitempty"` + // RequiredCoattachedLicenses: Specifies the set of permissible coattached + // licenseCodes of licenses that satisfy the coattachment requirement of this + // license. At least one license from the set must be attached to the same disk + // or image as this license. + RequiredCoattachedLicenses []string `json:"requiredCoattachedLicenses,omitempty"` + ResourceRequirements *LicenseResourceRequirements `json:"resourceRequirements,omitempty"` // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` // SelfLinkWithId: [Output Only] Server-defined URL for this resource with the // resource id. SelfLinkWithId string `json:"selfLinkWithId,omitempty"` + // SoleTenantOnly: If true, this license can only be used on VMs on sole tenant + // nodes. + SoleTenantOnly bool `json:"soleTenantOnly,omitempty"` // Transferable: If false, licenses will not be copied from the source resource // when creating an image from a disk, disk from snapshot, or snapshot from // disk. Transferable bool `json:"transferable,omitempty"` + // UpdateTimestamp: [Output Only] Last update timestamp in RFC3339 text format. + UpdateTimestamp string `json:"updateTimestamp,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ChargesUseFee") to - // unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "AllowedReplacementLicenses") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChargesUseFee") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "AllowedReplacementLicenses") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -27860,6 +27973,13 @@ func (s License) MarshalJSON() ([]byte, error) { // intended for use only by third-party partners who are creating Cloud // Marketplace images. type LicenseCode struct { + // AllowedReplacementLicenses: Specifies licenseCodes of licenses that can + // replace this license. Note: such replacements are allowed even if + // removable_from_disk is false. + AllowedReplacementLicenses []string `json:"allowedReplacementLicenses,omitempty"` + // AppendableToDisk: If true, this license can be appended to an existing + // disk's set of licenses. + AppendableToDisk bool `json:"appendableToDisk,omitempty"` // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text format. CreationTimestamp string `json:"creationTimestamp,omitempty"` // Description: [Output Only] Description of this License Code. @@ -27867,17 +27987,42 @@ type LicenseCode struct { // Id: [Output Only] The unique identifier for the resource. This identifier is // defined by the server. Id uint64 `json:"id,omitempty,string"` + // IncompatibleLicenses: Specifies licenseCodes of licenses that are + // incompatible with this license. If a license is incompatible with this + // license, it cannot be attached to the same disk or image. + IncompatibleLicenses []string `json:"incompatibleLicenses,omitempty"` // Kind: [Output Only] Type of resource. Always compute#licenseCode for // licenses. Kind string `json:"kind,omitempty"` // LicenseAlias: [Output Only] URL and description aliases of Licenses with the // same License Code. LicenseAlias []*LicenseCodeLicenseAlias `json:"licenseAlias,omitempty"` + // MinimumRetention: If set, this license will be unable to be removed or + // replaced once attached to a disk until the minimum_retention period has + // passed. + MinimumRetention *Duration `json:"minimumRetention,omitempty"` + // MultiTenantOnly: If true, this license can only be used on VMs on multi + // tenant nodes. + MultiTenantOnly bool `json:"multiTenantOnly,omitempty"` // Name: [Output Only] Name of the resource. The name is 1-20 characters long // and must be a valid 64 bit integer. Name string `json:"name,omitempty"` + // OsLicense: If true, indicates this is an OS license. Only one OS license can + // be attached to a disk or image at a time. + OsLicense bool `json:"osLicense,omitempty"` + // RemovableFromDisk: If true, this license can be removed from a disk's set of + // licenses, with no replacement license needed. + RemovableFromDisk bool `json:"removableFromDisk,omitempty"` + // RequiredCoattachedLicenses: Specifies the set of permissible coattached + // licenseCodes of licenses that satisfy the coattachment requirement of this + // license. At least one license from the set must be attached to the same disk + // or image as this license. + RequiredCoattachedLicenses []string `json:"requiredCoattachedLicenses,omitempty"` // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` + // SoleTenantOnly: If true, this license can only be used on VMs on sole tenant + // nodes. + SoleTenantOnly bool `json:"soleTenantOnly,omitempty"` // State: [Output Only] Current state of this License Code. // // Possible values: @@ -27894,18 +28039,20 @@ type LicenseCode struct { // creating images or snapshots from disks. Otherwise, the license is not // transferred. Transferable bool `json:"transferable,omitempty"` + // UpdateTimestamp: [Output Only] Last update timestamp in RFC3339 text format. + UpdateTimestamp string `json:"updateTimestamp,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to - // unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "AllowedReplacementLicenses") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreationTimestamp") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "AllowedReplacementLicenses") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -30248,12 +30395,6 @@ type Network struct { // "AFTER_CLASSIC_FIREWALL" // "BEFORE_CLASSIC_FIREWALL" NetworkFirewallPolicyEnforcementOrder string `json:"networkFirewallPolicyEnforcementOrder,omitempty"` - // NetworkPlacement: A full or partial URL of the network placement to apply to - // this network. This field can be set only at resource creation time. For - // example, the following are valid URLs: - - // https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkPlacements/{network_placement_name} - // - projects/{project_id}/global/networkPlacements/{network_placement_name} - NetworkPlacement string `json:"networkPlacement,omitempty"` // NetworkProfile: A full or partial URL of the network profile to apply to // this network. This field can be set only at resource creation time. For // example, the following are valid URLs: - @@ -32829,345 +32970,6 @@ func (s NetworkPerformanceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// NetworkPlacement: NetworkPlacement represents a Google managed network -// placement resource. -type NetworkPlacement struct { - // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text format. - CreationTimestamp string `json:"creationTimestamp,omitempty"` - // Description: [Output Only] An optional description of this resource. - Description string `json:"description,omitempty"` - // Features: [Output Only] Features supported by the network. - Features *NetworkPlacementNetworkFeatures `json:"features,omitempty"` - // Id: [Output Only] The unique identifier for the resource. This identifier is - // defined by the server. - Id uint64 `json:"id,omitempty,string"` - // Kind: [Output Only] Type of the resource. Always compute#networkPlacement - // for network placements. - Kind string `json:"kind,omitempty"` - // Name: [Output Only] Name of the resource. - Name string `json:"name,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. - SelfLink string `json:"selfLink,omitempty"` - // SelfLinkWithId: [Output Only] Server-defined URL for this resource with the - // resource id. - SelfLinkWithId string `json:"selfLinkWithId,omitempty"` - // Zone: [Output Only] Zone to which the network is restricted. - Zone string `json:"zone,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreationTimestamp") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreationTimestamp") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s NetworkPlacement) MarshalJSON() ([]byte, error) { - type NoMethod NetworkPlacement - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type NetworkPlacementNetworkFeatures struct { - // AllowAutoModeSubnet: Specifies whether auto mode subnet creation is allowed. - // - // Possible values: - // "AUTO_MODE_SUBNET_ALLOWED" - // "AUTO_MODE_SUBNET_BLOCKED" - AllowAutoModeSubnet string `json:"allowAutoModeSubnet,omitempty"` - // AllowCloudNat: Specifies whether cloud NAT creation is allowed. - // - // Possible values: - // "CLOUD_NAT_ALLOWED" - // "CLOUD_NAT_BLOCKED" - AllowCloudNat string `json:"allowCloudNat,omitempty"` - // AllowCloudRouter: Specifies whether cloud router creation is allowed. - // - // Possible values: - // "CLOUD_ROUTER_ALLOWED" - // "CLOUD_ROUTER_BLOCKED" - AllowCloudRouter string `json:"allowCloudRouter,omitempty"` - // AllowInterconnect: Specifies whether Cloud Interconnect creation is allowed. - // - // Possible values: - // "INTERCONNECT_ALLOWED" - // "INTERCONNECT_BLOCKED" - AllowInterconnect string `json:"allowInterconnect,omitempty"` - // AllowLoadBalancing: Specifies whether cloud load balancing is allowed. - // - // Possible values: - // "LOAD_BALANCING_ALLOWED" - // "LOAD_BALANCING_BLOCKED" - AllowLoadBalancing string `json:"allowLoadBalancing,omitempty"` - // AllowMultiNicInSameNetwork: Specifies whether multi-nic in the same network - // is allowed. - // - // Possible values: - // "MULTI_NIC_IN_SAME_NETWORK_ALLOWED" - // "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" - AllowMultiNicInSameNetwork string `json:"allowMultiNicInSameNetwork,omitempty"` - // AllowPacketMirroring: Specifies whether Packet Mirroring 1.0 is supported. - // - // Possible values: - // "PACKET_MIRRORING_ALLOWED" - // "PACKET_MIRRORING_BLOCKED" - AllowPacketMirroring string `json:"allowPacketMirroring,omitempty"` - // AllowPrivateGoogleAccess: Specifies whether private Google access is - // allowed. - // - // Possible values: - // "PRIVATE_GOOGLE_ACCESS_ALLOWED" - // "PRIVATE_GOOGLE_ACCESS_BLOCKED" - AllowPrivateGoogleAccess string `json:"allowPrivateGoogleAccess,omitempty"` - // AllowPsc: Specifies whether PSC creation is allowed. - // - // Possible values: - // "PSC_ALLOWED" - // "PSC_BLOCKED" - AllowPsc string `json:"allowPsc,omitempty"` - // AllowSameNetworkUnicast: Specifies whether unicast within the same network - // is allowed. - // - // Possible values: - // "SAME_NETWORK_UNICAST_ALLOWED" - // "SAME_NETWORK_UNICAST_BLOCKED" - AllowSameNetworkUnicast string `json:"allowSameNetworkUnicast,omitempty"` - // AllowStaticRoutes: Specifies whether static route creation is allowed. - // - // Possible values: - // "STATIC_ROUTES_ALLOWED" - // "STATIC_ROUTES_BLOCKED" - AllowStaticRoutes string `json:"allowStaticRoutes,omitempty"` - // AllowVpcPeering: Specifies whether VPC peering is allowed. - // - // Possible values: - // "VPC_PEERING_ALLOWED" - // "VPC_PEERING_BLOCKED" - AllowVpcPeering string `json:"allowVpcPeering,omitempty"` - // AllowVpn: Specifies whether VPN creation is allowed. - // - // Possible values: - // "VPN_ALLOWED" - // "VPN_BLOCKED" - AllowVpn string `json:"allowVpn,omitempty"` - // AllowedSubnetPurposes: Specifies which subnetwork purposes are supported. - // - // Possible values: - // "SUBNET_PURPOSE_CUSTOM_HARDWARE" - // "SUBNET_PURPOSE_PRIVATE" - AllowedSubnetPurposes []string `json:"allowedSubnetPurposes,omitempty"` - // AllowedSubnetStackTypes: Specifies which subnetwork stack types are - // supported. - // - // Possible values: - // "SUBNET_STACK_TYPE_IPV4_IPV6" - // "SUBNET_STACK_TYPE_IPV4_ONLY" - // "SUBNET_STACK_TYPE_IPV6_ONLY" - AllowedSubnetStackTypes []string `json:"allowedSubnetStackTypes,omitempty"` - // InterfaceTypes: If set, limits the interface types that the network - // supports. If empty, all interface types are supported. - // - // Possible values: - // "GVNIC" - GVNIC - // "IDPF" - IDPF - // "UNSPECIFIED_NIC_TYPE" - No type specified. - // "VIRTIO_NET" - VIRTIO - InterfaceTypes []string `json:"interfaceTypes,omitempty"` - // Multicast: Specifies which type of multicast is supported. - // - // Possible values: - // "MULTICAST_SDN" - // "MULTICAST_ULL" - Multicast string `json:"multicast,omitempty"` - // Unicast: Specifies which type of unicast is supported. - // - // Possible values: - // "UNICAST_SDN" - // "UNICAST_ULL" - Unicast string `json:"unicast,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowAutoModeSubnet") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowAutoModeSubnet") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s NetworkPlacementNetworkFeatures) MarshalJSON() ([]byte, error) { - type NoMethod NetworkPlacementNetworkFeatures - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -// NetworkPlacementsListResponse: Contains a list of network placements. -type NetworkPlacementsListResponse struct { - Etag string `json:"etag,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the server. - Id string `json:"id,omitempty"` - // Items: A list of NetworkPlacement resources. - Items []*NetworkPlacement `json:"items,omitempty"` - // Kind: [Output Only] Type of resource. Always compute#networkPlacementList - // for network placements. - Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] This token allows you to get the next page of - // results for list requests. If the number of results is larger than - // maxResults, use the nextPageToken as a value for the query parameter - // pageToken in the next list request. Subsequent list requests will have their - // own nextPageToken to continue paging through the results. - NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for this resource. - SelfLink string `json:"selfLink,omitempty"` - // Unreachables: [Output Only] Unreachable resources. end_interface: - // MixerListResponseWithEtagBuilder - Unreachables []string `json:"unreachables,omitempty"` - // Warning: [Output Only] Informational warning message. - Warning *NetworkPlacementsListResponseWarning `json:"warning,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Etag") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s NetworkPlacementsListResponse) MarshalJSON() ([]byte, error) { - type NoMethod NetworkPlacementsListResponse - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -// NetworkPlacementsListResponseWarning: [Output Only] Informational warning -// message. -type NetworkPlacementsListResponseWarning struct { - // Code: [Output Only] A warning code, if applicable. For example, Compute - // Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. - // - // Possible values: - // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made - // by a failed operation. - // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created. - // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources - // has a type marked as deprecated - // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is - // larger than image size. - // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the - // resources has a type marked as experimental - // "EXTERNAL_API_WARNING" - Warning that is present in an external api call - // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been - // overridden. Deprecated unused field. - // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected - // kernel, which is deprecated. - // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend - // service is associated with a health check that is not of type - // HTTP/HTTPS/HTTP2. - // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a - // exceedingly large number of resources - // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list - // overhead quota exceed which captures the amount of resources filtered out by - // user-defined list filter. - // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type - // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not - // assigned to an instance on the network. - // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip - // forward. - // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance - // URL refers to an instance that does not have an ipv6 interface on the same - // network as the route. - // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to - // an instance that does not exist. - // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL - // refers to an instance that is not on the same network as the route. - // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a - // status of RUNNING. - // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue - // the process despite the mentioned error. - // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page. - // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing - // due to errors - // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that - // requires a TOS they have not accepted. - // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is - // in use. - // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete - // could not be deleted because they were in use. - // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is - // ignored. - // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance - // group manager is valid as such, but its application does not make a lot of - // sense, because it allows only single instance in instance group. - // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are - // present - // "UNREACHABLE" - A given scope cannot be reached. - Code string `json:"code,omitempty"` - // Data: [Output Only] Metadata about this warning in key: value format. For - // example: "data": [ { "key": "scope", "value": "zones/us-east1-d" } - Data []*NetworkPlacementsListResponseWarningData `json:"data,omitempty"` - // Message: [Output Only] A human-readable description of the warning code. - Message string `json:"message,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s NetworkPlacementsListResponseWarning) MarshalJSON() ([]byte, error) { - type NoMethod NetworkPlacementsListResponseWarning - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -type NetworkPlacementsListResponseWarningData struct { - // Key: [Output Only] A key that provides more detail on the warning being - // returned. For example, for warnings where there are no results in a list - // request for a particular zone, this key might be scope and the key value - // might be the zone name. Other examples might be a key indicating a - // deprecated resource and a suggested replacement, or a warning about invalid - // network settings (for example, if an instance attempts to perform IP - // forwarding but is not enabled for IP forwarding). - Key string `json:"key,omitempty"` - // Value: [Output Only] A warning data value corresponding to the key. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Key") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Key") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s NetworkPlacementsListResponseWarningData) MarshalJSON() ([]byte, error) { - type NoMethod NetworkPlacementsListResponseWarningData - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // NetworkProfile: NetworkProfile represents a Google managed network profile // resource. type NetworkProfile struct { @@ -41865,6 +41667,165 @@ func (s RegionInstanceGroupManagerPatchInstanceConfigReq) MarshalJSON() ([]byte, return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type RegionInstanceGroupManagerResizeRequestsListResponse struct { + Etag string `json:"etag,omitempty"` + // Id: [Output Only] Unique identifier for the resource; defined by the server. + Id string `json:"id,omitempty"` + // Items: A list of Resize Request resources. + Items []*InstanceGroupManagerResizeRequest `json:"items,omitempty"` + // Kind: [Output Only] Type of the resource. Always + // compute#regionInstanceGroupManagerResizeRequestList for a list of Resize + // Requests. + Kind string `json:"kind,omitempty"` + // NextPageToken: [Output Only] This token allows you to get the next page of + // results for list requests. If the number of results is larger than + // maxResults, use the nextPageToken as a value for the query parameter + // pageToken in the next list request. Subsequent list requests will have their + // own nextPageToken to continue paging through the results. + NextPageToken string `json:"nextPageToken,omitempty"` + // SelfLink: [Output Only] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + // Unreachables: [Output Only] Unreachable resources. end_interface: + // MixerListResponseWithEtagBuilder + Unreachables []string `json:"unreachables,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupManagerResizeRequestsListResponseWarning `json:"warning,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Etag") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RegionInstanceGroupManagerResizeRequestsListResponse) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupManagerResizeRequestsListResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RegionInstanceGroupManagerResizeRequestsListResponseWarning: [Output Only] +// Informational warning message. +type RegionInstanceGroupManagerResizeRequestsListResponseWarning struct { + // Code: [Output Only] A warning code, if applicable. For example, Compute + // Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + // + // Possible values: + // "CLEANUP_FAILED" - Warning about failed cleanup of transient changes made + // by a failed operation. + // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was created. + // "DEPRECATED_TYPE_USED" - When deploying and at least one of the resources + // has a type marked as deprecated + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk that is + // larger than image size. + // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as experimental + // "EXTERNAL_API_WARNING" - Warning that is present in an external api call + // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been + // overridden. Deprecated unused field. + // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an injected + // kernel, which is deprecated. + // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV backend + // service is associated with a health check that is not of type + // HTTP/HTTPS/HTTP2. + // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a + // exceedingly large number of resources + // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to list + // overhead quota exceed which captures the amount of resources filtered out by + // user-defined list filter. + // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is not + // assigned to an instance on the network. + // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot ip + // forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's nextHopInstance + // URL refers to an instance that does not have an ipv6 interface on the same + // network as the route. + // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL refers to + // an instance that does not exist. + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance URL + // refers to an instance that is not on the same network as the route. + // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not have a + // status of RUNNING. + // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to continue + // the process despite the mentioned error. + // "NO_RESULTS_ON_PAGE" - No results are present on a particular list page. + // "PARTIAL_SUCCESS" - Success is reported, but some results may be missing + // due to errors + // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource that + // requires a TOS they have not accepted. + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a resource is + // in use. + // "RESOURCE_NOT_DELETED" - One or more of the resources set to auto-delete + // could not be deleted because they were in use. + // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is + // ignored. + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in instance + // group manager is valid as such, but its application does not make a lot of + // sense, because it allows only single instance in instance group. + // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema are + // present + // "UNREACHABLE" - A given scope cannot be reached. + Code string `json:"code,omitempty"` + // Data: [Output Only] Metadata about this warning in key: value format. For + // example: "data": [ { "key": "scope", "value": "zones/us-east1-d" } + Data []*RegionInstanceGroupManagerResizeRequestsListResponseWarningData `json:"data,omitempty"` + // Message: [Output Only] A human-readable description of the warning code. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Code") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Code") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RegionInstanceGroupManagerResizeRequestsListResponseWarning) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupManagerResizeRequestsListResponseWarning + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupManagerResizeRequestsListResponseWarningData struct { + // Key: [Output Only] A key that provides more detail on the warning being + // returned. For example, for warnings where there are no results in a list + // request for a particular zone, this key might be scope and the key value + // might be the zone name. Other examples might be a key indicating a + // deprecated resource and a suggested replacement, or a warning about invalid + // network settings (for example, if an instance attempts to perform IP + // forwarding but is not enabled for IP forwarding). + Key string `json:"key,omitempty"` + // Value: [Output Only] A warning data value corresponding to the key. + Value string `json:"value,omitempty"` + // ForceSendFields is a list of field names (e.g. "Key") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Key") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RegionInstanceGroupManagerResizeRequestsListResponseWarningData) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupManagerResizeRequestsListResponseWarningData + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RegionInstanceGroupManagerUpdateInstanceConfigReq: // RegionInstanceGroupManagers.updatePerInstanceConfigs type RegionInstanceGroupManagerUpdateInstanceConfigReq struct { @@ -43050,6 +43011,9 @@ type RequestMirrorPolicy struct { // matched in the URL map. Serverless NEG backends are not currently supported // as a mirrored backend service. BackendService string `json:"backendService,omitempty"` + // MirrorPercent: The percentage of requests to be mirrored to + // `backend_service`. + MirrorPercent float64 `json:"mirrorPercent,omitempty"` // ForceSendFields is a list of field names (e.g. "BackendService") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -43068,6 +43032,20 @@ func (s RequestMirrorPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +func (s *RequestMirrorPolicy) UnmarshalJSON(data []byte) error { + type NoMethod RequestMirrorPolicy + var s1 struct { + MirrorPercent gensupport.JSONFloat64 `json:"mirrorPercent"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.MirrorPercent = float64(s1.MirrorPercent) + return nil +} + // Reservation: Represents a reservation resource. A reservation ensures that // capacity is held in a specific zone even if the reserved VMs are not // running. For more information, read Reserving zonal resources. @@ -48033,6 +48011,21 @@ type Scheduling struct { // terminated, in RFC3339 text format. If specified, the instance termination // action will be performed at the termination time. TerminationTime string `json:"terminationTime,omitempty"` + // WindowsLicenseOptimizationMode: Represents the Windows Server License + // Optimization Mode of the VM. If unspecified, the default mode is `OFF`. + // + // Possible values: + // "AUTO" - "Automatically maximize savings and minimize performance impact + // by matching license optimization mode to current CPU utilization. + // "BALANCED" - Significant license cost savings via moderate throttles (40% + // baseline, 10 minute maximum burst at full utilization). + // "COST_OPTIMIZED" - Maximum license cost savings via restrictive throttles + // (20% baseline, 3.75 minute maximum burst at full utilization). + // "OFF" - No license cost savings with maximum CPU performance. + // "PERFORMANCE" - Moderate license cost savings via least restrictive + // throttles (60% baseline, 22.5 minute maximum burst at full utilization). + // "UNSPECIFIED" - Unspecified license optimization mode defaults to `OFF`. + WindowsLicenseOptimizationMode string `json:"windowsLicenseOptimizationMode,omitempty"` // ForceSendFields is a list of field names (e.g. "AutomaticRestart") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -55316,6 +55309,8 @@ type Subnetwork struct { // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal HTTP(S) Load // Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY // instead. + // "MIGRATION" - Subnetwork will be used for Migration (a transient state of + // subnetwork while migrating resources from one project to another). // "PRIVATE" - Regular user created or automatically created subnet. // "PRIVATE_NAT" - Subnetwork used as source range for Private NAT Gateways. // "PRIVATE_RFC_1918" - Regular user created or automatically created subnet. @@ -61689,6 +61684,8 @@ type UsableSubnetwork struct { // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal HTTP(S) Load // Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY // instead. + // "MIGRATION" - Subnetwork will be used for Migration (a transient state of + // subnetwork while migrating resources from one project to another). // "PRIVATE" - Regular user created or automatically created subnet. // "PRIVATE_NAT" - Subnetwork used as source range for Private NAT Gateways. // "PRIVATE_RFC_1918" - Regular user created or automatically created subnet. diff --git a/compute/v0.alpha/compute2-gen.go b/compute/v0.alpha/compute2-gen.go index 75167726c3f..3eb224a579a 100644 --- a/compute/v0.alpha/compute2-gen.go +++ b/compute/v0.alpha/compute2-gen.go @@ -54912,326 +54912,6 @@ func (c *NetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.Cal return ret, nil } -type NetworkPlacementsGetCall struct { - s *Service - project string - networkPlacement string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Returns the specified network placement. -// -// - networkPlacement: Name of the network placement to return. -// - project: Project ID for this request. -func (r *NetworkPlacementsService) Get(project string, networkPlacement string) *NetworkPlacementsGetCall { - c := &NetworkPlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.networkPlacement = networkPlacement - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more -// details. -func (c *NetworkPlacementsGetCall) Fields(s ...googleapi.Field) *NetworkPlacementsGetCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets an optional parameter which makes the operation fail if the -// object's ETag matches the given value. This is useful for getting updates -// only after the object has changed since the last request. -func (c *NetworkPlacementsGetCall) IfNoneMatch(entityTag string) *NetworkPlacementsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *NetworkPlacementsGetCall) Context(ctx context.Context) *NetworkPlacementsGetCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *NetworkPlacementsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *NetworkPlacementsGetCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkPlacements/{networkPlacement}") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "networkPlacement": c.networkPlacement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.networkPlacements.get" call. -// Any non-2xx status code is an error. Response headers are in either -// *NetworkPlacement.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified was -// returned. -func (c *NetworkPlacementsGetCall) Do(opts ...googleapi.CallOption) (*NetworkPlacement, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &NetworkPlacement{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - -type NetworkPlacementsListCall struct { - s *Service - project string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Retrieves a list of network placements available to the specified -// project. -// -// - project: Project ID for this request. -func (r *NetworkPlacementsService) List(project string) *NetworkPlacementsListCall { - c := &NetworkPlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - return c -} - -// Filter sets the optional parameter "filter": A filter expression that -// filters resources listed in the response. Most Compute resources support two -// types of filter expressions: expressions that support regular expressions -// and expressions that follow API improvement proposal AIP-160. These two -// types of filter expressions cannot be mixed in one request. If you want to -// use AIP-160, your expression must specify the field name, an operator, and -// the value that you want to use for filtering. The value must be a string, a -// number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, -// `>=` or `:`. For example, if you are filtering Compute Engine instances, you -// can exclude instances named `example-instance` by specifying `name != -// example-instance`. The `:*` comparison can be used to test whether a key has -// been defined. For example, to find all objects with `owner` label use: ``` -// labels.owner:* ``` You can also filter nested fields. For example, you could -// specify `scheduling.automaticRestart = false` to include instances only if -// they are not scheduled for automatic restarts. You can use filtering on -// nested fields to filter based on resource labels. To filter on multiple -// expressions, provide each separate expression within parentheses. For -// example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel -// Skylake") ``` By default, each expression is an `AND` expression. However, -// you can include `AND` and `OR` expressions explicitly. For example: ``` -// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND -// (scheduling.automaticRestart = true) ``` If you want to use a regular -// expression, use the `eq` (equal) or `ne` (not equal) operator against a -// single un-parenthesized expression with or without quotes or against -// multiple parenthesized expressions. Examples: `fieldname eq unquoted -// literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted -// literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal -// value is interpreted as a regular expression using Google RE2 library -// syntax. The literal value must match the entire field. For example, to -// filter for instances that do not end with name "instance", you would use -// `name ne .*instance`. You cannot combine constraints on multiple fields -// using regular expressions. -func (c *NetworkPlacementsListCall) Filter(filter string) *NetworkPlacementsListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// MaxResults sets the optional parameter "maxResults": The maximum number of -// results per page that should be returned. If the number of available results -// is larger than `maxResults`, Compute Engine returns a `nextPageToken` that -// can be used to get the next page of results in subsequent list requests. -// Acceptable values are `0` to `500`, inclusive. (Default: `500`) -func (c *NetworkPlacementsListCall) MaxResults(maxResults int64) *NetworkPlacementsListCall { - c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) - return c -} - -// OrderBy sets the optional parameter "orderBy": Sorts list results by a -// certain order. By default, results are returned in alphanumerical order -// based on the resource name. You can also sort results in descending order -// based on the creation timestamp using `orderBy="creationTimestamp desc". -// This sorts results based on the `creationTimestamp` field in reverse -// chronological order (newest result first). Use this to sort resources like -// operations so that the newest operation is returned first. Currently, only -// sorting by `name` or `creationTimestamp desc` is supported. -func (c *NetworkPlacementsListCall) OrderBy(orderBy string) *NetworkPlacementsListCall { - c.urlParams_.Set("orderBy", orderBy) - return c -} - -// PageToken sets the optional parameter "pageToken": Specifies a page token to -// use. Set `pageToken` to the `nextPageToken` returned by a previous list -// request to get the next page of results. -func (c *NetworkPlacementsListCall) PageToken(pageToken string) *NetworkPlacementsListCall { - c.urlParams_.Set("pageToken", pageToken) - return c -} - -// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": -// Opt-in for partial success behavior which provides partial results in case -// of failure. The default value is false. For example, when partial success -// behavior is enabled, aggregatedList for a single zone scope either returns -// all resources in the zone or no resources, with an error code. -func (c *NetworkPlacementsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NetworkPlacementsListCall { - c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more -// details. -func (c *NetworkPlacementsListCall) Fields(s ...googleapi.Field) *NetworkPlacementsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets an optional parameter which makes the operation fail if the -// object's ETag matches the given value. This is useful for getting updates -// only after the object has changed since the last request. -func (c *NetworkPlacementsListCall) IfNoneMatch(entityTag string) *NetworkPlacementsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *NetworkPlacementsListCall) Context(ctx context.Context) *NetworkPlacementsListCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *NetworkPlacementsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *NetworkPlacementsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/networkPlacements") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.networkPlacements.list" call. -// Any non-2xx status code is an error. Response headers are in either -// *NetworkPlacementsListResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *NetworkPlacementsListCall) Do(opts ...googleapi.CallOption) (*NetworkPlacementsListResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &NetworkPlacementsListResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *NetworkPlacementsListCall) Pages(ctx context.Context, f func(*NetworkPlacementsListResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - type NetworkProfilesGetCall struct { s *Service project string diff --git a/compute/v0.alpha/compute3-gen.go b/compute/v0.alpha/compute3-gen.go index bcdbbfc8a57..5ec2c80bfac 100644 --- a/compute/v0.alpha/compute3-gen.go +++ b/compute/v0.alpha/compute3-gen.go @@ -7880,6 +7880,224 @@ func (c *RegionInstanceGroupManagerResizeRequestsInsertCall) Do(opts ...googleap return ret, nil } +type RegionInstanceGroupManagerResizeRequestsListCall struct { + s *Service + project string + region string + instanceGroupManager string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Retrieves a list of Resize Requests that are contained in the managed +// instance group. +// +// - instanceGroupManager: The name of the managed instance group. The name +// should conform to RFC1035. +// - project: Project ID for this request. +// - region: Name of the region scoping this request. Name should conform to +// RFC1035. +func (r *RegionInstanceGroupManagerResizeRequestsService) List(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagerResizeRequestsListCall { + c := &RegionInstanceGroupManagerResizeRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.instanceGroupManager = instanceGroupManager + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources support two +// types of filter expressions: expressions that support regular expressions +// and expressions that follow API improvement proposal AIP-160. These two +// types of filter expressions cannot be mixed in one request. If you want to +// use AIP-160, your expression must specify the field name, an operator, and +// the value that you want to use for filtering. The value must be a string, a +// number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, +// `>=` or `:`. For example, if you are filtering Compute Engine instances, you +// can exclude instances named `example-instance` by specifying `name != +// example-instance`. The `:*` comparison can be used to test whether a key has +// been defined. For example, to find all objects with `owner` label use: ``` +// labels.owner:* ``` You can also filter nested fields. For example, you could +// specify `scheduling.automaticRestart = false` to include instances only if +// they are not scheduled for automatic restarts. You can use filtering on +// nested fields to filter based on resource labels. To filter on multiple +// expressions, provide each separate expression within parentheses. For +// example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel +// Skylake") ``` By default, each expression is an `AND` expression. However, +// you can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND +// (scheduling.automaticRestart = true) ``` If you want to use a regular +// expression, use the `eq` (equal) or `ne` (not equal) operator against a +// single un-parenthesized expression with or without quotes or against +// multiple parenthesized expressions. Examples: `fieldname eq unquoted +// literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted +// literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal +// value is interpreted as a regular expression using Google RE2 library +// syntax. The literal value must match the entire field. For example, to +// filter for instances that do not end with name "instance", you would use +// `name ne .*instance`. You cannot combine constraints on multiple fields +// using regular expressions. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Filter(filter string) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum number of +// results per page that should be returned. If the number of available results +// is larger than `maxResults`, Compute Engine returns a `nextPageToken` that +// can be used to get the next page of results in subsequent list requests. +// Acceptable values are `0` to `500`, inclusive. (Default: `500`) +func (c *RegionInstanceGroupManagerResizeRequestsListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by a +// certain order. By default, results are returned in alphanumerical order +// based on the resource name. You can also sort results in descending order +// based on the creation timestamp using `orderBy="creationTimestamp desc". +// This sorts results based on the `creationTimestamp` field in reverse +// chronological order (newest result first). Use this to sort resources like +// operations so that the newest operation is returned first. Currently, only +// sorting by `name` or `creationTimestamp desc` is supported. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) OrderBy(orderBy string) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page token to +// use. Set `pageToken` to the `nextPageToken` returned by a previous list +// request to get the next page of results. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) PageToken(pageToken string) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": +// Opt-in for partial success behavior which provides partial results in case +// of failure. The default value is false. For example, when partial success +// behavior is enabled, aggregatedList for a single zone scope either returns +// all resources in the zone or no resources, with an error code. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagerResizeRequestsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagerResizeRequestsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Context(ctx context.Context) *RegionInstanceGroupManagerResizeRequestsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionInstanceGroupManagerResizeRequestsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "instanceGroupManager": c.instanceGroupManager, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionInstanceGroupManagerResizeRequests.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *RegionInstanceGroupManagerResizeRequestsListResponse.ServerResponse.Header +// or (if a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerResizeRequestsListResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &RegionInstanceGroupManagerResizeRequestsListResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *RegionInstanceGroupManagerResizeRequestsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerResizeRequestsListResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + type RegionInstanceGroupManagersAbandonInstancesCall struct { s *Service project string diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index f0c1d2b9095..b52338ecb6b 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -41911,7 +41911,7 @@ } } }, - "revision": "20240813", + "revision": "20240820", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -50593,6 +50593,24 @@ }, "type": "array" }, + "destNetworkScope": { + "description": "Network scope of the traffic destination.", + "enum": [ + "INTERNET", + "INTRA_VPC", + "NON_INTERNET", + "UNSPECIFIED", + "VPC_NETWORKS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, "destRegionCodes": { "description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", "items": { @@ -50635,6 +50653,31 @@ }, "type": "array" }, + "srcNetworkScope": { + "description": "Network scope of the traffic source.", + "enum": [ + "INTERNET", + "INTRA_VPC", + "NON_INTERNET", + "UNSPECIFIED", + "VPC_NETWORKS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "srcNetworks": { + "description": "Networks of the traffic source. It can be either a full or partial url.", + "items": { + "type": "string" + }, + "type": "array" + }, "srcRegionCodes": { "description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", "items": { @@ -55896,6 +55939,10 @@ "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", "type": "string" }, + "resourcePolicies": { + "$ref": "InstanceGroupManagerResourcePolicies", + "description": "Resource policies for this managed instance group." + }, "satisfiesPzi": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -56835,6 +56882,16 @@ }, "type": "object" }, + "InstanceGroupManagerResourcePolicies": { + "id": "InstanceGroupManagerResourcePolicies", + "properties": { + "workloadPolicy": { + "description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, "InstanceGroupManagerStandbyPolicy": { "id": "InstanceGroupManagerStandbyPolicy", "properties": { @@ -74880,6 +74937,9 @@ "Resource policy is ready to be used." ], "type": "string" + }, + "workloadPolicy": { + "$ref": "ResourcePolicyWorkloadPolicy" } }, "type": "object" @@ -75495,6 +75555,24 @@ }, "type": "object" }, + "ResourcePolicyWorkloadPolicy": { + "description": "Represents the workload policy.", + "id": "ResourcePolicyWorkloadPolicy", + "properties": { + "type": { + "enum": [ + "HIGH_AVAILABILITY", + "HIGH_THROUGHPUT" + ], + "enumDescriptions": [ + "VMs will be provisioned in such a way which provides high availability.", + "VMs will be provisioned in such a way which provides high throughput." + ], + "type": "string" + } + }, + "type": "object" + }, "ResourceStatus": { "description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", "id": "ResourceStatus", diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index 4c374d9a529..58e07df7614 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -11577,6 +11577,15 @@ type FirewallPolicyRuleMatcher struct { // DestIpRanges: CIDR IP address range. Maximum number of destination CIDR IP // ranges allowed is 5000. DestIpRanges []string `json:"destIpRanges,omitempty"` + // DestNetworkScope: Network scope of the traffic destination. + // + // Possible values: + // "INTERNET" + // "INTRA_VPC" + // "NON_INTERNET" + // "UNSPECIFIED" + // "VPC_NETWORKS" + DestNetworkScope string `json:"destNetworkScope,omitempty"` // DestRegionCodes: Region codes whose IP addresses will be used to match for // destination of traffic. Should be specified as 2 letter country code defined // as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region @@ -11596,6 +11605,18 @@ type FirewallPolicyRuleMatcher struct { // SrcIpRanges: CIDR IP address range. Maximum number of source CIDR IP ranges // allowed is 5000. SrcIpRanges []string `json:"srcIpRanges,omitempty"` + // SrcNetworkScope: Network scope of the traffic source. + // + // Possible values: + // "INTERNET" + // "INTRA_VPC" + // "NON_INTERNET" + // "UNSPECIFIED" + // "VPC_NETWORKS" + SrcNetworkScope string `json:"srcNetworkScope,omitempty"` + // SrcNetworks: Networks of the traffic source. It can be either a full or + // partial url. + SrcNetworks []string `json:"srcNetworks,omitempty"` // SrcRegionCodes: Region codes whose IP addresses will be used to match for // source of traffic. Should be specified as 2 letter country code defined as // per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region @@ -17635,6 +17656,8 @@ type InstanceGroupManager struct { // Region: [Output Only] The URL of the region where the managed instance group // resides (for regional resources). Region string `json:"region,omitempty"` + // ResourcePolicies: Resource policies for this managed instance group. + ResourcePolicies *InstanceGroupManagerResourcePolicies `json:"resourcePolicies,omitempty"` // SatisfiesPzi: [Output Only] Reserved for future use. SatisfiesPzi bool `json:"satisfiesPzi,omitempty"` // SatisfiesPzs: [Output Only] Reserved for future use. @@ -18746,6 +18769,33 @@ func (s InstanceGroupManagerResizeRequestsListResponseWarningData) MarshalJSON() return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type InstanceGroupManagerResourcePolicies struct { + // WorkloadPolicy: The URL of the workload policy that is specified for this + // managed instance group. It can be a full or partial URL. For example, the + // following are all valid URLs to a workload policy: - + // https://www.googleapis.com/compute/v1/projects/project/regions/region + // /resourcePolicies/resourcePolicy - + // projects/project/regions/region/resourcePolicies/resourcePolicy - + // regions/region/resourcePolicies/resourcePolicy + WorkloadPolicy string `json:"workloadPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. "WorkloadPolicy") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "WorkloadPolicy") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagerResourcePolicies) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagerResourcePolicies + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerStandbyPolicy struct { // InitialDelaySec: Specifies the number of seconds that the MIG should wait to // suspend or stop a VM after that VM was created. The initial delay gives the @@ -38801,7 +38851,8 @@ type ResourcePolicy struct { // "EXPIRED" - Resource policy is expired and will not run again. // "INVALID" // "READY" - Resource policy is ready to be used. - Status string `json:"status,omitempty"` + Status string `json:"status,omitempty"` + WorkloadPolicy *ResourcePolicyWorkloadPolicy `json:"workloadPolicy,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` @@ -39532,6 +39583,32 @@ func (s ResourcePolicyWeeklyCycleDayOfWeek) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ResourcePolicyWorkloadPolicy: Represents the workload policy. +type ResourcePolicyWorkloadPolicy struct { + // Possible values: + // "HIGH_AVAILABILITY" - VMs will be provisioned in such a way which provides + // high availability. + // "HIGH_THROUGHPUT" - VMs will be provisioned in such a way which provides + // high throughput. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Type") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Type") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ResourcePolicyWorkloadPolicy) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePolicyWorkloadPolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ResourceStatus: Contains output only fields. Use this sub-message for actual // values set on Instance attributes as compared to the value requested by the // user (intent) in their instance CRUD calls. diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 7699dd712d6..586d65607f9 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -37779,7 +37779,7 @@ } } }, - "revision": "20240813", + "revision": "20240820", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -39033,6 +39033,10 @@ "format": "int32", "type": "integer" }, + "turboMode": { + "description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", + "type": "string" + }, "visibleCoreCount": { "description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", "format": "int32", @@ -61453,6 +61457,11 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "priority": { + "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", + "format": "int32", + "type": "integer" + }, "rules": { "description": "The rules that apply to the network.", "items": { @@ -61469,9 +61478,11 @@ "enum": [ "HIERARCHY", "NETWORK", + "SYSTEM", "UNSPECIFIED" ], "enumDescriptions": [ + "", "", "", "" diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 9ea1149d2bd..57c10750a53 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -2683,6 +2683,10 @@ type AdvancedMachineFeatures struct { // simultaneous multithreading (SMT) set this to 1. If unset, the maximum // number of threads supported per core by the underlying processor is assumed. ThreadsPerCore int64 `json:"threadsPerCore,omitempty"` + // TurboMode: Turbo frequency mode to use for the instance. Supported modes + // include: * ALL_CORE_MAX Using empty string or not setting this field will + // use the platform-specific default turbo mode. + TurboMode string `json:"turboMode,omitempty"` // VisibleCoreCount: The number of physical cores to expose to an instance. // Multiply by the number of threads per core to compute the total number of // virtual CPUs to expose to the instance. If unset, the number of cores is @@ -28577,6 +28581,9 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { DisplayName string `json:"displayName,omitempty"` // Name: [Output Only] The name of the firewall policy. Name string `json:"name,omitempty"` + // Priority: [Output only] Priority of firewall policy association. Not + // applicable for type=HIERARCHY. + Priority int64 `json:"priority,omitempty"` // Rules: The rules that apply to the network. Rules []*FirewallPolicyRule `json:"rules,omitempty"` // ShortName: [Output Only] The short name of the firewall policy. @@ -28586,6 +28593,7 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // Possible values: // "HIERARCHY" // "NETWORK" + // "SYSTEM" // "UNSPECIFIED" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to diff --git a/dataportability/v1/dataportability-api.json b/dataportability/v1/dataportability-api.json index c4c6f459b7e..1c95cd98be5 100644 --- a/dataportability/v1/dataportability-api.json +++ b/dataportability/v1/dataportability-api.json @@ -2,6 +2,9 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions": { + "description": "Move a copy of the Google Alerts subscriptions you created." + }, "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations": { "description": "Move a copy of messages between you and the businesses you have conversations with across Google services." }, @@ -315,6 +318,7 @@ "$ref": "PortabilityArchiveState" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -405,6 +409,7 @@ "$ref": "RetryPortabilityArchiveResponse" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -489,6 +494,7 @@ "$ref": "Empty" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -573,6 +579,7 @@ "$ref": "InitiatePortabilityArchiveResponse" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -641,7 +648,7 @@ } } }, - "revision": "20240410", + "revision": "20240827", "rootUrl": "https://dataportability.googleapis.com/", "schemas": { "Empty": { diff --git a/dataportability/v1/dataportability-gen.go b/dataportability/v1/dataportability-gen.go index 7d1d2b26b65..952739b7eb2 100644 --- a/dataportability/v1/dataportability-gen.go +++ b/dataportability/v1/dataportability-gen.go @@ -100,6 +100,9 @@ const mtlsBasePath = "https://dataportability.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( + // Move a copy of the Google Alerts subscriptions you created. + DataportabilityAlertsSubscriptionsScope = "https://www.googleapis.com/auth/dataportability.alerts.subscriptions" + // Move a copy of messages between you and the businesses you have // conversations with across Google services. DataportabilityBusinessmessagingConversationsScope = "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations" @@ -304,6 +307,7 @@ const ( // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", diff --git a/dataportability/v1beta/dataportability-api.json b/dataportability/v1beta/dataportability-api.json index 6736eee1ded..6cb66f74580 100644 --- a/dataportability/v1beta/dataportability-api.json +++ b/dataportability/v1beta/dataportability-api.json @@ -2,6 +2,9 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions": { + "description": "Move a copy of the Google Alerts subscriptions you created." + }, "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations": { "description": "Move a copy of messages between you and the businesses you have conversations with across Google services." }, @@ -315,6 +318,7 @@ "$ref": "PortabilityArchiveState" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -405,6 +409,7 @@ "$ref": "RetryPortabilityArchiveResponse" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -489,6 +494,7 @@ "$ref": "Empty" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -573,6 +579,7 @@ "$ref": "InitiatePortabilityArchiveResponse" }, "scopes": [ + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", @@ -641,7 +648,7 @@ } } }, - "revision": "20240410", + "revision": "20240827", "rootUrl": "https://dataportability.googleapis.com/", "schemas": { "Empty": { diff --git a/dataportability/v1beta/dataportability-gen.go b/dataportability/v1beta/dataportability-gen.go index 8f1d002d93e..fa7c542194e 100644 --- a/dataportability/v1beta/dataportability-gen.go +++ b/dataportability/v1beta/dataportability-gen.go @@ -100,6 +100,9 @@ const mtlsBasePath = "https://dataportability.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( + // Move a copy of the Google Alerts subscriptions you created. + DataportabilityAlertsSubscriptionsScope = "https://www.googleapis.com/auth/dataportability.alerts.subscriptions" + // Move a copy of messages between you and the businesses you have // conversations with across Google services. DataportabilityBusinessmessagingConversationsScope = "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations" @@ -304,6 +307,7 @@ const ( // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/dataportability.alerts.subscriptions", "https://www.googleapis.com/auth/dataportability.businessmessaging.conversations", "https://www.googleapis.com/auth/dataportability.chrome.autofill", "https://www.googleapis.com/auth/dataportability.chrome.bookmarks", diff --git a/dataproc/v1/dataproc-api.json b/dataproc/v1/dataproc-api.json index 078df9b548b..5d5ba867ba5 100644 --- a/dataproc/v1/dataproc-api.json +++ b/dataproc/v1/dataproc-api.json @@ -26,6 +26,11 @@ "endpointUrl": "https://dataproc.europe-west9.rep.googleapis.com/", "location": "europe-west9" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataproc.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataproc.me-central2.rep.googleapis.com/", @@ -3072,7 +3077,7 @@ } } }, - "revision": "20240617", + "revision": "20240821", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -6375,6 +6380,10 @@ "description": "Optional. The session template used by the session.Only resource names, including project ID and location, are valid.Example: * https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] * projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]The template must be in the same project and Dataproc region as the session.", "type": "string" }, + "sparkConnectSession": { + "$ref": "SparkConnectConfig", + "description": "Optional. Spark connect session config." + }, "state": { "description": "Output only. A state of the session.", "enum": [ @@ -6567,6 +6576,10 @@ "$ref": "RuntimeConfig", "description": "Optional. Runtime configuration for session execution." }, + "sparkConnectSession": { + "$ref": "SparkConnectConfig", + "description": "Optional. Spark connect session config." + }, "updateTime": { "description": "Output only. The time the template was last updated.", "format": "google-datetime", @@ -6616,7 +6629,7 @@ "id": "SoftwareConfig", "properties": { "imageVersion": { - "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", + "description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", "type": "string" }, "optionalComponents": { @@ -6641,7 +6654,7 @@ ], "enumDescriptions": [ "Unspecified component. Specifying this will cause Cluster creation to fail.", - "The Anaconda python distribution. The Anaconda component is not supported in the Dataproc 2.0 image. The 2.0 image is pre-installed with Miniconda.", + "The Anaconda component is no longer supported or applicable to supported Dataproc on Compute Engine image versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). It cannot be activated on clusters created with supported Dataproc on Compute Engine image versions.", "Docker", "The Druid query engine. (alpha)", "Flink", @@ -6713,6 +6726,12 @@ }, "type": "object" }, + "SparkConnectConfig": { + "description": "Spark connect configuration for an interactive session.", + "id": "SparkConnectConfig", + "properties": {}, + "type": "object" + }, "SparkHistoryServerConfig": { "description": "Spark History Server configuration for the workload.", "id": "SparkHistoryServerConfig", diff --git a/dataproc/v1/dataproc-gen.go b/dataproc/v1/dataproc-gen.go index 4b56a4a0a0e..37803d70653 100644 --- a/dataproc/v1/dataproc-gen.go +++ b/dataproc/v1/dataproc-gen.go @@ -4563,6 +4563,8 @@ type Session struct { // id]The template must be in the same project and Dataproc region as the // session. SessionTemplate string `json:"sessionTemplate,omitempty"` + // SparkConnectSession: Optional. Spark connect session config. + SparkConnectSession *SparkConnectConfig `json:"sparkConnectSession,omitempty"` // State: Output only. A state of the session. // // Possible values: @@ -4710,6 +4712,8 @@ type SessionTemplate struct { Name string `json:"name,omitempty"` // RuntimeConfig: Optional. Runtime configuration for session execution. RuntimeConfig *RuntimeConfig `json:"runtimeConfig,omitempty"` + // SparkConnectSession: Optional. Spark connect session config. + SparkConnectSession *SparkConnectConfig `json:"sparkConnectSession,omitempty"` // UpdateTime: Output only. The time the template was last updated. UpdateTime string `json:"updateTime,omitempty"` // Uuid: Output only. A session template UUID (Unique Universal Identifier). @@ -4796,7 +4800,7 @@ func (s ShieldedInstanceConfig) MarshalJSON() ([]byte, error) { type SoftwareConfig struct { // ImageVersion: Optional. The version of software inside the cluster. It must // be one of the supported Dataproc Versions - // (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), + // (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), // such as "1.2" (including a subminor version, such as "1.2.29"), or the // "preview" version // (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). @@ -4808,9 +4812,11 @@ type SoftwareConfig struct { // Possible values: // "COMPONENT_UNSPECIFIED" - Unspecified component. Specifying this will // cause Cluster creation to fail. - // "ANACONDA" - The Anaconda python distribution. The Anaconda component is - // not supported in the Dataproc 2.0 image. The 2.0 image is pre-installed with - // Miniconda. + // "ANACONDA" - The Anaconda component is no longer supported or applicable + // to supported Dataproc on Compute Engine image versions + // (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). + // It cannot be activated on clusters created with supported Dataproc on + // Compute Engine image versions. // "DOCKER" - Docker // "DRUID" - The Druid query engine. (alpha) // "FLINK" - Flink @@ -4894,6 +4900,10 @@ func (s SparkBatch) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// SparkConnectConfig: Spark connect configuration for an interactive session. +type SparkConnectConfig struct { +} + // SparkHistoryServerConfig: Spark History Server configuration for the // workload. type SparkHistoryServerConfig struct { diff --git a/discoveryengine/v1/discoveryengine-api.json b/discoveryengine/v1/discoveryengine-api.json index 3bc00eb5359..746d94c3022 100644 --- a/discoveryengine/v1/discoveryengine-api.json +++ b/discoveryengine/v1/discoveryengine-api.json @@ -5986,7 +5986,7 @@ } } }, - "revision": "20240817", + "revision": "20240826", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -7413,14 +7413,9 @@ "type": "integer" }, "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, and anti_citation_indices should not be returned.", + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", "type": "boolean" }, - "score": { - "description": "Confidence score for the claim in the answer candidate, in the range of [0, 1].", - "format": "double", - "type": "number" - }, "startPos": { "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", "format": "int32", diff --git a/discoveryengine/v1/discoveryengine-gen.go b/discoveryengine/v1/discoveryengine-gen.go index eb1ded85029..9103f527608 100644 --- a/discoveryengine/v1/discoveryengine-gen.go +++ b/discoveryengine/v1/discoveryengine-gen.go @@ -2826,12 +2826,9 @@ type GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim struct { // GroundingCheckRequired: Indicates that this claim required grounding check. // When the system decided this claim doesn't require attribution/grounding // check, this field will be set to false. In that case, no grounding check was - // done for the claim and therefore citation_indices, and anti_citation_indices - // should not be returned. + // done for the claim and therefore citation_indices, anti_citation_indices, + // and score should not be returned. GroundingCheckRequired bool `json:"groundingCheckRequired,omitempty"` - // Score: Confidence score for the claim in the answer candidate, in the range - // of [0, 1]. - Score float64 `json:"score,omitempty"` // StartPos: Position indicating the start of the claim in the answer // candidate, measured in bytes. StartPos int64 `json:"startPos,omitempty"` @@ -2853,20 +2850,6 @@ func (s GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim) MarshalJSON() ( return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -func (s *GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - // GoogleCloudDiscoveryengineV1CheckGroundingSpec: Specification for the // grounding check. type GoogleCloudDiscoveryengineV1CheckGroundingSpec struct { diff --git a/discoveryengine/v1alpha/discoveryengine-api.json b/discoveryengine/v1alpha/discoveryengine-api.json index 060b8e64baa..2271249c94f 100644 --- a/discoveryengine/v1alpha/discoveryengine-api.json +++ b/discoveryengine/v1alpha/discoveryengine-api.json @@ -7517,7 +7517,7 @@ } } }, - "revision": "20240817", + "revision": "20240826", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -10605,14 +10605,9 @@ "type": "integer" }, "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, and anti_citation_indices should not be returned.", + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", "type": "boolean" }, - "score": { - "description": "Confidence score for the claim in the answer candidate, in the range of [0, 1].", - "format": "double", - "type": "number" - }, "startPos": { "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", "format": "int32", diff --git a/discoveryengine/v1alpha/discoveryengine-gen.go b/discoveryengine/v1alpha/discoveryengine-gen.go index 4516d8a755a..77e6248c2a6 100644 --- a/discoveryengine/v1alpha/discoveryengine-gen.go +++ b/discoveryengine/v1alpha/discoveryengine-gen.go @@ -5327,12 +5327,9 @@ type GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim struct { // GroundingCheckRequired: Indicates that this claim required grounding check. // When the system decided this claim doesn't require attribution/grounding // check, this field will be set to false. In that case, no grounding check was - // done for the claim and therefore citation_indices, and anti_citation_indices - // should not be returned. + // done for the claim and therefore citation_indices, anti_citation_indices, + // and score should not be returned. GroundingCheckRequired bool `json:"groundingCheckRequired,omitempty"` - // Score: Confidence score for the claim in the answer candidate, in the range - // of [0, 1]. - Score float64 `json:"score,omitempty"` // StartPos: Position indicating the start of the claim in the answer // candidate, measured in bytes. StartPos int64 `json:"startPos,omitempty"` @@ -5354,20 +5351,6 @@ func (s GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim) MarshalJSO return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -func (s *GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - // GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec: Specification for the // grounding check. type GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec struct { diff --git a/discoveryengine/v1beta/discoveryengine-api.json b/discoveryengine/v1beta/discoveryengine-api.json index 29c0a7f570d..1110c350277 100644 --- a/discoveryengine/v1beta/discoveryengine-api.json +++ b/discoveryengine/v1beta/discoveryengine-api.json @@ -6786,7 +6786,7 @@ } } }, - "revision": "20240817", + "revision": "20240826", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -13278,14 +13278,9 @@ "type": "integer" }, "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, and anti_citation_indices should not be returned.", + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", "type": "boolean" }, - "score": { - "description": "Confidence score for the claim in the answer candidate, in the range of [0, 1].", - "format": "double", - "type": "number" - }, "startPos": { "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", "format": "int32", diff --git a/discoveryengine/v1beta/discoveryengine-gen.go b/discoveryengine/v1beta/discoveryengine-gen.go index 3e6f0c03b83..5c3ae1b26fa 100644 --- a/discoveryengine/v1beta/discoveryengine-gen.go +++ b/discoveryengine/v1beta/discoveryengine-gen.go @@ -9812,12 +9812,9 @@ type GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim struct { // GroundingCheckRequired: Indicates that this claim required grounding check. // When the system decided this claim doesn't require attribution/grounding // check, this field will be set to false. In that case, no grounding check was - // done for the claim and therefore citation_indices, and anti_citation_indices - // should not be returned. + // done for the claim and therefore citation_indices, anti_citation_indices, + // and score should not be returned. GroundingCheckRequired bool `json:"groundingCheckRequired,omitempty"` - // Score: Confidence score for the claim in the answer candidate, in the range - // of [0, 1]. - Score float64 `json:"score,omitempty"` // StartPos: Position indicating the start of the claim in the answer // candidate, measured in bytes. StartPos int64 `json:"startPos,omitempty"` @@ -9839,20 +9836,6 @@ func (s GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim) MarshalJSON return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -func (s *GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - // GoogleCloudDiscoveryengineV1betaCheckGroundingSpec: Specification for the // grounding check. type GoogleCloudDiscoveryengineV1betaCheckGroundingSpec struct { diff --git a/healthcare/v1/healthcare-api.json b/healthcare/v1/healthcare-api.json index 75b352bf36f..a1b56adad68 100644 --- a/healthcare/v1/healthcare-api.json +++ b/healthcare/v1/healthcare-api.json @@ -2117,6 +2117,35 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setBlobStorageSettings": { + "description": "SetBlobStorageSettings sets the blob storage settings of the specified resources.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setBlobStorageSettings", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.setBlobStorageSettings", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The path of the resource to update the blob storage settings in the format of `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}`, `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setBlobStorageSettings", + "request": { + "$ref": "SetBlobStorageSettingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy", @@ -2243,6 +2272,35 @@ "https://www.googleapis.com/auth/cloud-healthcare", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setBlobStorageSettings": { + "description": "SetBlobStorageSettings sets the blob storage settings of the specified resources.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}:setBlobStorageSettings", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.setBlobStorageSettings", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The path of the resource to update the blob storage settings in the format of `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}`, `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setBlobStorageSettings", + "request": { + "$ref": "SetBlobStorageSettingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -2274,6 +2332,38 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "instances": { + "methods": { + "getStorageInfo": { + "description": "GetStorageInfo returns the storage info of the specified resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}:getStorageInfo", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The path of the instance to return storage info for, in the form: `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getStorageInfo", + "response": { + "$ref": "StorageInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -4110,7 +4200,7 @@ ] }, "rollback": { - "description": "Rolls back messages from the HL7 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", + "description": "Rolls back messages from the HL7v2 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:rollback", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.hl7V2Stores.rollback", @@ -4583,7 +4673,7 @@ } } }, - "revision": "20240731", + "revision": "20240819", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -4826,6 +4916,66 @@ }, "type": "object" }, + "BlobStorageInfo": { + "description": "BlobStorageInfo contains details about the data stored in Blob Storage for the referenced resource. Note: Storage class is only valid for DICOM and hence will only be populated for DICOM resources.", + "id": "BlobStorageInfo", + "properties": { + "sizeBytes": { + "description": "Size in bytes of data stored in Blob Storage.", + "format": "int64", + "type": "string" + }, + "storageClass": { + "description": "The storage class in which the Blob data is stored.", + "enum": [ + "BLOB_STORAGE_CLASS_UNSPECIFIED", + "STANDARD", + "NEARLINE", + "COLDLINE", + "ARCHIVE" + ], + "enumDescriptions": [ + "If unspecified in CreateDataset, the StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the StorageClass is set in the field mask, an InvalidRequest error is thrown.", + "This stores the Object in Blob Standard Storage: https://cloud.google.com/storage/docs/storage-classes#standard", + "This stores the Object in Blob Nearline Storage: https://cloud.google.com/storage/docs/storage-classes#nearline", + "This stores the Object in Blob Coldline Storage: https://cloud.google.com/storage/docs/storage-classes#coldline", + "This stores the Object in Blob Archive Storage: https://cloud.google.com/storage/docs/storage-classes#archive" + ], + "type": "string" + }, + "storageClassUpdateTime": { + "description": "The time at which the storage class was updated. This is used to compute early deletion fees of the resource.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BlobStorageSettings": { + "description": "Settings for data stored in Blob storage.", + "id": "BlobStorageSettings", + "properties": { + "blobStorageClass": { + "description": "The Storage class in which the Blob data is stored.", + "enum": [ + "BLOB_STORAGE_CLASS_UNSPECIFIED", + "STANDARD", + "NEARLINE", + "COLDLINE", + "ARCHIVE" + ], + "enumDescriptions": [ + "If unspecified in CreateDataset, the StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the StorageClass is set in the field mask, an InvalidRequest error is thrown.", + "This stores the Object in Blob Standard Storage: https://cloud.google.com/storage/docs/storage-classes#standard", + "This stores the Object in Blob Nearline Storage: https://cloud.google.com/storage/docs/storage-classes#nearline", + "This stores the Object in Blob Coldline Storage: https://cloud.google.com/storage/docs/storage-classes#coldline", + "This stores the Object in Blob Archive Storage: https://cloud.google.com/storage/docs/storage-classes#archive" + ], + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -6334,6 +6484,10 @@ "description": "Imports data into the specified DICOM store. Returns an error if any of the files to import are not DICOM files. This API accepts duplicate DICOM instances by ignoring the newly-pushed instance. It does not overwrite.", "id": "ImportDicomDataRequest", "properties": { + "blobStorageSettings": { + "$ref": "BlobStorageSettings", + "description": "Optional. The blob storage settings for the data imported by this operation." + }, "gcsSource": { "$ref": "GoogleCloudHealthcareV1DicomGcsSource", "description": "Cloud Storage source data location and import configuration. The Cloud Healthcare Service Agent requires the `roles/storage.objectViewer` Cloud IAM roles on the Cloud Storage location." @@ -7218,7 +7372,7 @@ "type": "object" }, "RollbackHL7MessagesFilteringFields": { - "description": "Filtering fields for an HL7 rollback. Currently only supports a list of operation ids to roll back.", + "description": "Filtering fields for an HL7v2 rollback. Currently only supports a list of operation ids to roll back.", "id": "RollbackHL7MessagesFilteringFields", "properties": { "operationIds": { @@ -7287,7 +7441,7 @@ "id": "RollbackHl7V2MessagesResponse", "properties": { "hl7v2Store": { - "description": "The name of the HL7 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7v2Stores/{hl7v2_store_id}\".", + "description": "The name of the HL7v2 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7v2Stores/{hl7v2_store_id}\".", "type": "string" } }, @@ -7505,6 +7659,27 @@ }, "type": "object" }, + "SetBlobStorageSettingsRequest": { + "description": "Request message for `SetBlobStorageSettings` method.", + "id": "SetBlobStorageSettingsRequest", + "properties": { + "blobStorageSettings": { + "$ref": "BlobStorageSettings", + "description": "The blob storage settings to update for the specified resources. Only fields listed in `update_mask` are applied." + }, + "filterConfig": { + "$ref": "DicomFilterConfig", + "description": "Optional. A filter configuration. If `filter_config` is specified, set the value of `resource` to the resource name of a DICOM store in the format `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}`." + } + }, + "type": "object" + }, + "SetBlobStorageSettingsResponse": { + "description": "Returns additional info in regards to a completed set blob storage settings API.", + "id": "SetBlobStorageSettingsResponse", + "properties": {}, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -7575,6 +7750,25 @@ }, "type": "object" }, + "StorageInfo": { + "description": "StorageInfo encapsulates all the storage info of a resource.", + "id": "StorageInfo", + "properties": { + "blobStorageInfo": { + "$ref": "BlobStorageInfo", + "description": "Info about the data stored in blob storage for the resource." + }, + "referencedResource": { + "description": "The resource whose storage info is returned. For example: `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}`", + "type": "string" + }, + "structuredStorageInfo": { + "$ref": "StructuredStorageInfo", + "description": "Info about the data stored in structured storage for the resource." + } + }, + "type": "object" + }, "StreamConfig": { "description": "Contains configuration for streaming FHIR export.", "id": "StreamConfig", @@ -7597,6 +7791,18 @@ }, "type": "object" }, + "StructuredStorageInfo": { + "description": "StructuredStorageInfo contains details about the data stored in Structured Storage for the referenced resource.", + "id": "StructuredStorageInfo", + "properties": { + "sizeBytes": { + "description": "Size in bytes of data stored in structured storage.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "StudyMetrics": { "description": "StudyMetrics contains metrics describing a DICOM study.", "id": "StudyMetrics", diff --git a/healthcare/v1/healthcare-gen.go b/healthcare/v1/healthcare-gen.go index bddbb9a606a..123bdc750bb 100644 --- a/healthcare/v1/healthcare-gen.go +++ b/healthcare/v1/healthcare-gen.go @@ -324,11 +324,23 @@ type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesService struct { func NewProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesService(s *Service) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesService { rs := &ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesService{s: s} + rs.Instances = NewProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService(s) return rs } type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesService struct { s *Service + + Instances *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService +} + +func NewProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService(s *Service) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService { + rs := &ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService{s: s} + return rs +} + +type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService struct { + s *Service } func NewProjectsLocationsDatasetsDicomStoresStudiesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesService { @@ -828,6 +840,83 @@ func (s Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// BlobStorageInfo: BlobStorageInfo contains details about the data stored in +// Blob Storage for the referenced resource. Note: Storage class is only valid +// for DICOM and hence will only be populated for DICOM resources. +type BlobStorageInfo struct { + // SizeBytes: Size in bytes of data stored in Blob Storage. + SizeBytes int64 `json:"sizeBytes,omitempty,string"` + // StorageClass: The storage class in which the Blob data is stored. + // + // Possible values: + // "BLOB_STORAGE_CLASS_UNSPECIFIED" - If unspecified in CreateDataset, the + // StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the + // StorageClass is set in the field mask, an InvalidRequest error is thrown. + // "STANDARD" - This stores the Object in Blob Standard Storage: + // https://cloud.google.com/storage/docs/storage-classes#standard + // "NEARLINE" - This stores the Object in Blob Nearline Storage: + // https://cloud.google.com/storage/docs/storage-classes#nearline + // "COLDLINE" - This stores the Object in Blob Coldline Storage: + // https://cloud.google.com/storage/docs/storage-classes#coldline + // "ARCHIVE" - This stores the Object in Blob Archive Storage: + // https://cloud.google.com/storage/docs/storage-classes#archive + StorageClass string `json:"storageClass,omitempty"` + // StorageClassUpdateTime: The time at which the storage class was updated. + // This is used to compute early deletion fees of the resource. + StorageClassUpdateTime string `json:"storageClassUpdateTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "SizeBytes") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SizeBytes") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BlobStorageInfo) MarshalJSON() ([]byte, error) { + type NoMethod BlobStorageInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// BlobStorageSettings: Settings for data stored in Blob storage. +type BlobStorageSettings struct { + // BlobStorageClass: The Storage class in which the Blob data is stored. + // + // Possible values: + // "BLOB_STORAGE_CLASS_UNSPECIFIED" - If unspecified in CreateDataset, the + // StorageClass defaults to STANDARD. If unspecified in UpdateDataset and the + // StorageClass is set in the field mask, an InvalidRequest error is thrown. + // "STANDARD" - This stores the Object in Blob Standard Storage: + // https://cloud.google.com/storage/docs/storage-classes#standard + // "NEARLINE" - This stores the Object in Blob Nearline Storage: + // https://cloud.google.com/storage/docs/storage-classes#nearline + // "COLDLINE" - This stores the Object in Blob Coldline Storage: + // https://cloud.google.com/storage/docs/storage-classes#coldline + // "ARCHIVE" - This stores the Object in Blob Archive Storage: + // https://cloud.google.com/storage/docs/storage-classes#archive + BlobStorageClass string `json:"blobStorageClass,omitempty"` + // ForceSendFields is a list of field names (e.g. "BlobStorageClass") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BlobStorageClass") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BlobStorageSettings) MarshalJSON() ([]byte, error) { + type NoMethod BlobStorageSettings + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CancelOperationRequest: The request message for Operations.CancelOperation. type CancelOperationRequest struct { } @@ -3331,19 +3420,22 @@ func (s ImageConfig) MarshalJSON() ([]byte, error) { // duplicate DICOM instances by ignoring the newly-pushed instance. It does not // overwrite. type ImportDicomDataRequest struct { + // BlobStorageSettings: Optional. The blob storage settings for the data + // imported by this operation. + BlobStorageSettings *BlobStorageSettings `json:"blobStorageSettings,omitempty"` // GcsSource: Cloud Storage source data location and import configuration. The // Cloud Healthcare Service Agent requires the `roles/storage.objectViewer` // Cloud IAM roles on the Cloud Storage location. GcsSource *GoogleCloudHealthcareV1DicomGcsSource `json:"gcsSource,omitempty"` - // ForceSendFields is a list of field names (e.g. "GcsSource") to + // ForceSendFields is a list of field names (e.g. "BlobStorageSettings") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GcsSource") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "BlobStorageSettings") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -4697,7 +4789,7 @@ func (s RollbackFhirResourcesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// RollbackHL7MessagesFilteringFields: Filtering fields for an HL7 rollback. +// RollbackHL7MessagesFilteringFields: Filtering fields for an HL7v2 rollback. // Currently only supports a list of operation ids to roll back. type RollbackHL7MessagesFilteringFields struct { // OperationIds: Optional. A list of operation IDs to roll back. @@ -4767,7 +4859,7 @@ func (s RollbackHl7V2MessagesRequest) MarshalJSON() ([]byte, error) { // RollbackHl7V2MessagesResponse: Final response of rollback HL7v2 messages // request. type RollbackHl7V2MessagesResponse struct { - // Hl7v2Store: The name of the HL7 store to rollback, in the format of + // Hl7v2Store: The name of the HL7v2 store to rollback, in the format of // "projects/{project_id}/locations/{location_id}/datasets/{dataset_id} // /hl7v2Stores/{hl7v2_store_id}". Hl7v2Store string `json:"hl7v2Store,omitempty"` @@ -5084,6 +5176,41 @@ func (s SeriesMetrics) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// SetBlobStorageSettingsRequest: Request message for `SetBlobStorageSettings` +// method. +type SetBlobStorageSettingsRequest struct { + // BlobStorageSettings: The blob storage settings to update for the specified + // resources. Only fields listed in `update_mask` are applied. + BlobStorageSettings *BlobStorageSettings `json:"blobStorageSettings,omitempty"` + // FilterConfig: Optional. A filter configuration. If `filter_config` is + // specified, set the value of `resource` to the resource name of a DICOM store + // in the format + // `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores + // /{dicomStoreID}`. + FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "BlobStorageSettings") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BlobStorageSettings") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SetBlobStorageSettingsRequest) MarshalJSON() ([]byte, error) { + type NoMethod SetBlobStorageSettingsRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// SetBlobStorageSettingsResponse: Returns additional info in regards to a +// completed set blob storage settings API. +type SetBlobStorageSettingsResponse struct { +} + // SetIamPolicyRequest: Request message for `SetIamPolicy` method. type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the `resource`. The @@ -5176,6 +5303,41 @@ func (s Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// StorageInfo: StorageInfo encapsulates all the storage info of a resource. +type StorageInfo struct { + // BlobStorageInfo: Info about the data stored in blob storage for the + // resource. + BlobStorageInfo *BlobStorageInfo `json:"blobStorageInfo,omitempty"` + // ReferencedResource: The resource whose storage info is returned. For + // example: + // `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores + // /{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{ins + // tanceUID}` + ReferencedResource string `json:"referencedResource,omitempty"` + // StructuredStorageInfo: Info about the data stored in structured storage for + // the resource. + StructuredStorageInfo *StructuredStorageInfo `json:"structuredStorageInfo,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "BlobStorageInfo") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BlobStorageInfo") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s StorageInfo) MarshalJSON() ([]byte, error) { + type NoMethod StorageInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // StreamConfig: Contains configuration for streaming FHIR export. type StreamConfig struct { // BigqueryDestination: The destination BigQuery structure that contains both @@ -5250,6 +5412,29 @@ func (s StreamConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// StructuredStorageInfo: StructuredStorageInfo contains details about the data +// stored in Structured Storage for the referenced resource. +type StructuredStorageInfo struct { + // SizeBytes: Size in bytes of data stored in structured storage. + SizeBytes int64 `json:"sizeBytes,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "SizeBytes") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SizeBytes") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s StructuredStorageInfo) MarshalJSON() ([]byte, error) { + type NoMethod StructuredStorageInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // StudyMetrics: StudyMetrics contains metrics describing a DICOM study. type StudyMetrics struct { // BlobStorageSizeBytes: Total blob storage bytes for all instances in the @@ -12925,6 +13110,119 @@ func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) Do(opts ...go return c.doRequest("") } +type ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall struct { + s *Service + resource string + setblobstoragesettingsrequest *SetBlobStorageSettingsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetBlobStorageSettings: SetBlobStorageSettings sets the blob storage +// settings of the specified resources. +// +// - resource: The path of the resource to update the blob storage settings in +// the format of +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}`, +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/ +// {instanceUID}`. If `filter_config` is specified, set the value of +// `resource` to the resource name of a DICOM store in the format +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}`. +func (r *ProjectsLocationsDatasetsDicomStoresService) SetBlobStorageSettings(resource string, setblobstoragesettingsrequest *SetBlobStorageSettingsRequest) *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall { + c := &ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setblobstoragesettingsrequest = setblobstoragesettingsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setblobstoragesettingsrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setBlobStorageSettings") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "healthcare.projects.locations.datasets.dicomStores.setBlobStorageSettings" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDatasetsDicomStoresSetBlobStorageSettingsCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall struct { s *Service resource string @@ -13327,6 +13625,119 @@ func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesGetStudyMetricsCall) return ret, nil } +type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall struct { + s *Service + resource string + setblobstoragesettingsrequest *SetBlobStorageSettingsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetBlobStorageSettings: SetBlobStorageSettings sets the blob storage +// settings of the specified resources. +// +// - resource: The path of the resource to update the blob storage settings in +// the format of +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}`, +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/`, or +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/ +// {instanceUID}`. If `filter_config` is specified, set the value of +// `resource` to the resource name of a DICOM store in the format +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}`. +func (r *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesService) SetBlobStorageSettings(resource string, setblobstoragesettingsrequest *SetBlobStorageSettingsRequest) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall { + c := &ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setblobstoragesettingsrequest = setblobstoragesettingsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setblobstoragesettingsrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setBlobStorageSettings") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.setBlobStorageSettings" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSetBlobStorageSettingsCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesGetSeriesMetricsCall struct { s *Service series string @@ -13436,6 +13847,118 @@ func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesGetSeriesMetri return ret, nil } +type ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetStorageInfo: GetStorageInfo returns the storage info of the specified +// resource. +// +// - resource: The path of the instance to return storage info for, in the +// form: +// `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStor +// es/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/ +// {instanceUID}`. +func (r *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesService) GetStorageInfo(resource string) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall { + c := &ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getStorageInfo") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo" call. +// Any non-2xx status code is an error. Response headers are in either +// *StorageInfo.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDatasetsDicomStoresDicomWebStudiesSeriesInstancesGetStorageInfoCall) Do(opts ...googleapi.CallOption) (*StorageInfo, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &StorageInfo{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall struct { s *Service parent string @@ -19336,8 +19859,8 @@ type ProjectsLocationsDatasetsHl7V2StoresRollbackCall struct { header_ http.Header } -// Rollback: Rolls back messages from the HL7 store to the specified time. This -// method returns an Operation that can be used to track the status of the +// Rollback: Rolls back messages from the HL7v2 store to the specified time. +// This method returns an Operation that can be used to track the status of the // rollback by calling GetOperation. Immediate fatal errors appear in the error // field, errors are also logged to Cloud Logging (see Viewing error logs in // Cloud Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)). diff --git a/healthcare/v1beta1/healthcare-api.json b/healthcare/v1beta1/healthcare-api.json index fc4d0c77626..ea2e8ac248c 100644 --- a/healthcare/v1beta1/healthcare-api.json +++ b/healthcare/v1beta1/healthcare-api.json @@ -5222,7 +5222,7 @@ ] }, "rollback": { - "description": "Rolls back messages from the HL7 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", + "description": "Rolls back messages from the HL7v2 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:rollback", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.hl7V2Stores.rollback", @@ -5748,7 +5748,7 @@ } } }, - "revision": "20240808", + "revision": "20240819", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { @@ -9684,7 +9684,7 @@ "type": "object" }, "RollbackHL7MessagesFilteringFields": { - "description": "Filtering fields for an HL7 rollback. Currently only supports a list of operation ids to roll back.", + "description": "Filtering fields for an HL7v2 rollback. Currently only supports a list of operation ids to roll back.", "id": "RollbackHL7MessagesFilteringFields", "properties": { "operationIds": { @@ -9753,7 +9753,7 @@ "id": "RollbackHl7V2MessagesResponse", "properties": { "hl7v2Store": { - "description": "The name of the HL7 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7v2Stores/{fhir_store_id}\".", + "description": "The name of the HL7v2 store to rollback, in the format of \"projects/{project_id}/locations/{location_id}/datasets/{dataset_id} /hl7v2Stores/{fhir_store_id}\".", "type": "string" } }, diff --git a/healthcare/v1beta1/healthcare-gen.go b/healthcare/v1beta1/healthcare-gen.go index d37a4c8840e..dd8658684c9 100644 --- a/healthcare/v1beta1/healthcare-gen.go +++ b/healthcare/v1beta1/healthcare-gen.go @@ -6657,7 +6657,7 @@ func (s RollbackFhirResourcesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// RollbackHL7MessagesFilteringFields: Filtering fields for an HL7 rollback. +// RollbackHL7MessagesFilteringFields: Filtering fields for an HL7v2 rollback. // Currently only supports a list of operation ids to roll back. type RollbackHL7MessagesFilteringFields struct { // OperationIds: Optional. A list of operation IDs to roll back. @@ -6727,7 +6727,7 @@ func (s RollbackHl7V2MessagesRequest) MarshalJSON() ([]byte, error) { // RollbackHl7V2MessagesResponse: Final response of rollback FHIR resources // request. type RollbackHl7V2MessagesResponse struct { - // Hl7v2Store: The name of the HL7 store to rollback, in the format of + // Hl7v2Store: The name of the HL7v2 store to rollback, in the format of // "projects/{project_id}/locations/{location_id}/datasets/{dataset_id} // /hl7v2Stores/{fhir_store_id}". Hl7v2Store string `json:"hl7v2Store,omitempty"` @@ -25373,8 +25373,8 @@ type ProjectsLocationsDatasetsHl7V2StoresRollbackCall struct { header_ http.Header } -// Rollback: Rolls back messages from the HL7 store to the specified time. This -// method returns an Operation that can be used to track the status of the +// Rollback: Rolls back messages from the HL7v2 store to the specified time. +// This method returns an Operation that can be used to track the status of the // rollback by calling GetOperation. Immediate fatal errors appear in the error // field, errors are also logged to Cloud Logging (see Viewing error logs in // Cloud Logging (https://cloud.google.com/healthcare/docs/how-tos/logging)). diff --git a/migrationcenter/v1alpha1/migrationcenter-api.json b/migrationcenter/v1alpha1/migrationcenter-api.json index f4336eee15b..17e8c91d0a8 100644 --- a/migrationcenter/v1alpha1/migrationcenter-api.json +++ b/migrationcenter/v1alpha1/migrationcenter-api.json @@ -2548,7 +2548,7 @@ } } }, - "revision": "20240815", + "revision": "20240822", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -5291,10 +5291,6 @@ }, "type": "array" }, - "jsonError": { - "$ref": "ImportRowErrorJsonErrorDetails", - "description": "Error details for a JSON file." - }, "rowNumber": { "deprecated": true, "description": "The row number where the error was detected.", @@ -5343,12 +5339,6 @@ }, "type": "object" }, - "ImportRowErrorJsonErrorDetails": { - "description": "Error details for a JSON file.", - "id": "ImportRowErrorJsonErrorDetails", - "properties": {}, - "type": "object" - }, "ImportRowErrorXlsxErrorDetails": { "description": "Error details for an XLSX file.", "id": "ImportRowErrorXlsxErrorDetails", diff --git a/migrationcenter/v1alpha1/migrationcenter-gen.go b/migrationcenter/v1alpha1/migrationcenter-gen.go index 5bd304f0b35..85975efde99 100644 --- a/migrationcenter/v1alpha1/migrationcenter-gen.go +++ b/migrationcenter/v1alpha1/migrationcenter-gen.go @@ -3413,8 +3413,6 @@ type ImportRowError struct { CsvError *ImportRowErrorCsvErrorDetails `json:"csvError,omitempty"` // Errors: The list of errors detected in the row. Errors []*ImportError `json:"errors,omitempty"` - // JsonError: Error details for a JSON file. - JsonError *ImportRowErrorJsonErrorDetails `json:"jsonError,omitempty"` // RowNumber: The row number where the error was detected. RowNumber int64 `json:"rowNumber,omitempty"` // VmName: The name of the VM in the row. @@ -3487,10 +3485,6 @@ func (s ImportRowErrorCsvErrorDetails) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// ImportRowErrorJsonErrorDetails: Error details for a JSON file. -type ImportRowErrorJsonErrorDetails struct { -} - // ImportRowErrorXlsxErrorDetails: Error details for an XLSX file. type ImportRowErrorXlsxErrorDetails struct { // RowNumber: The row number where the error was detected. diff --git a/securitycenter/v1/securitycenter-api.json b/securitycenter/v1/securitycenter-api.json index 76cf152c492..89b583658a6 100644 --- a/securitycenter/v1/securitycenter-api.json +++ b/securitycenter/v1/securitycenter-api.json @@ -4344,6 +4344,56 @@ } } } + }, + "valuedResources": { + "methods": { + "list": { + "description": "Lists the valued resources for a set of simulation results and filter.", + "flatPath": "v1/organizations/{organizationsId}/valuedResources", + "httpMethod": "GET", + "id": "securitycenter.organizations.valuedResources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/valuedResources", + "response": { + "$ref": "ListValuedResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -6034,7 +6084,7 @@ } } }, - "revision": "20240809", + "revision": "20240827", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -6568,6 +6618,10 @@ "subscription": { "$ref": "AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -6598,6 +6652,17 @@ }, "type": "object" }, + "AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -7100,6 +7165,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -7280,6 +7350,82 @@ }, "type": "object" }, + "DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -7674,6 +7820,20 @@ "format": "google-datetime", "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -7720,7 +7880,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -7730,7 +7891,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination." + "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, @@ -9146,6 +9308,10 @@ "subscription": { "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "GoogleCloudSecuritycenterV2AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -9176,6 +9342,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "GoogleCloudSecuritycenterV2AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -9571,6 +9748,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -9751,6 +9933,82 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -10062,6 +10320,20 @@ "readOnly": true, "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -10108,7 +10380,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -10118,7 +10391,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together." + "Describes a combination of security issues that represent a more severe security problem when taken together.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go index dce863e091d..d93b17de889 100644 --- a/securitycenter/v1/securitycenter-gen.go +++ b/securitycenter/v1/securitycenter-gen.go @@ -375,6 +375,7 @@ func NewOrganizationsService(s *Service) *OrganizationsService { rs.SecurityHealthAnalyticsSettings = NewOrganizationsSecurityHealthAnalyticsSettingsService(s) rs.Simulations = NewOrganizationsSimulationsService(s) rs.Sources = NewOrganizationsSourcesService(s) + rs.ValuedResources = NewOrganizationsValuedResourcesService(s) return rs } @@ -404,6 +405,8 @@ type OrganizationsService struct { Simulations *OrganizationsSimulationsService Sources *OrganizationsSourcesService + + ValuedResources *OrganizationsValuedResourcesService } func NewOrganizationsAssetsService(s *Service) *OrganizationsAssetsService { @@ -670,6 +673,15 @@ type OrganizationsSourcesFindingsExternalSystemsService struct { s *Service } +func NewOrganizationsValuedResourcesService(s *Service) *OrganizationsValuedResourcesService { + rs := &OrganizationsValuedResourcesService{s: s} + return rs +} + +type OrganizationsValuedResourcesService struct { + s *Service +} + func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Assets = NewProjectsAssetsService(s) @@ -1582,6 +1594,8 @@ type AzureMetadata struct { ResourceGroup *AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -1647,6 +1661,29 @@ func (s AzureSubscription) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AzureTenant: Represents a Microsoft Entra tenant. +type AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup and DR // Service findings. type BackupDisasterRecovery struct { @@ -2349,6 +2386,8 @@ type Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -2530,6 +2569,84 @@ func (s *Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// DataAccessEvent: Details about a data access attempt made by a principal not +// authorized under applicable data security policy. +type DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DataFlowEvent: Details about a data flow event, in which either the data is +// moved to or is accessed from a non-compliant geo-location, as defined in the +// applicable data security policy. +type DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Database: Represents database access information, such as queries. A // database may be a sub-resource of an instance (as in the case of Cloud SQL // instances or Cloud Spanner instances), or the database instance itself. Some @@ -3029,6 +3146,10 @@ type Finding struct { // CreateTime: The time at which the finding was created in Security Command // Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -3069,6 +3190,8 @@ type Finding struct { // "TOXIC_COMBINATION" - Describes a group of security issues that, when the // issues occur together, represent a greater risk than when the issues occur // independently. A group of such issues is referred to as a toxic combination. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. @@ -4838,6 +4961,8 @@ type GoogleCloudSecuritycenterV2AzureMetadata struct { ResourceGroup *GoogleCloudSecuritycenterV2AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *GoogleCloudSecuritycenterV2AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *GoogleCloudSecuritycenterV2AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -4905,6 +5030,29 @@ func (s GoogleCloudSecuritycenterV2AzureSubscription) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2AzureTenant: Represents a Microsoft Entra tenant. +type GoogleCloudSecuritycenterV2AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information related to // Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -5389,6 +5537,8 @@ type GoogleCloudSecuritycenterV2Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -5571,6 +5721,85 @@ func (s *GoogleCloudSecuritycenterV2Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// GoogleCloudSecuritycenterV2DataAccessEvent: Details about a data access +// attempt made by a principal not authorized under applicable data security +// policy. +type GoogleCloudSecuritycenterV2DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2DataFlowEvent: Details about a data flow event, +// in which either the data is moved to or is accessed from a non-compliant +// geo-location, as defined in the applicable data security policy. +type GoogleCloudSecuritycenterV2DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Database: Represents database access information, // such as queries. A database may be a sub-resource of an instance (as in the // case of Cloud SQL instances or Cloud Spanner instances), or the database @@ -5964,6 +6193,10 @@ type GoogleCloudSecuritycenterV2Finding struct { // CreateTime: Output only. The time at which the finding was created in // Security Command Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*GoogleCloudSecuritycenterV2DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*GoogleCloudSecuritycenterV2DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *GoogleCloudSecuritycenterV2Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -6003,6 +6236,8 @@ type GoogleCloudSecuritycenterV2Finding struct { // in the security posture. // "TOXIC_COMBINATION" - Describes a combination of security issues that // represent a more severe security problem when taken together. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. @@ -26866,6 +27101,176 @@ func (c *OrganizationsSourcesFindingsExternalSystemsPatchCall) Do(opts ...google return ret, nil } +type OrganizationsValuedResourcesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the valued resources for a set of simulation results and filter. +// +// - parent: Name of parent to list valued resources. Valid formats: +// `organizations/{organization}`, +// `organizations/{organization}/simulations/{simulation}` +// `organizations/{organization}/simulations/{simulation}/attackExposureResult +// s/{attack_exposure_result_v2}`. +func (r *OrganizationsValuedResourcesService) List(parent string) *OrganizationsValuedResourcesListCall { + c := &OrganizationsValuedResourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": The filter expression that +// filters the valued resources in the response. Supported fields: * +// `resource_value` supports = * `resource_type` supports = +func (c *OrganizationsValuedResourcesListCall) Filter(filter string) *OrganizationsValuedResourcesListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": The fields by which to order +// the valued resources response. Supported fields: * `exposed_score` * +// `resource_value` * `resource_type` * `resource` * `display_name` Values +// should be a comma separated list of fields. For example: +// `exposed_score,resource_value`. The default sorting order is descending. To +// specify ascending or descending order for a field, append a ` ASC` or a ` +// DESC` suffix, respectively; for example: `exposed_score DESC`. +func (c *OrganizationsValuedResourcesListCall) OrderBy(orderBy string) *OrganizationsValuedResourcesListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// results to return in a single response. Default is 10, minimum is 1, maximum +// is 1000. +func (c *OrganizationsValuedResourcesListCall) PageSize(pageSize int64) *OrganizationsValuedResourcesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned by the +// last `ListValuedResourcesResponse`; indicates that this is a continuation of +// a prior `ListValuedResources` call, and that the system should return the +// next page of data. +func (c *OrganizationsValuedResourcesListCall) PageToken(pageToken string) *OrganizationsValuedResourcesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *OrganizationsValuedResourcesListCall) Fields(s ...googleapi.Field) *OrganizationsValuedResourcesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *OrganizationsValuedResourcesListCall) IfNoneMatch(entityTag string) *OrganizationsValuedResourcesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *OrganizationsValuedResourcesListCall) Context(ctx context.Context) *OrganizationsValuedResourcesListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *OrganizationsValuedResourcesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsValuedResourcesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/valuedResources") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "securitycenter.organizations.valuedResources.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListValuedResourcesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OrganizationsValuedResourcesListCall) Do(opts ...googleapi.CallOption) (*ListValuedResourcesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListValuedResourcesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *OrganizationsValuedResourcesListCall) Pages(ctx context.Context, f func(*ListValuedResourcesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + type ProjectsAssetsGroupCall struct { s *Service parent string diff --git a/securitycenter/v1beta1/securitycenter-api.json b/securitycenter/v1beta1/securitycenter-api.json index 7cb1c9cb423..e2e1b81aee1 100644 --- a/securitycenter/v1beta1/securitycenter-api.json +++ b/securitycenter/v1beta1/securitycenter-api.json @@ -903,7 +903,7 @@ } } }, - "revision": "20240809", + "revision": "20240827", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1301,6 +1301,10 @@ "subscription": { "$ref": "AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -1331,6 +1335,17 @@ }, "type": "object" }, + "AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -1730,6 +1745,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -1910,6 +1930,82 @@ }, "type": "object" }, + "DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -2190,6 +2286,20 @@ "format": "google-datetime", "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -2236,7 +2346,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -2246,7 +2357,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination." + "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, @@ -3743,6 +3855,10 @@ "subscription": { "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "GoogleCloudSecuritycenterV2AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -3773,6 +3889,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "GoogleCloudSecuritycenterV2AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -4168,6 +4295,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -4348,6 +4480,82 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -4659,6 +4867,20 @@ "readOnly": true, "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -4705,7 +4927,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -4715,7 +4938,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together." + "Describes a combination of security issues that represent a more severe security problem when taken together.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go index af480bc94dd..d4d781c0031 100644 --- a/securitycenter/v1beta1/securitycenter-gen.go +++ b/securitycenter/v1beta1/securitycenter-gen.go @@ -781,6 +781,8 @@ type AzureMetadata struct { ResourceGroup *AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -846,6 +848,29 @@ func (s AzureSubscription) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AzureTenant: Represents a Microsoft Entra tenant. +type AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup and DR // Service findings. type BackupDisasterRecovery struct { @@ -1374,6 +1399,8 @@ type Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -1555,6 +1582,84 @@ func (s *Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// DataAccessEvent: Details about a data access attempt made by a principal not +// authorized under applicable data security policy. +type DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DataFlowEvent: Details about a data flow event, in which either the data is +// moved to or is accessed from a non-compliant geo-location, as defined in the +// applicable data security policy. +type DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Database: Represents database access information, such as queries. A // database may be a sub-resource of an instance (as in the case of Cloud SQL // instances or Cloud Spanner instances), or the database instance itself. Some @@ -1934,6 +2039,10 @@ type Finding struct { // CreateTime: The time at which the finding was created in Security Command // Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -1974,6 +2083,8 @@ type Finding struct { // "TOXIC_COMBINATION" - Describes a group of security issues that, when the // issues occur together, represent a greater risk than when the issues occur // independently. A group of such issues is referred to as a toxic combination. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. @@ -3840,6 +3951,8 @@ type GoogleCloudSecuritycenterV2AzureMetadata struct { ResourceGroup *GoogleCloudSecuritycenterV2AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *GoogleCloudSecuritycenterV2AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *GoogleCloudSecuritycenterV2AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -3907,6 +4020,29 @@ func (s GoogleCloudSecuritycenterV2AzureSubscription) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2AzureTenant: Represents a Microsoft Entra tenant. +type GoogleCloudSecuritycenterV2AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information related to // Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -4391,6 +4527,8 @@ type GoogleCloudSecuritycenterV2Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -4573,6 +4711,85 @@ func (s *GoogleCloudSecuritycenterV2Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// GoogleCloudSecuritycenterV2DataAccessEvent: Details about a data access +// attempt made by a principal not authorized under applicable data security +// policy. +type GoogleCloudSecuritycenterV2DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2DataFlowEvent: Details about a data flow event, +// in which either the data is moved to or is accessed from a non-compliant +// geo-location, as defined in the applicable data security policy. +type GoogleCloudSecuritycenterV2DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Database: Represents database access information, // such as queries. A database may be a sub-resource of an instance (as in the // case of Cloud SQL instances or Cloud Spanner instances), or the database @@ -4966,6 +5183,10 @@ type GoogleCloudSecuritycenterV2Finding struct { // CreateTime: Output only. The time at which the finding was created in // Security Command Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*GoogleCloudSecuritycenterV2DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*GoogleCloudSecuritycenterV2DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *GoogleCloudSecuritycenterV2Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -5005,6 +5226,8 @@ type GoogleCloudSecuritycenterV2Finding struct { // in the security posture. // "TOXIC_COMBINATION" - Describes a combination of security issues that // represent a more severe security problem when taken together. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. diff --git a/securitycenter/v1beta2/securitycenter-api.json b/securitycenter/v1beta2/securitycenter-api.json index 788f2fcff95..f680dafee77 100644 --- a/securitycenter/v1beta2/securitycenter-api.json +++ b/securitycenter/v1beta2/securitycenter-api.json @@ -1913,7 +1913,7 @@ } } }, - "revision": "20240809", + "revision": "20240827", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2199,6 +2199,10 @@ "subscription": { "$ref": "AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -2229,6 +2233,17 @@ }, "type": "object" }, + "AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -2676,6 +2691,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -2856,6 +2876,82 @@ }, "type": "object" }, + "DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -3207,6 +3303,20 @@ "format": "google-datetime", "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -3253,7 +3363,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -3263,7 +3374,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination." + "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, @@ -4656,6 +4768,10 @@ "subscription": { "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", "description": "The Azure subscription associated with the resource." + }, + "tenant": { + "$ref": "GoogleCloudSecuritycenterV2AzureTenant", + "description": "The Azure Entra tenant associated with the resource." } }, "type": "object" @@ -4686,6 +4802,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AzureTenant": { + "description": "Represents a Microsoft Entra tenant.", + "id": "GoogleCloudSecuritycenterV2AzureTenant", + "properties": { + "id": { + "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -5081,6 +5208,11 @@ ], "type": "string" }, + "firstExploitationDate": { + "description": "Date of the earliest known exploitation.", + "format": "google-datetime", + "type": "string" + }, "id": { "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" @@ -5261,6 +5393,82 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataAccessEvent": { + "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataAccessEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data access event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data access event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal to access the data.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2DataFlowEvent": { + "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", + "id": "GoogleCloudSecuritycenterV2DataFlowEvent", + "properties": { + "eventId": { + "description": "Unique identifier for data flow event.", + "type": "string" + }, + "eventTime": { + "description": "Timestamp of data flow event.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation performed by the principal for the data flow event.", + "enum": [ + "OPERATION_UNSPECIFIED", + "READ", + "MOVE", + "COPY" + ], + "enumDescriptions": [ + "The operation is unspecified.", + "Represents a read operation.", + "Represents a move operation.", + "Represents a copy operation." + ], + "type": "string" + }, + "principalEmail": { + "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", + "type": "string" + }, + "violatedLocation": { + "description": "Non-compliant location of the principal or the data destination.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -5572,6 +5780,20 @@ "readOnly": true, "type": "string" }, + "dataAccessEvents": { + "description": "Data access events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" + }, + "type": "array" + }, + "dataFlowEvents": { + "description": "Data flow events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -5618,7 +5840,8 @@ "OBSERVATION", "SCC_ERROR", "POSTURE_VIOLATION", - "TOXIC_COMBINATION" + "TOXIC_COMBINATION", + "SENSITIVE_DATA_RISK" ], "enumDescriptions": [ "Unspecified finding class.", @@ -5628,7 +5851,8 @@ "Describes a security observation that is for informational purposes.", "Describes an error that prevents some SCC functionality.", "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together." + "Describes a combination of security issues that represent a more severe security problem when taken together.", + "Describes a potential security risk to data assets that contain sensitive data." ], "type": "string" }, diff --git a/securitycenter/v1beta2/securitycenter-gen.go b/securitycenter/v1beta2/securitycenter-gen.go index 2376414068a..854e2f40a09 100644 --- a/securitycenter/v1beta2/securitycenter-gen.go +++ b/securitycenter/v1beta2/securitycenter-gen.go @@ -855,6 +855,8 @@ type AzureMetadata struct { ResourceGroup *AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -920,6 +922,29 @@ func (s AzureSubscription) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AzureTenant: Represents a Microsoft Entra tenant. +type AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup and DR // Service findings. type BackupDisasterRecovery struct { @@ -1428,6 +1453,8 @@ type Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -1609,6 +1636,84 @@ func (s *Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// DataAccessEvent: Details about a data access attempt made by a principal not +// authorized under applicable data security policy. +type DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DataFlowEvent: Details about a data flow event, in which either the data is +// moved to or is accessed from a non-compliant geo-location, as defined in the +// applicable data security policy. +type DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Database: Represents database access information, such as queries. A // database may be a sub-resource of an instance (as in the case of Cloud SQL // instances or Cloud Spanner instances), or the database instance itself. Some @@ -2058,6 +2163,10 @@ type Finding struct { // CreateTime: The time at which the finding was created in Security Command // Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -2098,6 +2207,8 @@ type Finding struct { // "TOXIC_COMBINATION" - Describes a group of security issues that, when the // issues occur together, represent a greater risk than when the issues occur // independently. A group of such issues is referred to as a toxic combination. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. @@ -3791,6 +3902,8 @@ type GoogleCloudSecuritycenterV2AzureMetadata struct { ResourceGroup *GoogleCloudSecuritycenterV2AzureResourceGroup `json:"resourceGroup,omitempty"` // Subscription: The Azure subscription associated with the resource. Subscription *GoogleCloudSecuritycenterV2AzureSubscription `json:"subscription,omitempty"` + // Tenant: The Azure Entra tenant associated with the resource. + Tenant *GoogleCloudSecuritycenterV2AzureTenant `json:"tenant,omitempty"` // ForceSendFields is a list of field names (e.g. "ManagementGroups") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -3858,6 +3971,29 @@ func (s GoogleCloudSecuritycenterV2AzureSubscription) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2AzureTenant: Represents a Microsoft Entra tenant. +type GoogleCloudSecuritycenterV2AzureTenant struct { + // Id: The ID of the Microsoft Entra tenant, for example, + // "a11aaa11-aa11-1aa1-11aa-1aaa11a". + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2AzureTenant) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AzureTenant + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information related to // Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -4342,6 +4478,8 @@ type GoogleCloudSecuritycenterV2Cve struct { // for exploitation. // "NO_KNOWN" - No known exploitation activity. ExploitationActivity string `json:"exploitationActivity,omitempty"` + // FirstExploitationDate: Date of the earliest known exploitation. + FirstExploitationDate string `json:"firstExploitationDate,omitempty"` // Id: The unique identifier for the vulnerability. e.g. CVE-2021-34527 Id string `json:"id,omitempty"` // Impact: The potential impact of the vulnerability if it was to be exploited. @@ -4524,6 +4662,85 @@ func (s *GoogleCloudSecuritycenterV2Cvssv3) UnmarshalJSON(data []byte) error { return nil } +// GoogleCloudSecuritycenterV2DataAccessEvent: Details about a data access +// attempt made by a principal not authorized under applicable data security +// policy. +type GoogleCloudSecuritycenterV2DataAccessEvent struct { + // EventId: Unique identifier for data access event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data access event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal to access the data. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that accessed the data. + // The principal could be a user account, service account, Google group, or + // other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataAccessEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataAccessEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2DataFlowEvent: Details about a data flow event, +// in which either the data is moved to or is accessed from a non-compliant +// geo-location, as defined in the applicable data security policy. +type GoogleCloudSecuritycenterV2DataFlowEvent struct { + // EventId: Unique identifier for data flow event. + EventId string `json:"eventId,omitempty"` + // EventTime: Timestamp of data flow event. + EventTime string `json:"eventTime,omitempty"` + // Operation: The operation performed by the principal for the data flow event. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - The operation is unspecified. + // "READ" - Represents a read operation. + // "MOVE" - Represents a move operation. + // "COPY" - Represents a copy operation. + Operation string `json:"operation,omitempty"` + // PrincipalEmail: The email address of the principal that initiated the data + // flow event. The principal could be a user account, service account, Google + // group, or other. + PrincipalEmail string `json:"principalEmail,omitempty"` + // ViolatedLocation: Non-compliant location of the principal or the data + // destination. + ViolatedLocation string `json:"violatedLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EventId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GoogleCloudSecuritycenterV2DataFlowEvent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2DataFlowEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Database: Represents database access information, // such as queries. A database may be a sub-resource of an instance (as in the // case of Cloud SQL instances or Cloud Spanner instances), or the database @@ -4917,6 +5134,10 @@ type GoogleCloudSecuritycenterV2Finding struct { // CreateTime: Output only. The time at which the finding was created in // Security Command Center. CreateTime string `json:"createTime,omitempty"` + // DataAccessEvents: Data access events associated with the finding. + DataAccessEvents []*GoogleCloudSecuritycenterV2DataAccessEvent `json:"dataAccessEvents,omitempty"` + // DataFlowEvents: Data flow events associated with the finding. + DataFlowEvents []*GoogleCloudSecuritycenterV2DataFlowEvent `json:"dataFlowEvents,omitempty"` // Database: Database associated with the finding. Database *GoogleCloudSecuritycenterV2Database `json:"database,omitempty"` // Description: Contains more details about the finding. @@ -4956,6 +5177,8 @@ type GoogleCloudSecuritycenterV2Finding struct { // in the security posture. // "TOXIC_COMBINATION" - Describes a combination of security issues that // represent a more severe security problem when taken together. + // "SENSITIVE_DATA_RISK" - Describes a potential security risk to data assets + // that contain sensitive data. FindingClass string `json:"findingClass,omitempty"` // GroupMemberships: Contains details about groups of which this finding is a // member. A group is a collection of findings that are related in some way. diff --git a/sheets/v4/sheets-api.json b/sheets/v4/sheets-api.json index 7b7226903ec..971a1645454 100644 --- a/sheets/v4/sheets-api.json +++ b/sheets/v4/sheets-api.json @@ -870,7 +870,7 @@ } } }, - "revision": "20240730", + "revision": "20240826", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -6957,7 +6957,7 @@ "description": "The default format of all cells in the spreadsheet. CellData.effectiveFormat will not be set if the cell's format is equal to this default format. This field is read-only." }, "importFunctionsExternalUrlAccessAllowed": { - "description": "Whether to allow external URL access for image and import functions. Read only when true. When false, you can set to true.", + "description": "Whether to allow external URL access for image and import functions. Read only when true. When false, you can set to true. This value will be bypassed and always return true if the admin has enabled the allowlisting feature.", "type": "boolean" }, "iterativeCalculationSettings": { diff --git a/sheets/v4/sheets-gen.go b/sheets/v4/sheets-gen.go index 2e7df31b57e..c8cbc279048 100644 --- a/sheets/v4/sheets-gen.go +++ b/sheets/v4/sheets-gen.go @@ -7931,7 +7931,8 @@ type SpreadsheetProperties struct { DefaultFormat *CellFormat `json:"defaultFormat,omitempty"` // ImportFunctionsExternalUrlAccessAllowed: Whether to allow external URL // access for image and import functions. Read only when true. When false, you - // can set to true. + // can set to true. This value will be bypassed and always return true if the + // admin has enabled the allowlisting feature. ImportFunctionsExternalUrlAccessAllowed bool `json:"importFunctionsExternalUrlAccessAllowed,omitempty"` // IterativeCalculationSettings: Determines whether and how circular references // are resolved with iterative calculation. Absence of this field means that diff --git a/workspaceevents/v1/workspaceevents-api.json b/workspaceevents/v1/workspaceevents-api.json index 406f5af3f2b..89fdf03dcbb 100644 --- a/workspaceevents/v1/workspaceevents-api.json +++ b/workspaceevents/v1/workspaceevents-api.json @@ -353,7 +353,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The field to update. If omitted, updates any fields included in the request. You can update one of the following fields in a subscription: * `expire_time`: The timestamp when the subscription expires. * `ttl`: The time-to-live (TTL) or duration of the subscription. To fully replace the subscription (the equivalent of `PUT`), use `*`. Any omitted fields are updated with empty values.", + "description": "Optional. The field to update. If omitted, updates any fields included in the request. You can update one of the following fields in a subscription: * `expire_time`: The timestamp when the subscription expires. * `ttl`: The time-to-live (TTL) or duration of the subscription. * `event_types`: The list of event types to receive about the target resource. To fully replace the subscription (the equivalent of `PUT`), use `*`. Any omitted fields are updated with empty values.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -424,7 +424,7 @@ } } }, - "revision": "20240723", + "revision": "20240825", "rootUrl": "https://workspaceevents.googleapis.com/", "schemas": { "ListSubscriptionsResponse": { diff --git a/workspaceevents/v1/workspaceevents-gen.go b/workspaceevents/v1/workspaceevents-gen.go index 85556a43137..1f8a8492c18 100644 --- a/workspaceevents/v1/workspaceevents-gen.go +++ b/workspaceevents/v1/workspaceevents-gen.go @@ -1158,8 +1158,9 @@ func (r *SubscriptionsService) Patch(name string, subscription *Subscription) *S // omitted, updates any fields included in the request. You can update one of // the following fields in a subscription: * `expire_time`: The timestamp when // the subscription expires. * `ttl`: The time-to-live (TTL) or duration of the -// subscription. To fully replace the subscription (the equivalent of `PUT`), -// use `*`. Any omitted fields are updated with empty values. +// subscription. * `event_types`: The list of event types to receive about the +// target resource. To fully replace the subscription (the equivalent of +// `PUT`), use `*`. Any omitted fields are updated with empty values. func (c *SubscriptionsPatchCall) UpdateMask(updateMask string) *SubscriptionsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c