From 62bd9bf4ea3ebd62c29c7ceaf8c16fe621b5e6c2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 16 Apr 2024 07:12:48 +0000 Subject: [PATCH] feat(all): auto-regenerate discovery clients --- .../v1/androidmanagement-api.json | 11 +- androidmanagement/v1/androidmanagement-gen.go | 22 +- androidpublisher/v3/androidpublisher-api.json | 4 +- androidpublisher/v3/androidpublisher-gen.go | 4 +- api-list.json | 15 + apigee/v1/apigee-api.json | 340 ++- apigee/v1/apigee-gen.go | 654 +++++- chat/v1/chat-api.json | 27 +- chat/v1/chat-gen.go | 48 +- checks/v1alpha/checks-api.json | 14 +- checks/v1alpha/checks-gen.go | 5 + compute/v0.alpha/compute-api.json | 200 +- compute/v0.alpha/compute-gen.go | 257 ++- compute/v1/compute-api.json | 133 +- compute/v1/compute-gen.go | 170 +- content/v2.1/content-api.json | 42 +- content/v2.1/content-gen.go | 98 +- contentwarehouse/v1/contentwarehouse-api.json | 1970 ++++++++++++++--- contentwarehouse/v1/contentwarehouse-gen.go | 1561 ++++++++++--- discoveryengine/v1/discoveryengine-api.json | 238 +- discoveryengine/v1/discoveryengine-gen.go | 551 +++-- .../v1alpha/discoveryengine-api.json | 412 +++- .../v1alpha/discoveryengine-gen.go | 1672 +++++++++++--- .../v1beta/discoveryengine-api.json | 258 ++- discoveryengine/v1beta/discoveryengine-gen.go | 587 +++-- retail/v2/retail-api.json | 4 +- retail/v2/retail-gen.go | 6 +- retail/v2alpha/retail-api.json | 4 +- retail/v2alpha/retail-gen.go | 6 +- retail/v2beta/retail-api.json | 4 +- retail/v2beta/retail-gen.go | 6 +- searchads360/v0/searchads360-api.json | 241 +- searchads360/v0/searchads360-gen.go | 456 +++- securitycenter/v1/securitycenter-api.json | 827 ++++++- securitycenter/v1/securitycenter-gen.go | 1460 +++++++++++- .../v1beta1/securitycenter-api.json | 771 ++++++- securitycenter/v1beta1/securitycenter-gen.go | 1420 +++++++++++- .../v1beta2/securitycenter-api.json | 771 ++++++- securitycenter/v1beta2/securitycenter-gen.go | 1398 +++++++++++- .../v1/servicenetworking-api.json | 6 +- servicenetworking/v1/servicenetworking-gen.go | 10 +- .../v1beta/servicenetworking-api.json | 6 +- .../v1beta/servicenetworking-gen.go | 10 +- sheets/v4/sheets-api.json | 8 +- sheets/v4/sheets-gen.go | 3 + storagetransfer/v1/storagetransfer-api.json | 10 +- storagetransfer/v1/storagetransfer-gen.go | 10 +- youtube/v3/youtube-api.json | 4 +- 48 files changed, 14605 insertions(+), 2129 deletions(-) diff --git a/androidmanagement/v1/androidmanagement-api.json b/androidmanagement/v1/androidmanagement-api.json index e6c81c03c91..fc307c35728 100644 --- a/androidmanagement/v1/androidmanagement-api.json +++ b/androidmanagement/v1/androidmanagement-api.json @@ -703,7 +703,7 @@ "migrationTokens": { "methods": { "create": { - "description": "Creates a migration token, to migrate an existing device from being managed by the EMM's Device Policy Controller (DPC) to being managed by the Android Management API.", + "description": "Creates a migration token, to migrate an existing device from being managed by the EMM's Device Policy Controller (DPC) to being managed by the Android Management API. See the guide (https://developers.google.com/android/management/dpc-migration) for more details.", "flatPath": "v1/enterprises/{enterprisesId}/migrationTokens", "httpMethod": "POST", "id": "androidmanagement.enterprises.migrationTokens.create", @@ -712,7 +712,7 @@ ], "parameters": { "parent": { - "description": "Required. The enterprise in which this migration token will be created. Format: enterprises/{enterprise}", + "description": "Required. The enterprise in which this migration token is created. This must be the same enterprise which already manages the device in the Play EMM API. Format: enterprises/{enterprise}", "location": "path", "pattern": "^enterprises/[^/]+$", "required": true, @@ -1163,7 +1163,7 @@ } } }, - "revision": "20240402", + "revision": "20240408", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -3036,7 +3036,8 @@ }, "user": { "$ref": "User", - "description": "The user associated with this enrollment token. If it's specified when the enrollment token is created and the user does not exist, the user will be created. This field must not contain personally identifiable information. Only the account_identifier field needs to be set." + "deprecated": true, + "description": "This field is deprecated and the value is ignored." }, "value": { "description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", @@ -4014,7 +4015,7 @@ "type": "object" }, "MigrationToken": { - "description": "A token to initiate the migration of a device from being managed by a third-party DPC to being managed by Android Management API. A migration token is valid only for a single device.", + "description": "A token to initiate the migration of a device from being managed by a third-party DPC to being managed by Android Management API. A migration token is valid only for a single device. See the guide (https://developers.google.com/android/management/dpc-migration) for more details.", "id": "MigrationToken", "properties": { "additionalData": { diff --git a/androidmanagement/v1/androidmanagement-gen.go b/androidmanagement/v1/androidmanagement-gen.go index d424165d0e0..abb8ff212c4 100644 --- a/androidmanagement/v1/androidmanagement-gen.go +++ b/androidmanagement/v1/androidmanagement-gen.go @@ -2916,11 +2916,7 @@ type EnrollmentToken struct { // java.util.Properties representation of the properties in the JSON. QrCode string `json:"qrCode,omitempty"` - // User: The user associated with this enrollment token. If it's - // specified when the enrollment token is created and the user does not - // exist, the user will be created. This field must not contain - // personally identifiable information. Only the account_identifier - // field needs to be set. + // User: This field is deprecated and the value is ignored. User *User `json:"user,omitempty"` // Value: The token value that's passed to the device and authorizes the @@ -4568,6 +4564,9 @@ func (s *MemoryInfo) MarshalJSON() ([]byte, error) { // MigrationToken: A token to initiate the migration of a device from // being managed by a third-party DPC to being managed by Android // Management API. A migration token is valid only for a single device. +// See the guide +// (https://developers.google.com/android/management/dpc-migration) for +// more details. type MigrationToken struct { // AdditionalData: Immutable. Optional EMM-specified additional data. // Once the device is migrated this will be populated in the @@ -10903,10 +10902,13 @@ type EnterprisesMigrationTokensCreateCall struct { // Create: Creates a migration token, to migrate an existing device from // being managed by the EMM's Device Policy Controller (DPC) to being -// managed by the Android Management API. +// managed by the Android Management API. See the guide +// (https://developers.google.com/android/management/dpc-migration) for +// more details. // -// - parent: The enterprise in which this migration token will be -// created. Format: enterprises/{enterprise}. +// - parent: The enterprise in which this migration token is created. +// This must be the same enterprise which already manages the device +// in the Play EMM API. Format: enterprises/{enterprise}. func (r *EnterprisesMigrationTokensService) Create(parent string, migrationtoken *MigrationToken) *EnterprisesMigrationTokensCreateCall { c := &EnterprisesMigrationTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -11005,7 +11007,7 @@ func (c *EnterprisesMigrationTokensCreateCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Creates a migration token, to migrate an existing device from being managed by the EMM's Device Policy Controller (DPC) to being managed by the Android Management API.", + // "description": "Creates a migration token, to migrate an existing device from being managed by the EMM's Device Policy Controller (DPC) to being managed by the Android Management API. See the guide (https://developers.google.com/android/management/dpc-migration) for more details.", // "flatPath": "v1/enterprises/{enterprisesId}/migrationTokens", // "httpMethod": "POST", // "id": "androidmanagement.enterprises.migrationTokens.create", @@ -11014,7 +11016,7 @@ func (c *EnterprisesMigrationTokensCreateCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "parent": { - // "description": "Required. The enterprise in which this migration token will be created. Format: enterprises/{enterprise}", + // "description": "Required. The enterprise in which this migration token is created. This must be the same enterprise which already manages the device in the Play EMM API. Format: enterprises/{enterprise}", // "location": "path", // "pattern": "^enterprises/[^/]+$", // "required": true, diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index cc3cf3c5e59..5c3f63d1888 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -4731,7 +4731,7 @@ } } }, - "revision": "20240409", + "revision": "20240415", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -7465,7 +7465,7 @@ "type": "object" }, "OfferTag": { - "description": "Represents a custom tag specified for one-time products, purchase options, base plans and offers.", + "description": "Represents a custom tag specified for base plans and subscription offers.", "id": "OfferTag", "properties": { "tag": { diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 9dd46fc3880..d9147bc3611 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -5238,8 +5238,8 @@ func (s *OfferDetails) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// OfferTag: Represents a custom tag specified for one-time products, -// purchase options, base plans and offers. +// OfferTag: Represents a custom tag specified for base plans and +// subscription offers. type OfferTag struct { // Tag: Must conform with RFC-1034. That is, this string can only // contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and diff --git a/api-list.json b/api-list.json index 73c70aae814..fc53bc8633f 100644 --- a/api-list.json +++ b/api-list.json @@ -1879,6 +1879,21 @@ "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "config:v1", + "name": "config", + "version": "v1", + "title": "Infrastructure Manager API", + "description": "Creates and manages Google Cloud Platform resources and infrastructure.", + "discoveryRestUrl": "https://config.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/infrastructure-manager/docs", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "connectors:v1", diff --git a/apigee/v1/apigee-api.json b/apigee/v1/apigee-api.json index bf784455651..5a09907c495 100644 --- a/apigee/v1/apigee-api.json +++ b/apigee/v1/apigee-api.json @@ -9079,6 +9079,38 @@ } } }, + "securityAssessmentResults": { + "methods": { + "batchCompute": { + "description": "Compute RAV2 security scores for a set of resources.", + "flatPath": "v1/organizations/{organizationsId}/securityAssessmentResults:batchCompute", + "httpMethod": "POST", + "id": "apigee.organizations.securityAssessmentResults.batchCompute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the organization for which the score needs to be computed in the following format: `organizations/{org}/securityAssessmentResults`", + "location": "path", + "pattern": "^organizations/[^/]+/securityAssessmentResults$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:batchCompute", + "request": { + "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "securityProfiles": { "methods": { "create": { @@ -10013,7 +10045,7 @@ } } }, - "revision": "20240318", + "revision": "20240415", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { @@ -10416,7 +10448,7 @@ "type": "string" }, "imageUrl": { - "description": "Optional. Location of the image used for the catalog item in the catalog. For portal files, this can have the format `/files/{filename}`. Max length is 2,083 characters.", + "description": "Optional. Location of the image used for the catalog item in the catalog. This can be either an image with an external URL or a file path for [image files stored in the portal](/apigee/docs/api-platform/publish/portal/portal-files\"), for example, `/files/book-tree.jpg`. When specifying the URL of an external image, the image won't be uploaded to your assets; additionally, loading the image in the integrated portal will be subject to its availability, which may be blocked or restricted by [content security policies](/apigee/docs/api-platform/publish/portal/csp). Max length of file path is 2,083 characters.", "type": "string" }, "modified": { @@ -11340,6 +11372,104 @@ }, "type": "object" }, + "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest": { + "description": "Request for BatchComputeSecurityAssessmentResults.", + "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest", + "properties": { + "include": { + "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray", + "description": "Include only these resources." + }, + "includeAllResources": { + "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll", + "description": "Include all resources under the scope." + }, + "pageSize": { + "description": "Optional. The maximum number of results to return. The service may return fewer than this value. If unspecified, at most 50 results will be returned.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `BatchComputeSecurityAssessmentResults` call. Provide this to retrieve the subsequent page.", + "type": "string" + }, + "profile": { + "description": "Required. Name of the profile that is used for computation.", + "type": "string" + }, + "scope": { + "description": "Required. Scope of the resources for the computation. For Apigee, the environment is the scope of the resources.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll": { + "description": "Message for include_all option.", + "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll", + "properties": {}, + "type": "object" + }, + "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray": { + "description": "An array of resource messages.", + "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray", + "properties": { + "resources": { + "description": "Required. The array of resources. For Apigee, the proxies are resources.", + "items": { + "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource": { + "description": "Resource for which we are computing security assessment.", + "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource", + "properties": { + "name": { + "description": "Required. Name of this resource.", + "type": "string" + }, + "type": { + "description": "Required. Type of this resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "API_PROXY" + ], + "enumDescriptions": [ + "ResourceType not specified.", + "Resource is an Apigee Proxy." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse": { + "description": "Response for BatchComputeSecurityAssessmentResults.", + "id": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse", + "properties": { + "assessmentTime": { + "description": "The time of the assessment api call.", + "format": "google-datetime", + "type": "string" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is blank, there are no subsequent pages.", + "type": "string" + }, + "securityAssessmentResults": { + "description": "Default sort order is by resource name in alphabetic order.", + "items": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest": { "description": "Request for BatchUpdateSecurityIncident.", "id": "GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest", @@ -13620,7 +13750,7 @@ "type": "string" }, "diskEncryptionKeyName": { - "description": "Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`", + "description": "Customer Managed Encryption Key (CMEK) used for disk and volume encryption. If not specified, a Google-Managed encryption key will be used. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`", "type": "string" }, "displayName": { @@ -14910,11 +15040,11 @@ "type": "string" }, "apiConsumerDataEncryptionKeyName": { - "description": "Cloud KMS key name used for encrypting API consumer data. Required for US/EU regions when [BillingType](#BillingType) is `SUBSCRIPTION`. When [BillingType](#BillingType) is `EVALUATION` or the region is not US/EU, a Google-Managed encryption key will be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`", + "description": "Cloud KMS key name used for encrypting API consumer data. If not specified or [BillingType](#BillingType) is `EVALUATION`, a Google-Managed encryption key will be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`", "type": "string" }, "apiConsumerDataLocation": { - "description": "This field is needed only for customers with control plane in US or EU. Apigee stores some control plane data only in single region. This field determines which single region Apigee should use. For example: \"us-west1\" when control plane is in US or \"europe-west2\" when control plane is in EU.", + "description": "This field is needed only for customers using non-default data residency regions. Apigee stores some control plane data only in single region. This field determines which single region Apigee should use. For example: \"us-west1\" when control plane is in US or \"europe-west2\" when control plane is in EU.", "type": "string" }, "apigeeProjectId": { @@ -14956,7 +15086,7 @@ "type": "string" }, "controlPlaneEncryptionKeyName": { - "description": "Cloud KMS key name used for encrypting control plane data that is stored in a multi region. Required when [BillingType](#BillingType) is `SUBSCRIPTION`. When [BillingType](#BillingType) is `EVALUATION`, a Google-Managed encryption key will be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`", + "description": "Cloud KMS key name used for encrypting control plane data that is stored in a multi region. Only used for the data residency region \"US\" or \"EU\". If not specified or [BillingType](#BillingType) is `EVALUATION`, a Google-Managed encryption key will be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`", "type": "string" }, "createdAt": { @@ -15020,7 +15150,7 @@ "description": "Properties defined in the Apigee organization profile." }, "runtimeDatabaseEncryptionKeyName": { - "description": "Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. Update is not allowed after the organization is created. Required when [RuntimeType](#RuntimeType) is `CLOUD`. If not specified when [RuntimeType](#RuntimeType) is `TRIAL`, a Google-Managed encryption key will be used. For example: \"projects/foo/locations/us/keyRings/bar/cryptoKeys/baz\". **Note:** Not supported for Apigee hybrid.", + "description": "Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. Update is not allowed after the organization is created. If not specified or [RuntimeType](#RuntimeType) is `TRIAL`, a Google-Managed encryption key will be used. For example: \"projects/foo/locations/us/keyRings/bar/cryptoKeys/baz\". **Note:** Not supported for Apigee hybrid.", "type": "string" }, "runtimeType": { @@ -16679,6 +16809,194 @@ }, "type": "object" }, + "GoogleCloudApigeeV1SecurityAssessmentResult": { + "description": "The security assessment result for one resource.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResult", + "properties": { + "createTime": { + "description": "The time of the assessment of this resource. This could lag behind `assessment_time` due to caching within the backend.", + "format": "google-datetime", + "type": "string" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error status if scoring fails." + }, + "resource": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResultResource", + "description": "The assessed resource." + }, + "scoringResult": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResult", + "description": "The result of the assessment." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SecurityAssessmentResultResource": { + "description": "Resource for which we are computing security assessment.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResultResource", + "properties": { + "name": { + "description": "Required. Name of this resource.", + "type": "string" + }, + "resourceRevisionId": { + "description": "The revision id for the resource. In case of Apigee, this is proxy revision id.", + "type": "string" + }, + "type": { + "description": "Required. Type of this resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "API_PROXY" + ], + "enumDescriptions": [ + "ResourceType not specified.", + "Resource is an Apigee Proxy." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SecurityAssessmentResultScoringResult": { + "description": "The result of the assessment.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResult", + "properties": { + "assessmentRecommendations": { + "additionalProperties": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation" + }, + "description": "The recommendations of the assessment. The key is the \"name\" of the assessment (not display_name), and the value are the recommendations.", + "type": "object" + }, + "dataUpdateTime": { + "description": "The time when resource data was last fetched for this resource. This time may be different than when the resource was actually updated due to lag in data collection.", + "format": "google-datetime", + "type": "string" + }, + "failedAssessmentPerWeight": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "The number of failed assessments grouped by its weight. Keys are one of the following: \"MAJOR\", \"MODERATE\", \"MINOR\".", + "type": "object" + }, + "score": { + "description": "The security score of the assessment.", + "format": "int32", + "type": "integer" + }, + "severity": { + "description": "The severity of the assessment.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "LOW", + "MEDIUM", + "HIGH", + "NONE", + "NO_RISK", + "MINIMAL" + ], + "enumDescriptions": [ + "Severity is not defined.", + "Severity is low.", + "Severity is medium.", + "Severity is high.", + "Severity is none.", + "Severity represents no risk", + "Severity is minimal" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation": { + "description": "The message format of a recommendation from the assessment.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation", + "properties": { + "displayName": { + "description": "The display name of the assessment.", + "type": "string" + }, + "recommendations": { + "description": "The recommended steps of the assessment.", + "items": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation" + }, + "type": "array" + }, + "scoreImpact": { + "description": "Score impact indicates the impact on the overall score if the assessment were to pass.", + "format": "int32", + "type": "integer" + }, + "verdict": { + "description": "Verdict indicates the assessment result.", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "The verdict is unspecified.", + "The assessment has passed.", + "The assessment has failed." + ], + "type": "string" + }, + "weight": { + "description": "The weight of the assessment which was set in the profile.", + "enum": [ + "WEIGHT_UNSPECIFIED", + "MINOR", + "MODERATE", + "MAJOR" + ], + "enumDescriptions": [ + "The weight is unspecified.", + "The weight is minor.", + "The weight is moderate.", + "The weight is major." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation": { + "description": "The format of the assessment recommendation.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation", + "properties": { + "description": { + "description": "The description of the recommendation.", + "type": "string" + }, + "link": { + "$ref": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink", + "description": "The link for the recommendation." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink": { + "description": "The format for a link in the recommendation.", + "id": "GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink", + "properties": { + "text": { + "description": "The text of the url. (ie: \"Learn more\")", + "type": "string" + }, + "uri": { + "description": "The link itself.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1SecurityIncident": { "description": "Represents an SecurityIncident resource.", "id": "GoogleCloudApigeeV1SecurityIncident", @@ -17543,6 +17861,10 @@ "description": "Required. Enables TLS. If false, neither one-way nor two-way TLS will be enabled.", "type": "boolean" }, + "enforce": { + "description": "TLS is strictly enforced.", + "type": "boolean" + }, "ignoreValidationErrors": { "description": "If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.", "type": "boolean" @@ -17605,6 +17927,10 @@ "description": "Flag that specifies whether one-way TLS is enabled. Set to `true` to enable one-way TLS.", "type": "boolean" }, + "enforce": { + "description": "Flag that enforces TLS settings", + "type": "boolean" + }, "ignoreValidationErrors": { "description": "Flag that specifies whether to ignore TLS certificate validation errors. Set to `true` to ignore errors.", "type": "boolean" diff --git a/apigee/v1/apigee-gen.go b/apigee/v1/apigee-gen.go index a3cb32cf0c5..64b51efe310 100644 --- a/apigee/v1/apigee-gen.go +++ b/apigee/v1/apigee-gen.go @@ -203,6 +203,7 @@ func NewOrganizationsService(s *Service) *OrganizationsService { rs.Operations = NewOrganizationsOperationsService(s) rs.OptimizedHostStats = NewOrganizationsOptimizedHostStatsService(s) rs.Reports = NewOrganizationsReportsService(s) + rs.SecurityAssessmentResults = NewOrganizationsSecurityAssessmentResultsService(s) rs.SecurityProfiles = NewOrganizationsSecurityProfilesService(s) rs.Sharedflows = NewOrganizationsSharedflowsService(s) rs.Sites = NewOrganizationsSitesService(s) @@ -250,6 +251,8 @@ type OrganizationsService struct { Reports *OrganizationsReportsService + SecurityAssessmentResults *OrganizationsSecurityAssessmentResultsService + SecurityProfiles *OrganizationsSecurityProfilesService Sharedflows *OrganizationsSharedflowsService @@ -1112,6 +1115,15 @@ type OrganizationsReportsService struct { s *Service } +func NewOrganizationsSecurityAssessmentResultsService(s *Service) *OrganizationsSecurityAssessmentResultsService { + rs := &OrganizationsSecurityAssessmentResultsService{s: s} + return rs +} + +type OrganizationsSecurityAssessmentResultsService struct { + s *Service +} + func NewOrganizationsSecurityProfilesService(s *Service) *OrganizationsSecurityProfilesService { rs := &OrganizationsSecurityProfilesService{s: s} rs.Environments = NewOrganizationsSecurityProfilesEnvironmentsService(s) @@ -1934,8 +1946,16 @@ type GoogleCloudApigeeV1ApiDoc struct { Id int64 `json:"id,omitempty,string"` // ImageUrl: Optional. Location of the image used for the catalog item - // in the catalog. For portal files, this can have the format - // `/files/{filename}`. Max length is 2,083 characters. + // in the catalog. This can be either an image with an external URL or a + // file path for image files stored in the portal + // (/apigee/docs/api-platform/publish/portal/portal-files"), for + // example, `/files/book-tree.jpg`. When specifying the URL of an + // external image, the image won't be uploaded to your assets; + // additionally, loading the image in the integrated portal will be + // subject to its availability, which may be blocked or restricted by + // content security policies + // (/apigee/docs/api-platform/publish/portal/csp). Max length of file + // path is 2,083 characters. ImageUrl string `json:"imageUrl,omitempty"` // Modified: Output only. Time the catalog item was last modified in @@ -3202,6 +3222,169 @@ func (s *GoogleCloudApigeeV1Attributes) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest: +// Request for BatchComputeSecurityAssessmentResults. +type GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest struct { + // Include: Include only these resources. + Include *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray `json:"include,omitempty"` + + // IncludeAllResources: Include all resources under the scope. + IncludeAllResources *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll `json:"includeAllResources,omitempty"` + + // PageSize: Optional. The maximum number of results to return. The + // service may return fewer than this value. If unspecified, at most 50 + // results will be returned. + PageSize int64 `json:"pageSize,omitempty"` + + // PageToken: Optional. A page token, received from a previous + // `BatchComputeSecurityAssessmentResults` call. Provide this to + // retrieve the subsequent page. + PageToken string `json:"pageToken,omitempty"` + + // Profile: Required. Name of the profile that is used for computation. + Profile string `json:"profile,omitempty"` + + // Scope: Required. Scope of the resources for the computation. For + // Apigee, the environment is the scope of the resources. + Scope string `json:"scope,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Include") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Include") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestInclude +// All: Message for include_all option. +type GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestIncludeAll struct { +} + +// GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourc +// eArray: An array of resource messages. +type GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray struct { + // Resources: Required. The array of resources. For Apigee, the proxies + // are resources. + Resources []*GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource `json:"resources,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Resources") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Resources") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArray + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourc +// eArrayResource: Resource for which we are computing security +// assessment. +type GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource struct { + // Name: Required. Name of this resource. + Name string `json:"name,omitempty"` + + // Type: Required. Type of this resource. + // + // Possible values: + // "RESOURCE_TYPE_UNSPECIFIED" - ResourceType not specified. + // "API_PROXY" - Resource is an Apigee Proxy. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequestResourceArrayResource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse: +// Response for BatchComputeSecurityAssessmentResults. +type GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse struct { + // AssessmentTime: The time of the assessment api call. + AssessmentTime string `json:"assessmentTime,omitempty"` + + // NextPageToken: A token that can be sent as `page_token` to retrieve + // the next page. If this field is blank, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + + // SecurityAssessmentResults: Default sort order is by resource name in + // alphabetic order. + SecurityAssessmentResults []*GoogleCloudApigeeV1SecurityAssessmentResult `json:"securityAssessmentResults,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AssessmentTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AssessmentTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest: Request for // BatchUpdateSecurityIncident. type GoogleCloudApigeeV1BatchUpdateSecurityIncidentsRequest struct { @@ -6497,8 +6680,8 @@ type GoogleCloudApigeeV1Instance struct { Description string `json:"description,omitempty"` // DiskEncryptionKeyName: Customer Managed Encryption Key (CMEK) used - // for disk and volume encryption. Required for Apigee paid - // subscriptions only. Use the following format: + // for disk and volume encryption. If not specified, a Google-Managed + // encryption key will be used. Use the following format: // `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+ // )` DiskEncryptionKeyName string `json:"diskEncryptionKeyName,omitempty"` @@ -8907,18 +9090,16 @@ type GoogleCloudApigeeV1Organization struct { AnalyticsRegion string `json:"analyticsRegion,omitempty"` // ApiConsumerDataEncryptionKeyName: Cloud KMS key name used for - // encrypting API consumer data. Required for US/EU regions when - // BillingType (#BillingType) is `SUBSCRIPTION`. When BillingType - // (#BillingType) is `EVALUATION` or the region is not US/EU, a - // Google-Managed encryption key will be used. Format: - // `projects/*/locations/*/keyRings/*/cryptoKeys/*` + // encrypting API consumer data. If not specified or BillingType + // (#BillingType) is `EVALUATION`, a Google-Managed encryption key will + // be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*` ApiConsumerDataEncryptionKeyName string `json:"apiConsumerDataEncryptionKeyName,omitempty"` - // ApiConsumerDataLocation: This field is needed only for customers with - // control plane in US or EU. Apigee stores some control plane data only - // in single region. This field determines which single region Apigee - // should use. For example: "us-west1" when control plane is in US or - // "europe-west2" when control plane is in EU. + // ApiConsumerDataLocation: This field is needed only for customers + // using non-default data residency regions. Apigee stores some control + // plane data only in single region. This field determines which single + // region Apigee should use. For example: "us-west1" when control plane + // is in US or "europe-west2" when control plane is in EU. ApiConsumerDataLocation string `json:"apiConsumerDataLocation,omitempty"` // ApigeeProjectId: Output only. Apigee Project ID associated with the @@ -8962,10 +9143,11 @@ type GoogleCloudApigeeV1Organization struct { CaCertificate string `json:"caCertificate,omitempty"` // ControlPlaneEncryptionKeyName: Cloud KMS key name used for encrypting - // control plane data that is stored in a multi region. Required when - // BillingType (#BillingType) is `SUBSCRIPTION`. When BillingType - // (#BillingType) is `EVALUATION`, a Google-Managed encryption key will - // be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*` + // control plane data that is stored in a multi region. Only used for + // the data residency region "US" or "EU". If not specified or + // BillingType (#BillingType) is `EVALUATION`, a Google-Managed + // encryption key will be used. Format: + // `projects/*/locations/*/keyRings/*/cryptoKeys/*` ControlPlaneEncryptionKeyName string `json:"controlPlaneEncryptionKeyName,omitempty"` // CreatedAt: Output only. Time that the Apigee organization was created @@ -9024,9 +9206,8 @@ type GoogleCloudApigeeV1Organization struct { // RuntimeDatabaseEncryptionKeyName: Cloud KMS key name used for // encrypting the data that is stored and replicated across runtime // instances. Update is not allowed after the organization is created. - // Required when RuntimeType (#RuntimeType) is `CLOUD`. If not specified - // when RuntimeType (#RuntimeType) is `TRIAL`, a Google-Managed - // encryption key will be used. For example: + // If not specified or RuntimeType (#RuntimeType) is `TRIAL`, a + // Google-Managed encryption key will be used. For example: // "projects/foo/locations/us/keyRings/bar/cryptoKeys/baz". **Note:** // Not supported for Apigee hybrid. RuntimeDatabaseEncryptionKeyName string `json:"runtimeDatabaseEncryptionKeyName,omitempty"` @@ -11595,6 +11776,263 @@ func (s *GoogleCloudApigeeV1SecurityActionsConfig) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudApigeeV1SecurityAssessmentResult: The security assessment +// result for one resource. +type GoogleCloudApigeeV1SecurityAssessmentResult struct { + // CreateTime: The time of the assessment of this resource. This could + // lag behind `assessment_time` due to caching within the backend. + CreateTime string `json:"createTime,omitempty"` + + // Error: The error status if scoring fails. + Error *GoogleRpcStatus `json:"error,omitempty"` + + // Resource: The assessed resource. + Resource *GoogleCloudApigeeV1SecurityAssessmentResultResource `json:"resource,omitempty"` + + // ScoringResult: The result of the assessment. + ScoringResult *GoogleCloudApigeeV1SecurityAssessmentResultScoringResult `json:"scoringResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResult) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1SecurityAssessmentResultResource: Resource for +// which we are computing security assessment. +type GoogleCloudApigeeV1SecurityAssessmentResultResource struct { + // Name: Required. Name of this resource. + Name string `json:"name,omitempty"` + + // ResourceRevisionId: The revision id for the resource. In case of + // Apigee, this is proxy revision id. + ResourceRevisionId string `json:"resourceRevisionId,omitempty"` + + // Type: Required. Type of this resource. + // + // Possible values: + // "RESOURCE_TYPE_UNSPECIFIED" - ResourceType not specified. + // "API_PROXY" - Resource is an Apigee Proxy. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResultResource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResultResource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1SecurityAssessmentResultScoringResult: The result +// of the assessment. +type GoogleCloudApigeeV1SecurityAssessmentResultScoringResult struct { + // AssessmentRecommendations: The recommendations of the assessment. The + // key is the "name" of the assessment (not display_name), and the value + // are the recommendations. + AssessmentRecommendations map[string]GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation `json:"assessmentRecommendations,omitempty"` + + // DataUpdateTime: The time when resource data was last fetched for this + // resource. This time may be different than when the resource was + // actually updated due to lag in data collection. + DataUpdateTime string `json:"dataUpdateTime,omitempty"` + + // FailedAssessmentPerWeight: The number of failed assessments grouped + // by its weight. Keys are one of the following: "MAJOR", "MODERATE", + // "MINOR". + FailedAssessmentPerWeight map[string]int64 `json:"failedAssessmentPerWeight,omitempty"` + + // Score: The security score of the assessment. + Score int64 `json:"score,omitempty"` + + // Severity: The severity of the assessment. + // + // Possible values: + // "SEVERITY_UNSPECIFIED" - Severity is not defined. + // "LOW" - Severity is low. + // "MEDIUM" - Severity is medium. + // "HIGH" - Severity is high. + // "NONE" - Severity is none. + // "NO_RISK" - Severity represents no risk + // "MINIMAL" - Severity is minimal + Severity string `json:"severity,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AssessmentRecommendations") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "AssessmentRecommendations") to include in API requests with the JSON + // null value. By default, fields with empty values are omitted from API + // requests. However, any field with an empty value appearing in + // NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResultScoringResult) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResultScoringResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentReco +// mmendation: The message format of a recommendation from the +// assessment. +type GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation struct { + // DisplayName: The display name of the assessment. + DisplayName string `json:"displayName,omitempty"` + + // Recommendations: The recommended steps of the assessment. + Recommendations []*GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation `json:"recommendations,omitempty"` + + // ScoreImpact: Score impact indicates the impact on the overall score + // if the assessment were to pass. + ScoreImpact int64 `json:"scoreImpact,omitempty"` + + // Verdict: Verdict indicates the assessment result. + // + // Possible values: + // "VERDICT_UNSPECIFIED" - The verdict is unspecified. + // "PASS" - The assessment has passed. + // "FAIL" - The assessment has failed. + Verdict string `json:"verdict,omitempty"` + + // Weight: The weight of the assessment which was set in the profile. + // + // Possible values: + // "WEIGHT_UNSPECIFIED" - The weight is unspecified. + // "MINOR" - The weight is minor. + // "MODERATE" - The weight is moderate. + // "MAJOR" - The weight is major. + Weight string `json:"weight,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentReco +// mmendationRecommendation: The format of the assessment +// recommendation. +type GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation struct { + // Description: The description of the recommendation. + Description string `json:"description,omitempty"` + + // Link: The link for the recommendation. + Link *GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink `json:"link,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Description") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentReco +// mmendationRecommendationLink: The format for a link in the +// recommendation. +type GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink struct { + // Text: The text of the url. (ie: "Learn more") + Text string `json:"text,omitempty"` + + // Uri: The link itself. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Text") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Text") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudApigeeV1SecurityAssessmentResultScoringResultAssessmentRecommendationRecommendationLink + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudApigeeV1SecurityIncident: Represents an SecurityIncident // resource. type GoogleCloudApigeeV1SecurityIncident struct { @@ -12902,6 +13340,9 @@ type GoogleCloudApigeeV1TlsInfo struct { // TLS will be enabled. Enabled bool `json:"enabled,omitempty"` + // Enforce: TLS is strictly enforced. + Enforce bool `json:"enforce,omitempty"` + // IgnoreValidationErrors: If true, Edge ignores TLS certificate errors. // Valid when configuring TLS for target servers and target endpoints, // and when configuring virtual hosts that use 2-way TLS. When used with @@ -12994,6 +13435,9 @@ type GoogleCloudApigeeV1TlsInfoConfig struct { // `true` to enable one-way TLS. Enabled bool `json:"enabled,omitempty"` + // Enforce: Flag that enforces TLS settings + Enforce bool `json:"enforce,omitempty"` + // IgnoreValidationErrors: Flag that specifies whether to ignore TLS // certificate validation errors. Set to `true` to ignore errors. IgnoreValidationErrors bool `json:"ignoreValidationErrors,omitempty"` @@ -59307,6 +59751,174 @@ func (c *OrganizationsReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Goog } +// method id "apigee.organizations.securityAssessmentResults.batchCompute": + +type OrganizationsSecurityAssessmentResultsBatchComputeCall struct { + s *Service + name string + googlecloudapigeev1batchcomputesecurityassessmentresultsrequest *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchCompute: Compute RAV2 security scores for a set of resources. +// +// - name: Name of the organization for which the score needs to be +// computed in the following format: +// `organizations/{org}/securityAssessmentResults`. +func (r *OrganizationsSecurityAssessmentResultsService) BatchCompute(name string, googlecloudapigeev1batchcomputesecurityassessmentresultsrequest *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest) *OrganizationsSecurityAssessmentResultsBatchComputeCall { + c := &OrganizationsSecurityAssessmentResultsBatchComputeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudapigeev1batchcomputesecurityassessmentresultsrequest = googlecloudapigeev1batchcomputesecurityassessmentresultsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsSecurityAssessmentResultsBatchComputeCall) Fields(s ...googleapi.Field) *OrganizationsSecurityAssessmentResultsBatchComputeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsSecurityAssessmentResultsBatchComputeCall) Context(ctx context.Context) *OrganizationsSecurityAssessmentResultsBatchComputeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsSecurityAssessmentResultsBatchComputeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsSecurityAssessmentResultsBatchComputeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudapigeev1batchcomputesecurityassessmentresultsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:batchCompute") + 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{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "apigee.organizations.securityAssessmentResults.batchCompute" call. +// Exactly one of +// *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse.Serv +// erResponse.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 *OrganizationsSecurityAssessmentResultsBatchComputeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse, 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 := &GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse{ + 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 + // { + // "description": "Compute RAV2 security scores for a set of resources.", + // "flatPath": "v1/organizations/{organizationsId}/securityAssessmentResults:batchCompute", + // "httpMethod": "POST", + // "id": "apigee.organizations.securityAssessmentResults.batchCompute", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the organization for which the score needs to be computed in the following format: `organizations/{org}/securityAssessmentResults`", + // "location": "path", + // "pattern": "^organizations/[^/]+/securityAssessmentResults$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:batchCompute", + // "request": { + // "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsRequest" + // }, + // "response": { + // "$ref": "GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *OrganizationsSecurityAssessmentResultsBatchComputeCall) Pages(ctx context.Context, f func(*GoogleCloudApigeeV1BatchComputeSecurityAssessmentResultsResponse) error) error { + c.ctx_ = ctx + defer func(pt string) { c.googlecloudapigeev1batchcomputesecurityassessmentresultsrequest.PageToken = pt }(c.googlecloudapigeev1batchcomputesecurityassessmentresultsrequest.PageToken) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.googlecloudapigeev1batchcomputesecurityassessmentresultsrequest.PageToken = x.NextPageToken + } +} + // method id "apigee.organizations.securityProfiles.create": type OrganizationsSecurityProfilesCreateCall struct { diff --git a/chat/v1/chat-api.json b/chat/v1/chat-api.json index 7ecff9128cc..179971bc00e 100644 --- a/chat/v1/chat-api.json +++ b/chat/v1/chat-api.json @@ -535,7 +535,7 @@ ] }, "list": { - "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Requires [authentication](https://developers.google.com/workspace/chat/authenticate-authorize). Supports [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and [user authentication](hhttps://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Requires [authentication](https://developers.google.com/workspace/chat/authenticate-authorize). Supports [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "GET", "id": "chat.spaces.members.list", @@ -882,7 +882,7 @@ "reactions": { "methods": { "create": { - "description": "Creates a reaction and adds it to a message. Only unicode emojis are supported.For an example, see [Add a reaction to a reaction](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Creates a reaction and adds it to a message. Only unicode emojis are supported. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions", "httpMethod": "POST", "id": "chat.spaces.messages.reactions.create", @@ -990,7 +990,7 @@ "spaceEvents": { "methods": { "get": { - "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](hhttps://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", + "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", "flatPath": "v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}", "httpMethod": "GET", "id": "chat.spaces.spaceEvents.get", @@ -1074,7 +1074,7 @@ } } }, - "revision": "20240404", + "revision": "20240411", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessoryWidget": { @@ -1294,9 +1294,9 @@ "UPLOADED_CONTENT" ], "enumDescriptions": [ - "", - "", - "" + "Reserved.", + "The file is a Google Drive file.", + "The file is uploaded to Chat." ], "readOnly": true, "type": "string" @@ -1310,6 +1310,7 @@ "type": "object" }, "AttachmentDataRef": { + "description": "A reference to the attachment data.", "id": "AttachmentDataRef", "properties": { "attachmentUploadToken": { @@ -1572,6 +1573,7 @@ "type": "object" }, "CompleteImportSpaceResponse": { + "description": "Response message for completing the import process for a space.", "id": "CompleteImportSpaceResponse", "properties": { "space": { @@ -3161,6 +3163,7 @@ "type": "object" }, "ListMembershipsResponse": { + "description": "Response to list memberships of the space.", "id": "ListMembershipsResponse", "properties": { "memberships": { @@ -3178,6 +3181,7 @@ "type": "object" }, "ListMessagesResponse": { + "description": "Response message for listing messages.", "id": "ListMessagesResponse", "properties": { "messages": { @@ -3195,6 +3199,7 @@ "type": "object" }, "ListReactionsResponse": { + "description": "Response to a list reactions request.", "id": "ListReactionsResponse", "properties": { "nextPageToken": { @@ -3230,6 +3235,7 @@ "type": "object" }, "ListSpacesResponse": { + "description": "The response for a list spaces request.", "id": "ListSpacesResponse", "properties": { "nextPageToken": { @@ -3802,6 +3808,7 @@ "type": "object" }, "SetUpSpaceRequest": { + "description": "Request to create a space and add specified users to it.", "id": "SetUpSpaceRequest", "properties": { "memberships": { @@ -3891,7 +3898,7 @@ "type": "string" }, "externalUserAllowed": { - "description": "Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. * The space is used to [import data to Google Chat] (https://developers.google.com/workspace/chat/import-data). Import mode spaces must only permit members from the same Google Workspace organization. For existing spaces, this field is output only.", + "description": "Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. * The space is used to [import data to Google Chat] (https://developers.google.com/chat/api/guides/import-data-overview) because import mode spaces must only permit members from the same Google Workspace organization. However, as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), import mode spaces can permit any Google Chat user so this field can then be set for import mode spaces. For existing spaces, this field is output only.", "type": "boolean" }, "importMode": { @@ -3972,7 +3979,7 @@ "DM" ], "enumDescriptions": [ - "", + "Reserved.", "Conversations between two or more humans.", "1:1 Direct Message between a human and a Chat app, where all messages are flat. Note that this doesn't include direct messages between two humans." ], @@ -4255,6 +4262,7 @@ "type": "object" }, "UploadAttachmentRequest": { + "description": "Request to upload an attachment.", "id": "UploadAttachmentRequest", "properties": { "filename": { @@ -4265,6 +4273,7 @@ "type": "object" }, "UploadAttachmentResponse": { + "description": "Response of uploading an attachment.", "id": "UploadAttachmentResponse", "properties": { "attachmentDataRef": { diff --git a/chat/v1/chat-gen.go b/chat/v1/chat-gen.go index 886cd4fc486..51bafb4710f 100644 --- a/chat/v1/chat-gen.go +++ b/chat/v1/chat-gen.go @@ -664,9 +664,9 @@ type Attachment struct { // Source: Output only. The source of the attachment. // // Possible values: - // "SOURCE_UNSPECIFIED" - // "DRIVE_FILE" - // "UPLOADED_CONTENT" + // "SOURCE_UNSPECIFIED" - Reserved. + // "DRIVE_FILE" - The file is a Google Drive file. + // "UPLOADED_CONTENT" - The file is uploaded to Chat. Source string `json:"source,omitempty"` // ThumbnailUri: Output only. The thumbnail URL which should be used to @@ -702,6 +702,7 @@ func (s *Attachment) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AttachmentDataRef: A reference to the attachment data. type AttachmentDataRef struct { // AttachmentUploadToken: Opaque token containing a reference to an // uploaded attachment. Treated by clients as an opaque string and used @@ -1204,6 +1205,8 @@ func (s *CommonEventObject) MarshalJSON() ([]byte, error) { type CompleteImportSpaceRequest struct { } +// CompleteImportSpaceResponse: Response message for completing the +// import process for a space. type CompleteImportSpaceResponse struct { // Space: The import mode space. Space *Space `json:"space,omitempty"` @@ -4089,6 +4092,7 @@ func (s *KeyValue) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListMembershipsResponse: Response to list memberships of the space. type ListMembershipsResponse struct { // Memberships: Unordered list. List of memberships in the requested (or // first) page. @@ -4125,6 +4129,7 @@ func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListMessagesResponse: Response message for listing messages. type ListMessagesResponse struct { // Messages: List of messages. Messages []*Message `json:"messages,omitempty"` @@ -4160,6 +4165,7 @@ func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListReactionsResponse: Response to a list reactions request. type ListReactionsResponse struct { // NextPageToken: Continuation token to retrieve the next page of // results. It's empty for the last page of results. @@ -4232,6 +4238,7 @@ func (s *ListSpaceEventsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListSpacesResponse: The response for a list spaces request. type ListSpacesResponse struct { // NextPageToken: You can send a token as `pageToken` to retrieve the // next page of results. If empty, there are no subsequent pages. @@ -5337,6 +5344,8 @@ func (s *SelectionItems) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SetUpSpaceRequest: Request to create a space and add specified users +// to it. type SetUpSpaceRequest struct { // Memberships: Optional. The Google Chat users to invite to join the // space. Omit the calling user, as they are added automatically. The @@ -5514,9 +5523,13 @@ type Space struct { // account (unmanaged user account). By default, a space created by a // consumer account permits any Google Chat user. * The space is used to // [import data to Google Chat] - // (https://developers.google.com/workspace/chat/import-data). Import - // mode spaces must only permit members from the same Google Workspace - // organization. For existing spaces, this field is output only. + // (https://developers.google.com/chat/api/guides/import-data-overview) + // because import mode spaces must only permit members from the same + // Google Workspace organization. However, as part of the Google + // Workspace Developer Preview Program + // (https://developers.google.com/workspace/preview), import mode spaces + // can permit any Google Chat user so this field can then be set for + // import mode spaces. For existing spaces, this field is output only. ExternalUserAllowed bool `json:"externalUserAllowed,omitempty"` // ImportMode: Optional. Whether this space is created in `Import Mode` @@ -5583,7 +5596,7 @@ type Space struct { // a space. // // Possible values: - // "TYPE_UNSPECIFIED" + // "TYPE_UNSPECIFIED" - Reserved. // "ROOM" - Conversations between two or more humans. // "DM" - 1:1 Direct Message between a human and a Chat app, where all // messages are flat. Note that this doesn't include direct messages @@ -6179,6 +6192,7 @@ func (s *UpdatedWidget) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadAttachmentRequest: Request to upload an attachment. type UploadAttachmentRequest struct { // Filename: Required. The filename of the attachment, including the // file extension. @@ -6207,6 +6221,7 @@ func (s *UploadAttachmentRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadAttachmentResponse: Response of uploading an attachment. type UploadAttachmentResponse struct { // AttachmentDataRef: Reference to the uploaded attachment. AttachmentDataRef *AttachmentDataRef `json:"attachmentDataRef,omitempty"` @@ -8607,8 +8622,7 @@ type SpacesMembersListCall struct { // Supports app authentication // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) // and user authentication -// (hhttps://developers.google.com/workspace/chat/authenticate-authorize- -// chat-user). +// (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). // // - parent: The resource name of the space for which to fetch a // membership list. Format: spaces/{space}. @@ -8778,7 +8792,7 @@ func (c *SpacesMembersListCall) Do(opts ...googleapi.CallOption) (*ListMembershi } return ret, nil // { - // "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Requires [authentication](https://developers.google.com/workspace/chat/authenticate-authorize). Supports [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and [user authentication](hhttps://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + // "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Requires [authentication](https://developers.google.com/workspace/chat/authenticate-authorize). Supports [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", // "flatPath": "v1/spaces/{spacesId}/members", // "httpMethod": "GET", // "id": "chat.spaces.members.list", @@ -10261,7 +10275,7 @@ type SpacesMessagesReactionsCreateCall struct { } // Create: Creates a reaction and adds it to a message. Only unicode -// emojis are supported.For an example, see Add a reaction to a reaction +// emojis are supported. For an example, see Add a reaction to a message // (https://developers.google.com/workspace/chat/create-reactions). // Requires user authentication // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -10366,7 +10380,7 @@ func (c *SpacesMessagesReactionsCreateCall) Do(opts ...googleapi.CallOption) (*R } return ret, nil // { - // "description": "Creates a reaction and adds it to a message. Only unicode emojis are supported.For an example, see [Add a reaction to a reaction](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + // "description": "Creates a reaction and adds it to a message. Only unicode emojis are supported. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", // "flatPath": "v1/spaces/{spacesId}/messages/{messagesId}/reactions", // "httpMethod": "POST", // "id": "chat.spaces.messages.reactions.create", @@ -10796,10 +10810,10 @@ type SpacesSpaceEventsGetCall struct { // example, if you request an event about a new message but the message // was later updated, the server returns the updated `Message` resource // in the event payload. Requires user authentication -// (hhttps://developers.google.com/workspace/chat/authenticate-authorize- -// chat-user). To get an event, the authenticated user must be a member -// of the space. For an example, see Get details about an event from a -// Google Chat space +// (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). +// To get an event, the authenticated user must be a member of the +// space. For an example, see Get details about an event from a Google +// Chat space // (https://developers.google.com/workspace/chat/get-space-event). // // - name: The resource name of the space event. Format: @@ -10909,7 +10923,7 @@ func (c *SpacesSpaceEventsGetCall) Do(opts ...googleapi.CallOption) (*SpaceEvent } return ret, nil // { - // "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](hhttps://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", + // "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", // "flatPath": "v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}", // "httpMethod": "GET", // "id": "chat.spaces.spaceEvents.get", diff --git a/checks/v1alpha/checks-api.json b/checks/v1alpha/checks-api.json index 3c705f98d7d..230b18064e6 100644 --- a/checks/v1alpha/checks-api.json +++ b/checks/v1alpha/checks-api.json @@ -414,7 +414,7 @@ } } }, - "revision": "20240319", + "revision": "20240414", "rootUrl": "https://checks.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -798,7 +798,11 @@ "CHINA_PIPL", "SOUTH_KOREA_PIPA", "SOUTH_AFRICA_POPIA", - "JAPAN_APPI" + "JAPAN_APPI", + "INDIA_DPDPA", + "OCPA", + "TDPSA", + "MCDPA" ], "enumDescriptions": [ "Not specified.", @@ -823,7 +827,11 @@ "China Personal Information Protection Law.", "South Korea Personal Information Protection Act.", "South Africa Protection of Personal Information Act.", - "Japan Act on the Protection of Personal Information." + "Japan Act on the Protection of Personal Information.", + "India: The Digital Personal Data Protection Act, 2023.", + "Oregon Consumer Privacy Act.", + "Texas Data Privacy and Security Act.", + "Montana Consumer Data Privacy Act." ], "type": "string" } diff --git a/checks/v1alpha/checks-gen.go b/checks/v1alpha/checks-gen.go index 9f56a8c05ef..8bca0beab1c 100644 --- a/checks/v1alpha/checks-gen.go +++ b/checks/v1alpha/checks-gen.go @@ -717,6 +717,11 @@ type GoogleChecksReportV1alphaCheckCitation struct { // "SOUTH_AFRICA_POPIA" - South Africa Protection of Personal // Information Act. // "JAPAN_APPI" - Japan Act on the Protection of Personal Information. + // "INDIA_DPDPA" - India: The Digital Personal Data Protection Act, + // 2023. + // "OCPA" - Oregon Consumer Privacy Act. + // "TDPSA" - Texas Data Privacy and Security Act. + // "MCDPA" - Montana Consumer Data Privacy Act. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index 9295bf4d0dd..d8aeb8c855d 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -44323,7 +44323,7 @@ } } }, - "revision": "20240326", + "revision": "20240407", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -47599,11 +47599,11 @@ "type": "boolean" }, "externalManagedMigrationState": { - "description": "Specifies the canary migration state. Possible values are PREPARE, TEST, and FINALIZE. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to FINALIZE before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to FINALIZE at the same time. Optionally, the TEST state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", + "description": "Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", "enum": [ - "FINALIZE", "PREPARE", - "TEST" + "TEST_ALL_TRAFFIC", + "TEST_BY_PERCENTAGE" ], "enumDescriptions": [ "", @@ -47613,7 +47613,7 @@ "type": "string" }, "externalManagedMigrationTestingPercentage": { - "description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value is only used if the loadBalancingScheme in the BackendService is set to EXTERNAL when using the classic Application Load Balancer.", + "description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", "format": "float", "type": "number" }, @@ -47742,6 +47742,10 @@ "description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", "type": "string" }, + "networkPassThroughLbTrafficPolicy": { + "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", + "description": "Configures traffic steering properties of internal passthrough Network Load Balancers." + }, "outlierDetection": { "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." @@ -48734,6 +48738,41 @@ }, "type": "object" }, + "BackendServiceNetworkPassThroughLbTrafficPolicy": { + "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", + "properties": { + "zonalAffinity": { + "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", + "description": "When configured, new connections are load balanced across healthy backend endpoints in the local zone." + } + }, + "type": "object" + }, + "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity": { + "id": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", + "properties": { + "spillover": { + "description": "This field indicates whether zonal affinity is enabled or not. The possible values are: - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity is disabled. The load balancer distributes new connections to all healthy backend endpoints across all zones. - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there are no healthy backend endpoints in the local zone, the load balancer distributes new connections to all backend endpoints in the local zone. - ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there aren't enough healthy backend endpoints in the local zone, the load balancer distributes new connections to all healthy backend endpoints across all zones. ", + "enum": [ + "ZONAL_AFFINITY_DISABLED", + "ZONAL_AFFINITY_SPILL_CROSS_ZONE", + "ZONAL_AFFINITY_STAY_WITHIN_ZONE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "spilloverRatio": { + "description": "The value of the field must be in [0, 1]. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is equal to or above this threshold, the load balancer distributes new connections to all healthy endpoints in the local zone only. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is below this threshold, the load balancer distributes all new connections to all healthy endpoints across all zones.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "BackendServiceReference": { "id": "BackendServiceReference", "properties": { @@ -53641,11 +53680,11 @@ "type": "string" }, "externalManagedBackendBucketMigrationState": { - "description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST, and FINALIZE. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to FINALIZE before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to FINALIZE at the same time. Optionally, the TEST state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", + "description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", "enum": [ - "FINALIZE", "PREPARE", - "TEST" + "TEST_ALL_TRAFFIC", + "TEST_BY_PERCENTAGE" ], "enumDescriptions": [ "", @@ -53655,7 +53694,7 @@ "type": "string" }, "externalManagedBackendBucketMigrationTestingPercentage": { - "description": "Determines the fraction of requests to backend buckets that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value is only used if the loadBalancingScheme is set to EXTERNAL (when using the Classic ALB).", + "description": "Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", "format": "float", "type": "number" }, @@ -55666,6 +55705,7 @@ "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", "enum": [ "GRPC", + "GRPC_WITH_TLS", "HTTP", "HTTP2", "HTTPS", @@ -55682,6 +55722,7 @@ "", "", "", + "", "" ], "type": "string" @@ -58483,7 +58524,7 @@ }, "upcomingMaintenance": { "$ref": "UpcomingMaintenance", - "description": "[Output Only] Specifies upcoming maintenance for the instance." + "description": "[Output Only] DEPRECATED: Please use resource_status.upcoming_maintenance instead. Specifies upcoming maintenance for the instance." }, "zone": { "description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", @@ -62647,6 +62688,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": { @@ -62664,9 +62710,13 @@ "HIERARCHY", "NETWORK", "NETWORK_REGIONAL", + "SYSTEM_GLOBAL", + "SYSTEM_REGIONAL", "UNSPECIFIED" ], "enumDescriptions": [ + "", + "", "", "", "", @@ -63785,10 +63835,6 @@ "bandwidthPercentagePolicy": { "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" }, - "enabled": { - "description": "Enable or disable the AAI feature on this interconnect.", - "type": "boolean" - }, "profileDescription": { "description": "A description for the AAI profile on this interconnect.", "type": "string" @@ -69243,7 +69289,13 @@ "description": "Metadata defined as annotations on the network endpoint.", "type": "object" }, + "clientDestinationPort": { + "description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.", + "format": "int32", + "type": "integer" + }, "clientPort": { + "deprecated": true, "description": "Represents the port number to which PSC consumer sends packets. Only valid for network endpoint groups created with CLIENT_PORT_PER_ENDPOINT mapping mode.", "format": "int32", "type": "integer" @@ -69292,6 +69344,7 @@ "description": "Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set." }, "clientPortMappingMode": { + "deprecated": true, "description": "Only valid when networkEndpointType is GCE_VM_IP_PORT and the NEG is regional.", "enum": [ "CLIENT_PORT_PER_ENDPOINT", @@ -69348,10 +69401,11 @@ "type": "string" }, "networkEndpointType": { - "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.", + "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", "enum": [ "GCE_VM_IP", "GCE_VM_IP_PORT", + "GCE_VM_IP_PORTMAP", "INTERNET_FQDN_PORT", "INTERNET_IP_PORT", "NON_GCP_PRIVATE_IP_PORT", @@ -69361,6 +69415,7 @@ "enumDescriptions": [ "The network endpoint is represented by an IP address.", "The network endpoint is represented by IP address and port pair.", + "The network endpoint is represented by an IP, Port and Client Destination Port.", "The network endpoint is represented by fully qualified domain name and port.", "The network endpoint is represented by an internet IP address and port.", "The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer's on-premises.", @@ -70714,11 +70769,9 @@ "description": "Specifies whether auto mode subnet creation is allowed.", "enum": [ "AUTO_MODE_SUBNET_ALLOWED", - "AUTO_MODE_SUBNET_BLOCKED", - "AUTO_MODE_SUBNET_UNSPECIFIED" + "AUTO_MODE_SUBNET_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70728,11 +70781,9 @@ "description": "Specifies whether cloud NAT creation is allowed.", "enum": [ "CLOUD_NAT_ALLOWED", - "CLOUD_NAT_BLOCKED", - "CLOUD_NAT_UNSPECIFIED" + "CLOUD_NAT_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70742,11 +70793,9 @@ "description": "Specifies whether cloud router creation is allowed.", "enum": [ "CLOUD_ROUTER_ALLOWED", - "CLOUD_ROUTER_BLOCKED", - "CLOUD_ROUTER_UNSPECIFIED" + "CLOUD_ROUTER_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70756,11 +70805,9 @@ "description": "Specifies whether Cloud Interconnect creation is allowed.", "enum": [ "INTERCONNECT_ALLOWED", - "INTERCONNECT_BLOCKED", - "INTERCONNECT_UNSPECIFIED" + "INTERCONNECT_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70770,11 +70817,9 @@ "description": "Specifies whether cloud load balancing is allowed.", "enum": [ "LOAD_BALANCING_ALLOWED", - "LOAD_BALANCING_BLOCKED", - "LOAD_BALANCING_UNSPECIFIED" + "LOAD_BALANCING_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70784,11 +70829,9 @@ "description": "Specifies whether multi-nic in the same network is allowed.", "enum": [ "MULTI_NIC_IN_SAME_NETWORK_ALLOWED", - "MULTI_NIC_IN_SAME_NETWORK_BLOCKED", - "MULTI_NIC_IN_SAME_NETWORK_UNSPECIFIED" + "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70798,11 +70841,9 @@ "description": "Specifies whether Packet Mirroring 1.0 is supported.", "enum": [ "PACKET_MIRRORING_ALLOWED", - "PACKET_MIRRORING_BLOCKED", - "PACKET_MIRRORING_UNSPECIFIED" + "PACKET_MIRRORING_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70812,11 +70853,9 @@ "description": "Specifies whether private Google access is allowed.", "enum": [ "PRIVATE_GOOGLE_ACCESS_ALLOWED", - "PRIVATE_GOOGLE_ACCESS_BLOCKED", - "PRIVATE_GOOGLE_ACCESS_UNSPECIFIED" + "PRIVATE_GOOGLE_ACCESS_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70826,11 +70865,9 @@ "description": "Specifies whether PSC creation is allowed.", "enum": [ "PSC_ALLOWED", - "PSC_BLOCKED", - "PSC_UNSPECIFIED" + "PSC_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70840,11 +70877,9 @@ "description": "Specifies whether unicast within the same network is allowed.", "enum": [ "SAME_NETWORK_UNICAST_ALLOWED", - "SAME_NETWORK_UNICAST_BLOCKED", - "SAME_NETWORK_UNICAST_UNSPECIFIED" + "SAME_NETWORK_UNICAST_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70854,11 +70889,9 @@ "description": "Specifies whether static route creation is allowed.", "enum": [ "STATIC_ROUTES_ALLOWED", - "STATIC_ROUTES_BLOCKED", - "STATIC_ROUTES_UNSPECIFIED" + "STATIC_ROUTES_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70868,11 +70901,9 @@ "description": "Specifies whether VPC peering is allowed.", "enum": [ "VPC_PEERING_ALLOWED", - "VPC_PEERING_BLOCKED", - "VPC_PEERING_UNSPECIFIED" + "VPC_PEERING_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70882,11 +70913,9 @@ "description": "Specifies whether VPN creation is allowed.", "enum": [ "VPN_ALLOWED", - "VPN_BLOCKED", - "VPN_UNSPECIFIED" + "VPN_BLOCKED" ], "enumDescriptions": [ - "", "", "" ], @@ -70897,11 +70926,9 @@ "items": { "enum": [ "SUBNET_PURPOSE_CUSTOM_HARDWARE", - "SUBNET_PURPOSE_PRIVATE", - "SUBNET_PURPOSE_UNSPECIFIED" + "SUBNET_PURPOSE_PRIVATE" ], "enumDescriptions": [ - "", "", "" ], @@ -70915,11 +70942,9 @@ "enum": [ "SUBNET_STACK_TYPE_IPV4_IPV6", "SUBNET_STACK_TYPE_IPV4_ONLY", - "SUBNET_STACK_TYPE_IPV6_ONLY", - "SUBNET_STACK_TYPE_UNSPECIFIED" + "SUBNET_STACK_TYPE_IPV6_ONLY" ], "enumDescriptions": [ - "", "", "", "" @@ -70951,11 +70976,9 @@ "description": "Specifies which type of multicast is supported.", "enum": [ "MULTICAST_SDN", - "MULTICAST_ULL", - "MULTICAST_UNSPECIFIED" + "MULTICAST_ULL" ], "enumDescriptions": [ - "", "", "" ], @@ -70965,11 +70988,9 @@ "description": "Specifies which type of unicast is supported.", "enum": [ "UNICAST_SDN", - "UNICAST_ULL", - "UNICAST_UNSPECIFIED" + "UNICAST_ULL" ], "enumDescriptions": [ - "", "", "" ], @@ -71261,6 +71282,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": { @@ -71277,9 +71303,11 @@ "enum": [ "HIERARCHY", "NETWORK", + "SYSTEM", "UNSPECIFIED" ], "enumDescriptions": [ + "", "", "", "" @@ -74982,7 +75010,7 @@ "type": "array" }, "cidrRanges": { - "description": "One or more IPv4 or IPv6 CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\". Note: Support for IPv6 traffic is in preview.", + "description": "One or more IPv4 or IPv6 CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\".", "items": { "type": "string" }, @@ -80994,7 +81022,7 @@ "type": "object" }, "ResourcePolicyGroupPlacementPolicy": { - "description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality", + "description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation", "id": "ResourcePolicyGroupPlacementPolicy", "properties": { "availabilityDomainCount": { @@ -81007,25 +81035,13 @@ "enum": [ "CLUSTERED", "COLLOCATED", + "MAX_SPREAD", "UNSPECIFIED_COLLOCATION" ], "enumDescriptions": [ "Specifies collocation option that provides tight collocation with minimum network latency.", "", - "" - ], - "type": "string" - }, - "locality": { - "description": "Specifies network locality", - "enum": [ - "BEST_EFFORT", - "STRICT", - "UNSPECIFIED_LOCALITY" - ], - "enumDescriptions": [ - "", - "", + "Specifies collocation option that provides spreading across clusters.", "" ], "type": "string" @@ -81052,20 +81068,6 @@ "format": "int32", "type": "integer" }, - "style": { - "description": "Specifies instances to hosts placement relationship", - "enum": [ - "COMPACT", - "FULLY_SPREAD", - "UNSPECIFIED_PLACEMENT_TYPE" - ], - "enumDescriptions": [ - "VMs are placed without regard for shared hosts", - "VMs do not share the same hosts", - "" - ], - "type": "string" - }, "tpuTopology": { "description": "Specifies the shape of the TPU slice", "type": "string" @@ -81554,6 +81556,7 @@ "OS_TERMINATED", "PREEMPTED", "SCHEDULED_STOP", + "SHUTDOWN_DUE_TO_HOST_ERROR", "SHUTDOWN_DUE_TO_MAINTENANCE", "USER_TERMINATED" ], @@ -81569,6 +81572,7 @@ "Terminated from the OS level", "Terminated due to preemption", "Terminated due to scheduled stop", + "Terminated due to host error", "Terminated due to maintenance", "Terminated by user" ], @@ -86465,14 +86469,14 @@ "type": "string" }, "consumerAcceptLists": { - "description": "Projects that are allowed to connect to this service attachment.", + "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", "items": { "$ref": "ServiceAttachmentConsumerProjectLimit" }, "type": "array" }, "consumerRejectLists": { - "description": "Projects that are not allowed to connect to this service attachment. The project can be specified using its id or number.", + "description": "Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.", "items": { "type": "string" }, diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 7a858acb062..28f75ef1cc7 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -6208,31 +6208,34 @@ type BackendService struct { EnableCDN bool `json:"enableCDN,omitempty"` // ExternalManagedMigrationState: Specifies the canary migration state. - // Possible values are PREPARE, TEST, and FINALIZE. To begin the - // migration from EXTERNAL to EXTERNAL_MANAGED, the state must be - // changed to PREPARE. The state must be changed to FINALIZE before the - // loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, - // the TEST state can be used to migrate traffic by percentage using - // externalManagedMigrationTestingPercentage. Rolling back a migration - // requires the states to be set in reverse order. So changing the - // scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set - // to FINALIZE at the same time. Optionally, the TEST state can be used - // to migrate some traffic back to EXTERNAL or PREPARE can be used to - // migrate all traffic back to EXTERNAL. + // Possible values are PREPARE, TEST_BY_PERCENTAGE, and + // TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to + // EXTERNAL_MANAGED, the state must be changed to PREPARE. The state + // must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme + // can be changed to EXTERNAL_MANAGED. Optionally, the + // TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage + // using externalManagedMigrationTestingPercentage. Rolling back a + // migration requires the states to be set in reverse order. So changing + // the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be + // set to TEST_ALL_TRAFFIC at the same time. Optionally, the + // TEST_BY_PERCENTAGE state can be used to migrate some traffic back to + // EXTERNAL or PREPARE can be used to migrate all traffic back to + // EXTERNAL. // // Possible values: - // "FINALIZE" // "PREPARE" - // "TEST" + // "TEST_ALL_TRAFFIC" + // "TEST_BY_PERCENTAGE" ExternalManagedMigrationState string `json:"externalManagedMigrationState,omitempty"` // ExternalManagedMigrationTestingPercentage: Determines the fraction of // requests that should be processed by the Global external Application // Load Balancer. The value of this field must be in the range [0, 100]. // Session affinity options will slightly affect this routing behavior, - // for more details, see: Session Affinity. This value is only used if - // the loadBalancingScheme in the BackendService is set to EXTERNAL when - // using the classic Application Load Balancer. + // for more details, see: Session Affinity. This value can only be set + // if the loadBalancingScheme in the BackendService is set to EXTERNAL + // (when using the classic Application Load Balancer) and the migration + // state is TEST_BY_PERCENTAGE. ExternalManagedMigrationTestingPercentage float64 `json:"externalManagedMigrationTestingPercentage,omitempty"` // FailoverPolicy: Requires at least one backend instance group to be @@ -6443,6 +6446,10 @@ type BackendService struct { // scheme is set to INTERNAL. Network string `json:"network,omitempty"` + // NetworkPassThroughLbTrafficPolicy: Configures traffic steering + // properties of internal passthrough Network Load Balancers. + NetworkPassThroughLbTrafficPolicy *BackendServiceNetworkPassThroughLbTrafficPolicy `json:"networkPassThroughLbTrafficPolicy,omitempty"` + // OutlierDetection: Settings controlling the ejection of unhealthy // backend endpoints from the load balancing pool of each individual // proxy instance that processes the traffic for the given backend @@ -8067,6 +8074,104 @@ func (s *BackendServiceLogConfig) UnmarshalJSON(data []byte) error { return nil } +type BackendServiceNetworkPassThroughLbTrafficPolicy struct { + // ZonalAffinity: When configured, new connections are load balanced + // across healthy backend endpoints in the local zone. + ZonalAffinity *BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity `json:"zonalAffinity,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ZonalAffinity") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ZonalAffinity") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceNetworkPassThroughLbTrafficPolicy) MarshalJSON() ([]byte, error) { + type NoMethod BackendServiceNetworkPassThroughLbTrafficPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity struct { + // Spillover: This field indicates whether zonal affinity is enabled or + // not. The possible values are: - ZONAL_AFFINITY_DISABLED: Default + // Value. Zonal Affinity is disabled. The load balancer distributes new + // connections to all healthy backend endpoints across all zones. - + // ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is enabled. The load + // balancer distributes new connections to all healthy backend endpoints + // in the local zone only. If there are no healthy backend endpoints in + // the local zone, the load balancer distributes new connections to all + // backend endpoints in the local zone. - + // ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is enabled. The load + // balancer distributes new connections to all healthy backend endpoints + // in the local zone only. If there aren't enough healthy backend + // endpoints in the local zone, the load balancer distributes new + // connections to all healthy backend endpoints across all zones. + // + // Possible values: + // "ZONAL_AFFINITY_DISABLED" + // "ZONAL_AFFINITY_SPILL_CROSS_ZONE" + // "ZONAL_AFFINITY_STAY_WITHIN_ZONE" + Spillover string `json:"spillover,omitempty"` + + // SpilloverRatio: The value of the field must be in [0, 1]. When the + // ratio of the count of healthy backend endpoints in a zone to the + // count of backend endpoints in that same zone is equal to or above + // this threshold, the load balancer distributes new connections to all + // healthy endpoints in the local zone only. When the ratio of the count + // of healthy backend endpoints in a zone to the count of backend + // endpoints in that same zone is below this threshold, the load + // balancer distributes all new connections to all healthy endpoints + // across all zones. + SpilloverRatio float64 `json:"spilloverRatio,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Spillover") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Spillover") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity) MarshalJSON() ([]byte, error) { + type NoMethod BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity) UnmarshalJSON(data []byte) error { + type NoMethod BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity + var s1 struct { + SpilloverRatio gensupport.JSONFloat64 `json:"spilloverRatio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.SpilloverRatio = float64(s1.SpilloverRatio) + return nil +} + type BackendServiceReference struct { BackendService string `json:"backendService,omitempty"` @@ -15166,30 +15271,34 @@ type ForwardingRule struct { // ExternalManagedBackendBucketMigrationState: Specifies the canary // migration state for the backend buckets attached to this forwarding - // rule. Possible values are PREPARE, TEST, and FINALIZE. To begin the - // migration from EXTERNAL to EXTERNAL_MANAGED, the state must be - // changed to PREPARE. The state must be changed to FINALIZE before the - // loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, - // the TEST state can be used to migrate traffic to backend buckets - // attached to this forwarding rule by percentage using + // rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and + // TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to + // EXTERNAL_MANAGED, the state must be changed to PREPARE. The state + // must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme + // can be changed to EXTERNAL_MANAGED. Optionally, the + // TEST_BY_PERCENTAGE state can be used to migrate traffic to backend + // buckets attached to this forwarding rule by percentage using // externalManagedBackendBucketMigrationTestingPercentage. Rolling back // a migration requires the states to be set in reverse order. So // changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the - // state to be set to FINALIZE at the same time. Optionally, the TEST - // state can be used to migrate some traffic back to EXTERNAL or PREPARE - // can be used to migrate all traffic back to EXTERNAL. + // state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the + // TEST_BY_PERCENTAGE state can be used to migrate some traffic back to + // EXTERNAL or PREPARE can be used to migrate all traffic back to + // EXTERNAL. // // Possible values: - // "FINALIZE" // "PREPARE" - // "TEST" + // "TEST_ALL_TRAFFIC" + // "TEST_BY_PERCENTAGE" ExternalManagedBackendBucketMigrationState string `json:"externalManagedBackendBucketMigrationState,omitempty"` // ExternalManagedBackendBucketMigrationTestingPercentage: Determines // the fraction of requests to backend buckets that should be processed - // by the Global external Application Load Balancer. The value of this - // field must be in the range [0, 100]. This value is only used if the - // loadBalancingScheme is set to EXTERNAL (when using the Classic ALB). + // by the global external Application Load Balancer. The value of this + // field must be in the range [0, 100]. This value can only be set if + // the loadBalancingScheme in the BackendService is set to EXTERNAL + // (when using the classic Application Load Balancer) and the migration + // state is TEST_BY_PERCENTAGE. ExternalManagedBackendBucketMigrationTestingPercentage float64 `json:"externalManagedBackendBucketMigrationTestingPercentage,omitempty"` // Fingerprint: Fingerprint of this resource. A hash of the contents @@ -18130,6 +18239,7 @@ type HealthCheck struct { // // Possible values: // "GRPC" + // "GRPC_WITH_TLS" // "HTTP" // "HTTP2" // "HTTPS" @@ -22121,8 +22231,9 @@ type Instance struct { // RFC1035. Multiple tags can be specified via the 'tags.items' field. Tags *Tags `json:"tags,omitempty"` - // UpcomingMaintenance: [Output Only] Specifies upcoming maintenance for - // the instance. + // UpcomingMaintenance: [Output Only] DEPRECATED: Please use + // resource_status.upcoming_maintenance instead. Specifies upcoming + // maintenance for the instance. UpcomingMaintenance *UpcomingMaintenance `json:"upcomingMaintenance,omitempty"` // Zone: [Output Only] URL of the zone where the instance resides. You @@ -28256,6 +28367,10 @@ type InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // 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"` @@ -28269,6 +28384,8 @@ type InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // "HIERARCHY" // "NETWORK" // "NETWORK_REGIONAL" + // "SYSTEM_GLOBAL" + // "SYSTEM_REGIONAL" // "UNSPECIFIED" Type string `json:"type,omitempty"` @@ -29838,9 +29955,6 @@ func (s *Interconnect) MarshalJSON() ([]byte, error) { type InterconnectApplicationAwareInterconnect struct { BandwidthPercentagePolicy *InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy `json:"bandwidthPercentagePolicy,omitempty"` - // Enabled: Enable or disable the AAI feature on this interconnect. - Enabled bool `json:"enabled,omitempty"` - // ProfileDescription: A description for the AAI profile on this // interconnect. ProfileDescription string `json:"profileDescription,omitempty"` @@ -37458,6 +37572,11 @@ type NetworkEndpoint struct { // Annotations: Metadata defined as annotations on the network endpoint. Annotations map[string]string `json:"annotations,omitempty"` + // ClientDestinationPort: Represents the port number to which PSC + // consumer sends packets. Only valid for network endpoint groups + // created with GCE_VM_IP_PORTMAP endpoint type. + ClientDestinationPort int64 `json:"clientDestinationPort,omitempty"` + // ClientPort: Represents the port number to which PSC consumer sends // packets. Only valid for network endpoint groups created with // CLIENT_PORT_PER_ENDPOINT mapping mode. @@ -37603,12 +37722,14 @@ type NetworkEndpointGroup struct { // NetworkEndpointType: Type of network endpoints in this network // endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, // NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, - // SERVERLESS, PRIVATE_SERVICE_CONNECT. + // SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP. // // Possible values: // "GCE_VM_IP" - The network endpoint is represented by an IP address. // "GCE_VM_IP_PORT" - The network endpoint is represented by IP // address and port pair. + // "GCE_VM_IP_PORTMAP" - The network endpoint is represented by an IP, + // Port and Client Destination Port. // "INTERNET_FQDN_PORT" - The network endpoint is represented by fully // qualified domain name and port. // "INTERNET_IP_PORT" - The network endpoint is represented by an @@ -39533,7 +39654,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "AUTO_MODE_SUBNET_ALLOWED" // "AUTO_MODE_SUBNET_BLOCKED" - // "AUTO_MODE_SUBNET_UNSPECIFIED" AllowAutoModeSubnet string `json:"allowAutoModeSubnet,omitempty"` // AllowCloudNat: Specifies whether cloud NAT creation is allowed. @@ -39541,7 +39661,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "CLOUD_NAT_ALLOWED" // "CLOUD_NAT_BLOCKED" - // "CLOUD_NAT_UNSPECIFIED" AllowCloudNat string `json:"allowCloudNat,omitempty"` // AllowCloudRouter: Specifies whether cloud router creation is allowed. @@ -39549,7 +39668,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "CLOUD_ROUTER_ALLOWED" // "CLOUD_ROUTER_BLOCKED" - // "CLOUD_ROUTER_UNSPECIFIED" AllowCloudRouter string `json:"allowCloudRouter,omitempty"` // AllowInterconnect: Specifies whether Cloud Interconnect creation is @@ -39558,7 +39676,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "INTERCONNECT_ALLOWED" // "INTERCONNECT_BLOCKED" - // "INTERCONNECT_UNSPECIFIED" AllowInterconnect string `json:"allowInterconnect,omitempty"` // AllowLoadBalancing: Specifies whether cloud load balancing is @@ -39567,7 +39684,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "LOAD_BALANCING_ALLOWED" // "LOAD_BALANCING_BLOCKED" - // "LOAD_BALANCING_UNSPECIFIED" AllowLoadBalancing string `json:"allowLoadBalancing,omitempty"` // AllowMultiNicInSameNetwork: Specifies whether multi-nic in the same @@ -39576,7 +39692,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "MULTI_NIC_IN_SAME_NETWORK_ALLOWED" // "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" - // "MULTI_NIC_IN_SAME_NETWORK_UNSPECIFIED" AllowMultiNicInSameNetwork string `json:"allowMultiNicInSameNetwork,omitempty"` // AllowPacketMirroring: Specifies whether Packet Mirroring 1.0 is @@ -39585,7 +39700,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "PACKET_MIRRORING_ALLOWED" // "PACKET_MIRRORING_BLOCKED" - // "PACKET_MIRRORING_UNSPECIFIED" AllowPacketMirroring string `json:"allowPacketMirroring,omitempty"` // AllowPrivateGoogleAccess: Specifies whether private Google access is @@ -39594,7 +39708,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "PRIVATE_GOOGLE_ACCESS_ALLOWED" // "PRIVATE_GOOGLE_ACCESS_BLOCKED" - // "PRIVATE_GOOGLE_ACCESS_UNSPECIFIED" AllowPrivateGoogleAccess string `json:"allowPrivateGoogleAccess,omitempty"` // AllowPsc: Specifies whether PSC creation is allowed. @@ -39602,7 +39715,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "PSC_ALLOWED" // "PSC_BLOCKED" - // "PSC_UNSPECIFIED" AllowPsc string `json:"allowPsc,omitempty"` // AllowSameNetworkUnicast: Specifies whether unicast within the same @@ -39611,7 +39723,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "SAME_NETWORK_UNICAST_ALLOWED" // "SAME_NETWORK_UNICAST_BLOCKED" - // "SAME_NETWORK_UNICAST_UNSPECIFIED" AllowSameNetworkUnicast string `json:"allowSameNetworkUnicast,omitempty"` // AllowStaticRoutes: Specifies whether static route creation is @@ -39620,7 +39731,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "STATIC_ROUTES_ALLOWED" // "STATIC_ROUTES_BLOCKED" - // "STATIC_ROUTES_UNSPECIFIED" AllowStaticRoutes string `json:"allowStaticRoutes,omitempty"` // AllowVpcPeering: Specifies whether VPC peering is allowed. @@ -39628,7 +39738,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "VPC_PEERING_ALLOWED" // "VPC_PEERING_BLOCKED" - // "VPC_PEERING_UNSPECIFIED" AllowVpcPeering string `json:"allowVpcPeering,omitempty"` // AllowVpn: Specifies whether VPN creation is allowed. @@ -39636,7 +39745,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "VPN_ALLOWED" // "VPN_BLOCKED" - // "VPN_UNSPECIFIED" AllowVpn string `json:"allowVpn,omitempty"` // AllowedSubnetPurposes: Specifies which subnetwork purposes are @@ -39645,7 +39753,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "SUBNET_PURPOSE_CUSTOM_HARDWARE" // "SUBNET_PURPOSE_PRIVATE" - // "SUBNET_PURPOSE_UNSPECIFIED" AllowedSubnetPurposes []string `json:"allowedSubnetPurposes,omitempty"` // AllowedSubnetStackTypes: Specifies which subnetwork stack types are @@ -39655,7 +39762,6 @@ type NetworkPlacementNetworkFeatures struct { // "SUBNET_STACK_TYPE_IPV4_IPV6" // "SUBNET_STACK_TYPE_IPV4_ONLY" // "SUBNET_STACK_TYPE_IPV6_ONLY" - // "SUBNET_STACK_TYPE_UNSPECIFIED" AllowedSubnetStackTypes []string `json:"allowedSubnetStackTypes,omitempty"` // InterfaceTypes: If set, limits the interface types that the network @@ -39673,7 +39779,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "MULTICAST_SDN" // "MULTICAST_ULL" - // "MULTICAST_UNSPECIFIED" Multicast string `json:"multicast,omitempty"` // Unicast: Specifies which type of unicast is supported. @@ -39681,7 +39786,6 @@ type NetworkPlacementNetworkFeatures struct { // Possible values: // "UNICAST_SDN" // "UNICAST_ULL" - // "UNICAST_UNSPECIFIED" Unicast string `json:"unicast,omitempty"` // ForceSendFields is a list of field names (e.g. "AllowAutoModeSubnet") @@ -40078,6 +40182,10 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // 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"` @@ -40089,6 +40197,7 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { // Possible values: // "HIERARCHY" // "NETWORK" + // "SYSTEM" // "UNSPECIFIED" Type string `json:"type,omitempty"` @@ -44929,8 +45038,7 @@ type PacketMirroringFilter struct { // If no ranges are specified, all IPv4 traffic that matches the // specified IPProtocols is mirrored. If neither cidrRanges nor // IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all - // IPv4 and IPv6 traffic, use "0.0.0.0/0,::/0". Note: Support for IPv6 - // traffic is in preview. + // IPv4 and IPv6 traffic, use "0.0.0.0/0,::/0". CidrRanges []string `json:"cidrRanges,omitempty"` // Direction: Direction of traffic to mirror, either INGRESS, EGRESS, or @@ -53227,7 +53335,7 @@ type ResourcePolicyDiskConsistencyGroupPolicy struct { // ResourcePolicyGroupPlacementPolicy: A GroupPlacementPolicy specifies // resource placement configuration. It specifies the failure bucket -// separation as well as network locality +// separation type ResourcePolicyGroupPlacementPolicy struct { // AvailabilityDomainCount: The number of availability domains to spread // instances across. If two instances are in different availability @@ -53240,17 +53348,11 @@ type ResourcePolicyGroupPlacementPolicy struct { // "CLUSTERED" - Specifies collocation option that provides tight // collocation with minimum network latency. // "COLLOCATED" + // "MAX_SPREAD" - Specifies collocation option that provides spreading + // across clusters. // "UNSPECIFIED_COLLOCATION" Collocation string `json:"collocation,omitempty"` - // Locality: Specifies network locality - // - // Possible values: - // "BEST_EFFORT" - // "STRICT" - // "UNSPECIFIED_LOCALITY" - Locality string `json:"locality,omitempty"` - // MaxDistance: Specifies the number of max logical switches. MaxDistance int64 `json:"maxDistance,omitempty"` @@ -53267,14 +53369,6 @@ type ResourcePolicyGroupPlacementPolicy struct { // SliceCount: Specifies the number of slices in a multislice workload. SliceCount int64 `json:"sliceCount,omitempty"` - // Style: Specifies instances to hosts placement relationship - // - // Possible values: - // "COMPACT" - VMs are placed without regard for shared hosts - // "FULLY_SPREAD" - VMs do not share the same hosts - // "UNSPECIFIED_PLACEMENT_TYPE" - Style string `json:"style,omitempty"` - // TpuTopology: Specifies the shape of the TPU slice TpuTopology string `json:"tpuTopology,omitempty"` @@ -54086,6 +54180,7 @@ type ResourceStatusLastInstanceTerminationDetails struct { // "OS_TERMINATED" - Terminated from the OS level // "PREEMPTED" - Terminated due to preemption // "SCHEDULED_STOP" - Terminated due to scheduled stop + // "SHUTDOWN_DUE_TO_HOST_ERROR" - Terminated due to host error // "SHUTDOWN_DUE_TO_MAINTENANCE" - Terminated due to maintenance // "USER_TERMINATED" - Terminated by user TerminationReason string `json:"terminationReason,omitempty"` @@ -60796,13 +60891,21 @@ type ServiceAttachment struct { // "CONNECTION_PREFERENCE_UNSPECIFIED" ConnectionPreference string `json:"connectionPreference,omitempty"` - // ConsumerAcceptLists: Projects that are allowed to connect to this - // service attachment. + // ConsumerAcceptLists: Specifies which consumer projects or networks + // are allowed to connect to the service attachment. Each project or + // network has a connection limit. A given service attachment can manage + // connections at either the project or network level. Therefore, both + // the accept and reject lists for a given service attachment must + // contain either only projects or only networks. ConsumerAcceptLists []*ServiceAttachmentConsumerProjectLimit `json:"consumerAcceptLists,omitempty"` - // ConsumerRejectLists: Projects that are not allowed to connect to this - // service attachment. The project can be specified using its id or - // number. + // ConsumerRejectLists: Specifies a list of projects or networks that + // are not allowed to connect to this service attachment. The project + // can be specified using its project ID or project number and the + // network can be specified using its URL. A given service attachment + // can manage connections at either the project or network level. + // Therefore, both the reject and accept lists for a given service + // attachment must contain either only projects or only networks. ConsumerRejectLists []string `json:"consumerRejectLists,omitempty"` // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 32bdbf22764..3cc73a126eb 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -37371,7 +37371,7 @@ } } }, - "revision": "20240326", + "revision": "20240407", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -58935,7 +58935,7 @@ "type": "string" }, "networkEndpointType": { - "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.", + "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.", "enum": [ "GCE_VM_IP", "GCE_VM_IP_PORT", @@ -63477,7 +63477,7 @@ "type": "array" }, "cidrRanges": { - "description": "One or more IPv4 or IPv6 CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\". Note: Support for IPv6 traffic is in preview.", + "description": "One or more IPv4 or IPv6 CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use \"0.0.0.0/0,::/0\".", "items": { "type": "string" }, @@ -65676,6 +65676,127 @@ "description": "[Output Only] Name of the resource.", "type": "string" }, + "quotaStatusWarning": { + "description": "[Output Only] Warning of fetching the `quotas` field for this region. This field is populated only if fetching of the `quotas` field fails.", + "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" + }, "quotas": { "description": "[Output Only] Quotas assigned to this region.", "items": { @@ -68264,7 +68385,7 @@ "type": "object" }, "ResourcePolicyGroupPlacementPolicy": { - "description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality", + "description": "A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation", "id": "ResourcePolicyGroupPlacementPolicy", "properties": { "availabilityDomainCount": { @@ -72285,14 +72406,14 @@ "type": "string" }, "consumerAcceptLists": { - "description": "Projects that are allowed to connect to this service attachment.", + "description": "Specifies which consumer projects or networks are allowed to connect to the service attachment. Each project or network has a connection limit. A given service attachment can manage connections at either the project or network level. Therefore, both the accept and reject lists for a given service attachment must contain either only projects or only networks.", "items": { "$ref": "ServiceAttachmentConsumerProjectLimit" }, "type": "array" }, "consumerRejectLists": { - "description": "Projects that are not allowed to connect to this service attachment. The project can be specified using its id or number.", + "description": "Specifies a list of projects or networks that are not allowed to connect to this service attachment. The project can be specified using its project ID or project number and the network can be specified using its URL. A given service attachment can manage connections at either the project or network level. Therefore, both the reject and accept lists for a given service attachment must contain either only projects or only networks.", "items": { "type": "string" }, diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 65c6e18456a..d2fa0b69f06 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -32516,7 +32516,7 @@ type NetworkEndpointGroup struct { // NetworkEndpointType: Type of network endpoints in this network // endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, // NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, - // SERVERLESS, PRIVATE_SERVICE_CONNECT. + // SERVERLESS, PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP. // // Possible values: // "GCE_VM_IP" - The network endpoint is represented by an IP address. @@ -38568,8 +38568,7 @@ type PacketMirroringFilter struct { // If no ranges are specified, all IPv4 traffic that matches the // specified IPProtocols is mirrored. If neither cidrRanges nor // IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all - // IPv4 and IPv6 traffic, use "0.0.0.0/0,::/0". Note: Support for IPv6 - // traffic is in preview. + // IPv4 and IPv6 traffic, use "0.0.0.0/0,::/0". CidrRanges []string `json:"cidrRanges,omitempty"` // Direction: Direction of traffic to mirror, either INGRESS, EGRESS, or @@ -41458,6 +41457,11 @@ type Region struct { // Name: [Output Only] Name of the resource. Name string `json:"name,omitempty"` + // QuotaStatusWarning: [Output Only] Warning of fetching the `quotas` + // field for this region. This field is populated only if fetching of + // the `quotas` field fails. + QuotaStatusWarning *RegionQuotaStatusWarning `json:"quotaStatusWarning,omitempty"` + // Quotas: [Output Only] Quotas assigned to this region. Quotas []*Quota `json:"quotas,omitempty"` @@ -41506,6 +41510,146 @@ func (s *Region) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionQuotaStatusWarning: [Output Only] Warning of fetching the +// `quotas` field for this region. This field is populated only if +// fetching of the `quotas` field fails. +type RegionQuotaStatusWarning 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 []*RegionQuotaStatusWarningData `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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionQuotaStatusWarning) MarshalJSON() ([]byte, error) { + type NoMethod RegionQuotaStatusWarning + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionQuotaStatusWarningData 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionQuotaStatusWarningData) MarshalJSON() ([]byte, error) { + type NoMethod RegionQuotaStatusWarningData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionAddressesMoveRequest struct { // Description: An optional destination address description if intended // to be different from the source. @@ -45140,7 +45284,7 @@ type ResourcePolicyDiskConsistencyGroupPolicy struct { // ResourcePolicyGroupPlacementPolicy: A GroupPlacementPolicy specifies // resource placement configuration. It specifies the failure bucket -// separation as well as network locality +// separation type ResourcePolicyGroupPlacementPolicy struct { // AvailabilityDomainCount: The number of availability domains to spread // instances across. If two instances are in different availability @@ -50772,13 +50916,21 @@ type ServiceAttachment struct { // "CONNECTION_PREFERENCE_UNSPECIFIED" ConnectionPreference string `json:"connectionPreference,omitempty"` - // ConsumerAcceptLists: Projects that are allowed to connect to this - // service attachment. + // ConsumerAcceptLists: Specifies which consumer projects or networks + // are allowed to connect to the service attachment. Each project or + // network has a connection limit. A given service attachment can manage + // connections at either the project or network level. Therefore, both + // the accept and reject lists for a given service attachment must + // contain either only projects or only networks. ConsumerAcceptLists []*ServiceAttachmentConsumerProjectLimit `json:"consumerAcceptLists,omitempty"` - // ConsumerRejectLists: Projects that are not allowed to connect to this - // service attachment. The project can be specified using its id or - // number. + // ConsumerRejectLists: Specifies a list of projects or networks that + // are not allowed to connect to this service attachment. The project + // can be specified using its project ID or project number and the + // network can be specified using its URL. A given service attachment + // can manage connections at either the project or network level. + // Therefore, both the reject and accept lists for a given service + // attachment must contain either only projects or only networks. ConsumerRejectLists []string `json:"consumerRejectLists,omitempty"` // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index 12b6d508dd4..c828db579e1 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -6219,7 +6219,7 @@ } } }, - "revision": "20240409", + "revision": "20240414", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -9894,7 +9894,7 @@ "description": "Additional info regarding the field to be displayed to merchant. For example, warning to not include personal identifiable information. There may be more information to be shown in a tooltip." }, "ariaLabel": { - "description": "Text to be used as the [aria label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input.", + "description": "Text to be used as the [aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input.", "type": "string" }, "formatInfo": { @@ -10769,22 +10769,30 @@ }, "type": "object" }, - "LoyaltyPoints": { - "id": "LoyaltyPoints", + "LoyaltyProgram": { + "description": "Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446", + "id": "LoyaltyProgram", "properties": { - "name": { - "description": "Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.", - "type": "string" + "cashbackForFutureUse": { + "$ref": "Price", + "description": "Optional. The cashback that can be used for future purchases." }, - "pointsValue": { - "description": "The retailer's loyalty points in absolute value.", + "loyaltyPoints": { + "description": "Optional. The amount of loyalty points earned on a purchase.", "format": "int64", "type": "string" }, - "ratio": { - "description": "The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.", - "format": "double", - "type": "number" + "price": { + "$ref": "Price", + "description": "Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price." + }, + "programLabel": { + "description": "Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.", + "type": "string" + }, + "tierLabel": { + "description": "Required. The label of the tier within the loyalty program. Must match one of the labels within the program.", + "type": "string" } }, "type": "object" @@ -14064,7 +14072,7 @@ }, "autoPricingMinPrice": { "$ref": "Price", - "description": "A safeguard in the [Automated Discounts](https://support.google.com/merchants/answer/10295759?hl=en) and [Dynamic Promotions](https://support.google.com/merchants/answer/13949249?hl=en) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability." + "description": "A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability." }, "availability": { "description": "Availability status of the item.", @@ -14260,9 +14268,9 @@ "description": "URL template for merchant hosted local storefront.", "type": "string" }, - "loyaltyPoints": { - "$ref": "LoyaltyPoints", - "description": "Loyalty points that users receive after purchasing the item. Japan only." + "loyaltyProgram": { + "$ref": "LoyaltyProgram", + "description": "Loyalty program information that is used to surface loyalty benefits ( for example pricing, points, etc) to the user for this item." }, "material": { "description": "The material of which the item is made.", diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index 65df99bdfd0..c943ec1f51d 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -6814,7 +6814,7 @@ type InputFieldTextInput struct { // in a tooltip. AdditionalInfo *TextWithTooltip `json:"additionalInfo,omitempty"` - // AriaLabel: Text to be used as the aria label + // AriaLabel: Text to be used as the aria-label // (https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html) for the input. AriaLabel string `json:"ariaLabel,omitempty"` @@ -8517,56 +8517,59 @@ func (s *LocationIdSet) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type LoyaltyPoints struct { - // Name: Name of loyalty points program. It is recommended to limit the - // name to 12 full-width characters or 24 Roman characters. - Name string `json:"name,omitempty"` +// LoyaltyProgram: Allows the setting up of loyalty program benefits +// (for example price or points). +// https://support.google.com/merchants/answer/12922446 +type LoyaltyProgram struct { + // CashbackForFutureUse: Optional. The cashback that can be used for + // future purchases. + CashbackForFutureUse *Price `json:"cashbackForFutureUse,omitempty"` - // PointsValue: The retailer's loyalty points in absolute value. - PointsValue int64 `json:"pointsValue,omitempty,string"` + // LoyaltyPoints: Optional. The amount of loyalty points earned on a + // purchase. + LoyaltyPoints int64 `json:"loyaltyPoints,omitempty,string"` - // Ratio: The ratio of a point when converted to currency. Google - // assumes currency based on Merchant Center settings. If ratio is left - // out, it defaults to 1.0. - Ratio float64 `json:"ratio,omitempty"` + // Price: Optional. The price for members of the given tier (instant + // discount price). Must be smaller or equal to the regular price. + Price *Price `json:"price,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // ProgramLabel: Required. The label of the loyalty program. This is an + // internal label that uniquely identifies the relationship between a + // merchant entity and a loyalty program entity. It must be provided so + // that system can associate the assets below (for example, price and + // points) with a merchant. The corresponding program must be linked to + // the merchant account. + ProgramLabel string `json:"programLabel,omitempty"` + + // TierLabel: Required. The label of the tier within the loyalty + // program. Must match one of the labels within the program. + TierLabel string `json:"tierLabel,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CashbackForFutureUse") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "CashbackForFutureUse") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } -func (s *LoyaltyPoints) MarshalJSON() ([]byte, error) { - type NoMethod LoyaltyPoints +func (s *LoyaltyProgram) MarshalJSON() ([]byte, error) { + type NoMethod LoyaltyProgram raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *LoyaltyPoints) UnmarshalJSON(data []byte) error { - type NoMethod LoyaltyPoints - var s1 struct { - Ratio gensupport.JSONFloat64 `json:"ratio"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Ratio = float64(s1.Ratio) - return nil -} - // MerchantCenterDestination: "Merchant Center Destination" sources can // be used to send conversion events from a website using a Google tag // directly to a Merchant Center account where the source is created. @@ -14301,12 +14304,10 @@ type Product struct { AgeGroup string `json:"ageGroup,omitempty"` // AutoPricingMinPrice: A safeguard in the Automated Discounts - // (https://support.google.com/merchants/answer/10295759?hl=en) and - // Dynamic Promotions - // (https://support.google.com/merchants/answer/13949249?hl=en) - // projects, ensuring that discounts on merchants' offers do not fall - // below this value, thereby preserving the offer's value and - // profitability. + // (//support.google.com/merchants/answer/10295759) and Dynamic + // Promotions (//support.google.com/merchants/answer/13949249) projects, + // ensuring that discounts on merchants' offers do not fall below this + // value, thereby preserving the offer's value and profitability. AutoPricingMinPrice *Price `json:"autoPricingMinPrice,omitempty"` // Availability: Availability status of the item. @@ -14496,9 +14497,10 @@ type Product struct { // LinkTemplate: URL template for merchant hosted local storefront. LinkTemplate string `json:"linkTemplate,omitempty"` - // LoyaltyPoints: Loyalty points that users receive after purchasing the - // item. Japan only. - LoyaltyPoints *LoyaltyPoints `json:"loyaltyPoints,omitempty"` + // LoyaltyProgram: Loyalty program information that is used to surface + // loyalty benefits ( for example pricing, points, etc) to the user for + // this item. + LoyaltyProgram *LoyaltyProgram `json:"loyaltyProgram,omitempty"` // Material: The material of which the item is made. Material string `json:"material,omitempty"` diff --git a/contentwarehouse/v1/contentwarehouse-api.json b/contentwarehouse/v1/contentwarehouse-api.json index efd4caaef0e..a7018b8d234 100644 --- a/contentwarehouse/v1/contentwarehouse-api.json +++ b/contentwarehouse/v1/contentwarehouse-api.json @@ -1156,7 +1156,7 @@ } } }, - "revision": "20240321", + "revision": "20240412", "rootUrl": "https://contentwarehouse.googleapis.com/", "schemas": { "AbuseiamAbuseType": { @@ -1399,116 +1399,24 @@ "enum": [ "UNKNOWN", "ADMIN", - "GRADS", "OCELOT", "SPAMIAM", "MANUAL_REVIEW", - "MAWLER", - "DOWNLOADER", "PORN_CLASSIFIER", "GIBBERISH_DETECTOR", - "ANTIVIRUS", - "GAUSS", - "REALUSERS", - "USERRANK", - "GRADS_AGGRESSIVE", - "BULK_ACTION", "BADWORD", - "GAIA", - "LINKS_COUNT", - "RE_RULE", - "SLAM", - "AUTHORRANK", - "USERRANK_BADNESS", - "GAUSS_EXPLICIT", - "GAUSS_IMPLICIT", - "RETRIEVE_MESSAGE", - "SPAM_REPORT", - "SQUEAL", - "BLOGGER_LOGS", - "TRUSTRANK_PHISHING", - "CATFOOD", "IMAGE_PORN_CLASSIFIER", - "OCELOT_IMPORT", "FIFE_IMAGE_FETCHER", - "FAST_RISING_FEATURES", - "BOTGUARD", - "NAME_CHECKER", - "CHEETAH", - "GALLIFREY", - "OCELOT_DELETE", "RULE", "FOCUS", - "VIDEO_THUMBNAILER", "PATTERNLIST", - "METADATA", - "METADATA_IMPORT", - "NAME_DETECTOR", - "SHINGLE_COMPUTER", "WIGGUM", "BINARY_EXPLORATION", - "REVNET", - "FURS", - "YOUTUBE_CLASSIFIER", - "IDV", - "CLUSTERCAT", - "CHEETAH_IMPORT", - "CHEETAH_READ", - "BOTGUARD_DECODE", "QUOTASERVER", "YOUTUBE", - "BLOGGER", - "SOCIAL_GRAPH", - "WEB_SIGNALS", - "TRAWLER", - "NOTIFICATIONS", - "CASES", - "BADURLS", - "LINK_IMPORT", - "SHINGLE_DEDUPER", - "DEV_CONSOLE", - "METADATA_QUERY", - "PLUS_PAGE", - "YOUTUBE_VIDEO_INFO", - "GOOGLE_ADMIN", - "RESPAY", - "COOKBOOK", - "EASY_LEARN", - "QUALITY_SAMPLER", - "BLOBSTORE", - "OWNER", "POLICY", - "EXTERNAL", - "ABUSEIAM_FEEDBACK", - "BIGSTORE", "PHOTO_SERVICE", - "GRADS_RELATED", - "REAPER", - "GATEKEEPER", - "VIPER", - "MSISDN", - "VIDEO_REVIEW", - "CSAI_MATCH", - "REDQUEEN", - "STREAMER_INDEXER", - "DREMEL", - "VISUAL_SEARCH_SERVICE_PORN", - "VISUAL_SEARCH_SERVICE_OCR", - "IMPLICIT_SOCIAL_GRAPH", - "EASY_LEARN_BLEND", - "USER_AURA", - "GOOPS", - "ANDROID_CHECKIN", - "ARES_DATA_PROVIDER", - "DROIDGUARD_VERDICT", - "ARES_DATA_WRITER", - "ADAPTIVE_QUOTA", - "AIAPLX", - "INFAME", - "ARES", - "VISUAL_SEARCH_SERVICE_ICA", - "VISUAL_SEARCH_SERVICE_BUTTON_DETECTION", - "VISUAL_SEARCH_SERVICE_LOGO_DETECTION" + "ARES" ], "enumDescriptions": [ "", @@ -1516,113 +1424,21 @@ "", "", "", - "", - "", - "", "Text-based porn classifier.", "Language model-based gibberish detector.", - "", - "Gauss positive score.", - "", - "Gmail userrank goodness score.", - "", - "Intended for manually executed bulk actions.", "Deprecated. Please use PATTERNLIST instead.", - "Gaia account maninuplation (disable, enable).", - "", - "The most common type of rule.", - "", - "Authorrank.percentile -\u003e score.", - "Gmail userrank badness score.", - "", - "", - "For message retrieving only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Special rule in decision scripts.", - "", - "Deprecated. Do not use. Use CHEETAH_IMPORT", "", "", "For miscellaneous rules in decision scripts", "that are not separate backends.", - "", "Check texts against a list of regex patterns.", - "Reads data from metadata store (aka BadWolf).", - "Metadata import adapter.", - "Name detector adapter.", - "Computes shingles for text messages.", "Does search-by-image using Wiggum Server.", "Slow backend. See http://go/bineval.", - "Review graph analysis, stored in metadata.", - "", - "Classifies messages using the youtube models.", - "Reads UserProfile from the IDV server.", - "", - "Adapter that writes to Cheetah.", - "Adapter that reads from Cheetah.", - "Adapter that decodes BotGuard response.", "Quota server adapter.", "Video classification from youtube.", - "", - "Evaluation from SocialGraph adapter.", - "", - "", - "Adapter that sends notifications to users.", - "Adapter that interacts with Cases.", - "", - "Adapter that imports link signals.", - "Badwolf based shingle deduper.", - "Dev Console info for cloud projects.", - "Rich query facility for BadWolf.", - "Adapter for querying pluspage info.", - "Queries video info from YT.", - "Google Admin for manual operations.", - "Clould billing information and termination.", - "Matched to some Cookbook recipes.", - "Machine learning models evaluations.", - "Decides if a message is sampled for quality.", - "Blobstore adapter.", - "For evaluation initiated by content owner.", "For evaluation generated according to policy.", - "For evaluations generated by services outside", - "AbuseIAm. Adapter that sends feedbacks between clients.", - "Adapters that access Bigstore files.", "Adapter that queries Photo Service.", - "Fetch grads related accounts.", - "Site reputation service by safe browsing team", - "Gaia disableserver.", - "Adapters that run a Viper graph.", - "Phone metadata adapter.", - "The YouTube Video review service.", - "Video matching for CSAI.", - "RedQueen reputation adapter.", - "Streamer Indexer Service to get locations", - "of a video for various formats. Dremel service.", - "Visual search service for porn scores.", - "Visual search service for OCR.", - "implicit social graph for affinity scores", - "Blend Service for Easy Learn (ML models)", - "User aura service.", - "Goops adapter used for publishing messages.", - "Android checkin data including device info", - "Adapter that fetches data from Ares.", - "Retrieves droidguard verdict for the device.", - "Adapter that writes data into Ares.", - "Adapter to talk to Adaptive Quota system.", - "For evaluations derived from aia-plx queries.", - "For evaluations derived from infame.", - "For evaluations generated by Ares.", - "Visual search service for ICA.", - "", - "Visual search service for" + "For evaluations generated by Ares." ], "type": "string" }, @@ -3303,7 +3119,9 @@ "DYNAMITE_NEW_CONTACTS_AFFINITY", "GENESIS_IOS_AFFINITY", "BANKROLL_PROD_AFFINITY", - "CALENDAR_WEB_ROOM_AFFINITY" + "CALENDAR_WEB_ROOM_AFFINITY", + "CHROME_MULTIPLAYER_AFFINITY", + "GEO_DATA_PORTAL_AFFINITY" ], "enumDeprecated": [ false, @@ -3588,6 +3406,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -3873,6 +3693,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -4360,7 +4182,8 @@ "type": "object" }, "AppsPeopleOzExternalMergedpeopleapiCircleMembership": { - "description": "A circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.", + "deprecated": true, + "description": "DEPRECATED. No data is returned for this field anymore. See b/329513077.", "id": "AppsPeopleOzExternalMergedpeopleapiCircleMembership", "properties": { "circleId": { @@ -6665,7 +6488,8 @@ "type": "array" }, "circleMembership": { - "description": "Circles that this person is a member of.", + "deprecated": true, + "description": "DEPRECATED. No data is returned for this field anymore. See b/329513077.", "items": { "$ref": "AppsPeopleOzExternalMergedpeopleapiCircleMembership" }, @@ -11495,7 +11319,7 @@ }, "deviceType": { "deprecated": true, - "description": "DEPRECATED. assistant.api.core_types.governed.SurfaceIdentity.surface_type field should be used instead. The device's surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn't supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.", + "description": "DEPRECATED. assistant.api.core_types.SurfaceIdentity.surface_type field should be used instead. The device's surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn't supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.", "type": "string" }, "homeGraphDeviceId": { @@ -12349,6 +12173,7 @@ "IOS_WEAR", "LIBASSISTANT", "LINE_CHATBOT", + "MATTER", "MULTIMODAL_AGSA", "NON_ASSISTANT_SURFACE", "OPA_AGSA", @@ -12413,6 +12238,7 @@ false, false, false, + false, true, false, false, @@ -12471,6 +12297,7 @@ "", "For standalone libassistant devices.", "LINE 3P messaging app", + "For Matter devices. go/matter-prod", "Deprecated.", "Surfaces that do not speak to the Assistant, i.e. web HQ", "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", @@ -12544,6 +12371,7 @@ "KAI_OS", "KAI_OS_AMA", "LIBASSISTANT", + "MATTER", "PHONE", "PIXEL", "PIXEL5", @@ -12606,6 +12434,7 @@ "Kai OS (go/kaios). OWNERS: surfaces-infra-core@", "Assistant on KaiOS (go/kaiosama). OWNERS: assistant-kaios-eng@", "LibAssistant (go/libassistant) C++ SDK that powers Assistant experience on both 1P devices like Google Home and 3P devices like Sonos. OWNERS: libassistant-core@", + "Matter based clients. go/matter-prod. OWNERS: assistant-media@", "A phone. OWNERS: surfaces-infra-core@", "Pixel devices. OWNERS: surfaces-infra-core@", "Pixel 5. OWNERS: surfaces-infra-core@", @@ -12679,6 +12508,7 @@ "IOS_WEAR", "LIBASSISTANT", "LINE_CHATBOT", + "MATTER", "MULTIMODAL_AGSA", "NON_ASSISTANT_SURFACE", "OPA_AGSA", @@ -12743,6 +12573,7 @@ false, false, false, + false, true, false, false, @@ -12801,6 +12632,7 @@ "", "For standalone libassistant devices.", "LINE 3P messaging app", + "For Matter devices. go/matter-prod", "Deprecated.", "Surfaces that do not speak to the Assistant, i.e. web HQ", "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", @@ -17263,7 +17095,8 @@ "$ref": "AssistantApiSurfacePropertiesExecutionCapabilities" }, "prefersGlanceableUi": { - "description": "Indicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).", + "deprecated": true, + "description": "DEPRECATED: This field is used only by the Hummingbird effort, which has culminated and is being cleaned up (b/325065733). Indicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).", "type": "boolean" }, "responseDisplayFormat": { @@ -19122,6 +18955,7 @@ "IOS_WEAR", "LIBASSISTANT", "LINE_CHATBOT", + "MATTER", "MULTIMODAL_AGSA", "NON_ASSISTANT_SURFACE", "OPA_AGSA", @@ -19186,6 +19020,7 @@ false, false, false, + false, true, false, false, @@ -19244,6 +19079,7 @@ "", "For standalone libassistant devices.", "LINE 3P messaging app", + "For Matter devices. go/matter-prod", "Deprecated.", "Surfaces that do not speak to the Assistant, i.e. web HQ", "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", @@ -20422,7 +20258,7 @@ "type": "object" }, "AssistantPrefulfillmentRankerPrefulfillmentSignals": { - "description": "Signals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74", + "description": "Signals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 80", "id": "AssistantPrefulfillmentRankerPrefulfillmentSignals", "properties": { "calibratedParsingScore": { @@ -20455,6 +20291,9 @@ "description": "Whether the interpretation has a Search answer group object, signifying it came from Search resolution.", "type": "boolean" }, + "hasIntentUpdate": { + "type": "boolean" + }, "inQueryMaxEffectiveArgSpanLength": { "description": "This is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).", "format": "float", @@ -20508,6 +20347,10 @@ "description": "Whether the intent aqua intent from media domain enabled in QBT", "type": "boolean" }, + "isCommunicationOpaRawTargetIntent": { + "description": "NSP-specific signals, used to determine if NSP intents should be selected or not.", + "type": "boolean" + }, "isDummyIntent": { "type": "boolean" }, @@ -20527,10 +20370,23 @@ "description": "Whether the intent is a media control intent.", "type": "boolean" }, + "isMediaIntent": { + "description": "Whether the intent is a media intent.", + "type": "boolean" + }, + "isNspDescopedIntent": { + "type": "boolean" + }, + "isNspEnabledIntent": { + "type": "boolean" + }, "isNspIntent": { "description": "Whether this interpretation was genearted by NSP.", "type": "boolean" }, + "isNspTargetIntent": { + "type": "boolean" + }, "isPlayGenericMusic": { "description": "Whether the intent is a PlayGenericMusic-type intent.", "type": "boolean" @@ -20639,7 +20495,8 @@ "QU_PHASE_HIGH_PRECISION", "QU_PHASE_COMBINED_RBT_RESOLUTION", "QU_PHASE_ANALYZER_INPUT", - "QU_PHASE_NAGE" + "QU_PHASE_NAGE", + "QU_PHASE_SUPERCAT" ], "enumDeprecated": [ false, @@ -20653,6 +20510,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -20667,7 +20525,8 @@ "Phase in which QUS calls the fast HighPrecision workflow. Only runs if understand_mode is PRE_RESULT_AND_HIGH_PRECISION.", "Phase in which QUS combines the RBT result and Slow Resolution result. Only runs if understand_mode is PRE_RESULT_AND_PROBE_QUERY_AND_RESOLUTION.", "Phase in which QUS returns the AnalyzerInput as a separate Phase. It copies the AnalyzerInput from QU_PHASE_QREWRITE and returns it as a QueryUnderstandingStreamingResult for the purpose of logging in ACE. See go/analyzerinput-new-qus-phase.", - "Phase in which QUS runs NSP in the QUS." + "Phase in which QUS runs NSP in the QUS.", + "Phase in which QUS calls a stripped-down version of QRewrite and then calls the Supercat Orchestrator to generate Supercat QIs." ], "type": "string" }, @@ -22558,10 +22417,6 @@ "description": "The cubic mean aggregation of violence page scores in the site.", "format": "float", "type": "number" - }, - "violenceStats": { - "$ref": "ClassifierPornSiteViolenceStats", - "deprecated": true } }, "type": "object" @@ -22602,29 +22457,6 @@ }, "type": "object" }, - "ClassifierPornSiteViolenceStats": { - "description": "Next ID: 6", - "id": "ClassifierPornSiteViolenceStats", - "properties": { - "meanFinalViolenceScore": { - "format": "float", - "type": "number" - }, - "numberOfImages": { - "format": "uint64", - "type": "string" - }, - "numberOfVideos": { - "format": "uint64", - "type": "string" - }, - "videoViolenceScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, "CloudAiPlatformTenantresourceCloudSqlInstanceConfig": { "description": "The identity to configure a CloudSQL instance provisioned via SLM Terraform.", "id": "CloudAiPlatformTenantresourceCloudSqlInstanceConfig", @@ -23734,7 +23566,7 @@ "type": "object" }, "CompressedQualitySignals": { - "description": "A message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43", + "description": "A message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 44", "id": "CompressedQualitySignals", "properties": { "anchorMismatchDemotion": { @@ -23811,6 +23643,11 @@ "format": "float", "type": "number" }, + "experimentalWebHealthSignal": { + "description": "This field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental W* component, in order to quickly run LEs with new signals. See go/0DayLEs for details.", + "format": "float", + "type": "number" + }, "lowQuality": { "description": "S2V low quality score: converted from quality_nsr.NsrData, applied in Qstar. See quality_nsr::util::ConvertNsrDataToLowQuality.", "format": "uint32", @@ -25954,8 +25791,8 @@ "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", "DEPRECATED", - "An establishment which has a address (a.k.a. location or storefront). Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "A business without a storefront, e.g. a plumber. It would normally not have a place that a customer could visit to receive service, but it would have an area served by the business. Also known as a \"pure\" Service Area Business. NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", "ABSTRACT", @@ -30922,10 +30759,6 @@ "$ref": "GeostoreCityJsonProtoAppearanceMaterialRgbColor", "description": "The color that this material shows under pure white light when incoming light is reflected in all directions equally." }, - "isNull": { - "description": "is_null=true is used to represent 'null' material references. There may only be one is_null=true Material per CityJsonProto, and it must not have any other fields set.", - "type": "boolean" - }, "isSmooth": { "description": "Whether this material has an even, regular surface or consistency.", "type": "boolean" @@ -31077,13 +30910,11 @@ "description": "The type of semantic entity this geometric primitive is.", "enum": [ "TYPE_UNSPECIFIED", - "TYPE_NULL", "WINDOW", "DOOR" ], "enumDescriptions": [ "", - "TYPE_NULL is used to represent 'null' semantic references. There may only be one TYPE_NULL Semantic per geometry object, and it must not have other fields set (if any are added to to this proto).", "", "" ], @@ -31118,14 +30949,14 @@ "type": "array" }, "materialSpecs": { - "description": "The materials this surface is made of. Either all or none of the Surface protos must have this field set (even for 'null' references). Otherwise, this field must not be set. IMPORTANT: This field must not contain more than one MaterialSpec unless CityJSON's material \"theme\" is incorporated into CityJsonProto (see discussion in go/cityjson-for-hand-modeled-landmarks).", + "description": "The materials this surface is made of. May be left blank if materials are unspecified for this surface. IMPORTANT: This field must not contain more than one MaterialSpec unless CityJSON's material \"theme\" is incorporated into CityJsonProto (see discussion in go/cityjson-for-hand-modeled-landmarks).", "items": { "$ref": "GeostoreCityJsonProtoCityObjectGeometryMaterialSpec" }, "type": "array" }, "semanticsIndex": { - "description": "The semantics of this surface (e.g. what part of a building it is) represented as an index into the containing Geometry's `semantics` field. Either all or none of the Surface protos must have this field set (even for 'null' references). Otherwise, this field must not be set.", + "description": "The semantics of this surface (e.g. what part of a building it is) represented as an index into the containing Geometry's `semantics` field. May be left blank if semantics are unspecified for this surface.", "format": "int32", "type": "integer" } @@ -37182,8 +37013,8 @@ "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", "DEPRECATED", - "An establishment which has a address (a.k.a. location or storefront). Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "A business without a storefront, e.g. a plumber. It would normally not have a place that a customer could visit to receive service, but it would have an area served by the business. Also known as a \"pure\" Service Area Business. NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", "ABSTRACT", @@ -52488,6 +52319,7 @@ "KAI_OS", "KAI_OS_AMA", "LIBASSISTANT", + "MATTER", "PHONE", "PIXEL", "PIXEL5", @@ -52550,6 +52382,7 @@ "Kai OS (go/kaios). OWNERS: surfaces-infra-core@", "Assistant on KaiOS (go/kaiosama). OWNERS: assistant-kaios-eng@", "LibAssistant (go/libassistant) C++ SDK that powers Assistant experience on both 1P devices like Google Home and 3P devices like Sonos. OWNERS: libassistant-core@", + "Matter based clients. go/matter-prod. OWNERS: assistant-media@", "A phone. OWNERS: surfaces-infra-core@", "Pixel devices. OWNERS: surfaces-infra-core@", "Pixel 5. OWNERS: surfaces-infra-core@", @@ -56001,19 +55834,19 @@ "type": "number" }, "smallcaps": { - "description": "Whether the text is in small caps.", + "description": "Whether the text is in small caps. This feature is not supported yet.", "type": "boolean" }, "strikeout": { - "description": "Whether the text is strikethrough.", + "description": "Whether the text is strikethrough. This feature is not supported yet.", "type": "boolean" }, "subscript": { - "description": "Whether the text is a subscript.", + "description": "Whether the text is a subscript. This feature is not supported yet.", "type": "boolean" }, "superscript": { - "description": "Whether the text is a superscript.", + "description": "Whether the text is a superscript. This feature is not supported yet.", "type": "boolean" }, "textColor": { @@ -58404,7 +58237,7 @@ "type": "object" }, "HtmlrenderWebkitHeadlessProtoRenderStats": { - "description": "Next id: 17.", + "description": "Next id: 20.", "id": "HtmlrenderWebkitHeadlessProtoRenderStats", "properties": { "anonRenderFineTimingStats": { @@ -58437,6 +58270,11 @@ "format": "int32", "type": "integer" }, + "fetchDeadlineMsec": { + "description": "Time allowed to use for fetching in milliseconds: fetch_deadline - render_start_time. go/render-timeline#render-timeline", + "format": "int32", + "type": "integer" + }, "imageEncodingTimeMsec": { "description": "Image encoding (e.g. raw -\u003e PNG) time.", "format": "int32", @@ -58447,6 +58285,11 @@ "format": "int32", "type": "integer" }, + "javascriptDeadlineMsec": { + "description": "Time allowed to use for javascript in milliseconds: javascript_deadline - render_start_time. go/render-timeline#render-timeline", + "format": "int32", + "type": "integer" + }, "layoutTimeMsec": { "description": "Time from starting render to document finished loading. This includes all fetches, parsing, decoding, running JavaScript, etc.", "format": "int32", @@ -58462,6 +58305,11 @@ "format": "int32", "type": "integer" }, + "renderDeadlineMsec": { + "description": "Time allowed to use for rendering in milliseconds: render_deadline - render_start_time. go/render-timeline#render-timeline", + "format": "int32", + "type": "integer" + }, "renderEngine": { "description": "Render engine used to render this document.", "enum": [ @@ -61761,6 +61609,7 @@ "GENUS_CONTRIB_SERVICE_GEO_UGC", "GENUS_CONTRIB_SERVICE_BARD_STORAGE", "GENUS_CONTRIB_SERVICE_FLYBY", + "GENUS_CONTRIB_SERVICE_SHOPSTREAM", "GENUS_SEARCH_SPORTS", "GENUS_BUSINESSMESSAGING", "GENUS_AERIAL_VIEW", @@ -61816,6 +61665,7 @@ "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", "Genus for BARD UGC videos processed by ContribService. go/venom-for-bard-ugc-videos", "Genus for FlyBy (Local Top Ads) videos processed by ContribService. go/venom-for-flyby-videos.", + "Genus for Shopstream videos processed by ContribService. go/venom-for-shopstream-videos.", "Genus for Search Sports vertical videos", "Genus for Business Messaging videos", "Genus for Geo Aerial View", @@ -62007,7 +61857,7 @@ }, "transcriptAsr": { "$ref": "PseudoVideoData", - "description": "Speech related metadata The transcript_asr field is generated from the YT caption's SPEECH_RECOGNIZER asset." + "description": "Speech related metadata The transcript_asr field is generated from the YT caption's SPEECH_RECOGNIZER asset. We strongly recommend to use s3_asr instead of transcript_asr as of 2024. Media Solutions team owns s3_asr and provides more flexibility with ASR features for our client needs, whereas the underlying engine of the transcript_asr field is owned by Youtube, and we do not have control over." }, "truncationInfo": { "$ref": "ImageRepositoryFileTruncationInfo", @@ -62837,6 +62687,7 @@ "GENUS_CONTRIB_SERVICE_GEO_UGC", "GENUS_CONTRIB_SERVICE_BARD_STORAGE", "GENUS_CONTRIB_SERVICE_FLYBY", + "GENUS_CONTRIB_SERVICE_SHOPSTREAM", "GENUS_SEARCH_SPORTS", "GENUS_BUSINESSMESSAGING", "GENUS_AERIAL_VIEW", @@ -62892,6 +62743,7 @@ "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", "Genus for BARD UGC videos processed by ContribService. go/venom-for-bard-ugc-videos", "Genus for FlyBy (Local Top Ads) videos processed by ContribService. go/venom-for-flyby-videos.", + "Genus for Shopstream videos processed by ContribService. go/venom-for-shopstream-videos.", "Genus for Search Sports vertical videos", "Genus for Business Messaging videos", "Genus for Geo Aerial View", @@ -64980,7 +64832,7 @@ "type": "object" }, "IndexingDocjoinerDataVersion": { - "description": "DataVersion tracks the version of data in CompositeDoc. The notion of \"data\" here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543", + "description": "DataVersion tracks the version of data in CompositeDoc. The notion of \"data\" here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 710", "id": "IndexingDocjoinerDataVersion", "properties": { "acceleratedShoppingSignal": { @@ -65058,6 +64910,9 @@ "creator": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "creatorjoinsEmbeddedUgcAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "datacommonsDatacommonsTriplesSignal": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65094,6 +64949,9 @@ "extractedBookInfo": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "fastDataPropagationTestSignalContent": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "fatcatCompactDocClassification": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65115,6 +64973,9 @@ "freshboxFreshboxArticleAnnotation": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "geoCarsVehicleDetailsPageAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "geoPointAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65304,6 +65165,9 @@ "indexingCenterpieceCenterpieceChecksums": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "indexingCenterpieceCenterpieceUnifiedAnnotations": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "indexingCenterpieceComponentLearningSource": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65349,6 +65213,9 @@ "indexingDupsLocalizedLocalizedCluster": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "indexingDupsNearDupsResult": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "indexingFreshSchedulerFreshSchedulerDoubleInstantExtension": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65460,6 +65327,9 @@ "indexingSelectionImageImageSelectionAttachment": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "indexingSelectionIndexCompositionExperimentExtension": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "indexingSelectionLanguageExtension": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65475,6 +65345,9 @@ "indexingSelectionTensorFlowExtension": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "indexingServiceFirsttimesCrawlFirsttimesSignals": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "indexingSignalAggregatorUrlPatternSignals": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65583,6 +65456,439 @@ "knowledgeMiningShoppingTwdModelVersions": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "knowledgeMumConsumerNewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuAccusatoryTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuAmusingAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBaseCuriosityAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBaseCuriosityV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBaseCuriosityV3Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBeginnerAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBeginnerTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBoringAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBoringVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBoringVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBroadTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuBroadlyConsumableAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuClickbaitPlusAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuClickbaitPlusCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCommercialNewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCommercialVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCommercialVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCommercialVideoV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCommercialVideoV2CandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuComplexAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCoolProjectVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCoolProjectVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCoolProjectVideoV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCoolProjectVideoV2CandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCreativeVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCreativeVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCuteShortVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuCuteShortVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDepressingTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDietaryAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDisasterAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDisasterV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDiscriminatoryAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDisgustingAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDisgustingV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDismissRatioUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDistanceSensitiveAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDiyProjectVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDiyProjectVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDqsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDramaticTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuDryFactsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEasyReadAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEducationalVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEducationalVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoV2CandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoV3Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingVideoV3CandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingnessAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingnessLeAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEngagingnessMmAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEnjoyableMutedVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEnjoyableMutedVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEntertainingVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuEntertainingVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFactualAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFlavorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFlavorMmAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFlavorMmCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFlavorMmV2CandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFunFactsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFunVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFunVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFunnyShortVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuFunnyShortVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuGameplayVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuGameplayVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuGoodCommercialAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuGossipNewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuHeartRatioUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuHowToVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuHowToVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInspiredQueryRateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInspiringAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInspiringTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInspiringUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInspiringV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuIntelligentAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInterviewVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuInterviewVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuLectureVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuLectureVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuLifehackVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuLifehackVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuLifestyleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuListicleTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuMayhemNewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuMediaVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuMediaVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuNegativeToneAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuNewsVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuNewsVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuNewsyTitleAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuOpinionPiecesAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuPersonalNarrativeAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuPracticalAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuPracticalVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuPracticalVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuPredictedTrafficRatioAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuProductReviewVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuProductReviewVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuProfanityAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuProfanityV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuRacyAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuRacyV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuRealLifeTipsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuRemoteRelevanceAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuReviewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuSensationalClickbaitAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuSensationalClickbaitV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuSensationalClickbaitV3Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuSexualUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuShareRatioUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo", + "description": "END DATA FIELDS" + }, + "knowledgeMumDcuStalenessAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuStoryAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuStorytellingVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuStorytellingVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuThoughtProvokingAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuThoughtProvokingV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTimeSensitiveAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTimelessAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTimelessVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTimelessVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTrailerVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuTrailerVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuUsefulUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuUsefulVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuUsefulVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuVideoFlavorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuViolenceAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuViolenceV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuViolentOrDisgustingUserBehaviorAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuVisuallyEngagingAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuVisuallyEngagingV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuVlogVideoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuVlogVideoCandidateAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuWellWrittenAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuWithholdingInfoAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuWithholdingInfoV2Annotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "knowledgeMumDcuWorthyHeadlineNewsAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "knowledgeMumStoryTeaserAnnotation": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65628,6 +65934,9 @@ "modernFormatContent": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "multiverseHubSpokesSignal": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "navBoostDocument": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65638,6 +65947,9 @@ "newsAnnotationsContentAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "newsCorpusDifferentiatedContentAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "newsCorpusHubPageAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65879,6 +66191,9 @@ "qualityChardPredictedXlq": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityChardPredictedXlqSevereHoax": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityContraSelectedAttributions": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65915,6 +66230,15 @@ "qualityExploreQueryableFeedTopicFeedScoringSignals": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityFlavorsFlavorSet": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "qualityForumrankingUgcPageQualityDocumentAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "qualityFreshnessAbacusInstantNavBoostDocumentAnon": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityFreshnessAbacusInstantNegativeClicksInfo": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -65945,6 +66269,15 @@ "qualityLisztomaniaDocument": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityModernProtoUcpDocInfo": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "qualityModernProtoUcpServingData": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, + "qualityNaturalPearlsNaturalPearlsDocumentAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityNavboostCrapsCrapsData": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66008,12 +66341,18 @@ "qualityPeoplesearchNamedetectorNameOccurrenceAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityPeoplesearchNamedetectorNavboostNameAnnotations": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityPopfeedsChromeBackgroundAnnotation": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, "qualityPopfeedsHubDataAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityPopfeedsTopicStatsTopicScoreAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityPopfeedsUrlPredictionAnnotations": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66083,6 +66422,9 @@ "qualitySherlockKnexAnnotation": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "qualityShoppingDtcDomainsSignal": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "qualityShoppingProductReview": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66257,6 +66599,9 @@ "repositoryUpdaterIndexSelectionAttachment": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "repositoryWebrefAuthorExtractionAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "repositoryWebrefEntityJoin": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66275,6 +66620,9 @@ "repositoryWebrefPageClassificationSignalsSet": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "repositoryWebrefPiannoDocumentIntent": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "repositoryWebrefPiannoDocumentIntents": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66477,8 +66825,7 @@ "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, "spambrainDomainSitechunkData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo", - "description": "END DATA FIELDS" + "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, "tableTalkStrideOfferPagePriceAnnotation": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" @@ -66501,6 +66848,9 @@ "travelAssistantTravelDocClassification": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "trawlerEffectiveRobotsContent": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "ucpSignal": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -66564,6 +66914,9 @@ "videoScoringSignal": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, + "videoShoppingVideoShoppingAnnotation": { + "$ref": "IndexingDocjoinerDataVersionVersionInfo" + }, "videoWebGallery": { "$ref": "IndexingDocjoinerDataVersionVersionInfo" }, @@ -70647,7 +71000,7 @@ "type": "object" }, "KnowledgeAnswersIntentQueryArgumentSignals": { - "description": "A message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the \"ThenChange\", fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58\u0026rcl=322925428. LINT.IfChange", + "description": "A message representing the signals associated with an argument. NEXT ID TO USE: 67 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the \"ThenChange\", fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58\u0026rcl=322925428. LINT.IfChange", "id": "KnowledgeAnswersIntentQueryArgumentSignals", "properties": { "addedByCloseAnswers": { @@ -70725,6 +71078,10 @@ }, "type": "array" }, + "entityCardSignals": { + "$ref": "KnowledgeAnswersIntentQueryEntityCardSignals", + "description": "Signals about the entity card entity for this argument." + }, "entityNumber": { "description": "Signals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn't link to the song title. This value specifies the order of annotations in a QRef annotation chain so they can refer to each other.", "format": "int32", @@ -71905,8 +72262,8 @@ "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", "DEPRECATED", - "An establishment which has a address (a.k.a. location or storefront). Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "A business without a storefront, e.g. a plumber. It would normally not have a place that a customer could visit to receive service, but it would have an area served by the business. Also known as a \"pure\" Service Area Business. NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", "ABSTRACT", @@ -72371,6 +72728,17 @@ }, "type": "object" }, + "KnowledgeAnswersIntentQueryEntityCardSignals": { + "description": "Signals about the entity card entity.", + "id": "KnowledgeAnswersIntentQueryEntityCardSignals", + "properties": { + "parentCollectionId": { + "description": "Selected collection for the main entity card fulfillment. It is the first enabled collection for the entity with the highest confidence score for the query based on qref signals.", + "type": "string" + } + }, + "type": "object" + }, "KnowledgeAnswersIntentQueryFreetextAnnotationSignals": { "description": "Signals associated with FreetextAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.", "id": "KnowledgeAnswersIntentQueryFreetextAnnotationSignals", @@ -89912,6 +90280,7 @@ "TS_TOOL_INTAKE", "GENESIS_IOS", "BANKROLL_PROD", + "GEO_DATA_PORTAL", "DEPRECATED_QUICKSTART_FLUME", "DUO_CLIENT", "ALBERT", @@ -90575,6 +90944,7 @@ false, false, false, + false, true, false, false, @@ -90975,7 +91345,7 @@ "Memegen! https://memegen.googleplex.com Team contact: memgegen-team@google.com", "Society App http://go/society Team contact: society-team@google.com", "Society chat application. http://go/society Team contact: society-team@google.com", - "Search One Presence (Formerly Search Engagement Highlight) http://go/dumpling Team contact: team-dumpling@google.com", + "Search One Presence (Formerly Search Engagement Highlight) http://go/mcf-profiles Team contact: mcf-profiles-eng-team@google.com", "YouTube Live Chat. http://go/livechat-redesign Team contact: yt-live-chat@google.com", "YouTube Live Activity log. http://go/live-chat-history-design Team contact: yt-live-chat@google.com", "YouTube Live Takeout. http://go/livechat-takeout Team contact: yt-live-chat@google.com", @@ -91238,6 +91608,7 @@ "Ts Tool Intake Team contact: tool-intake@google.com", "Genesis Ios Team contact: genesis-companion@google.com", "Bankroll Prod Team contact: quantteam@google.com", + "Geo Data Portal Team contact: dop-eng-team@google.com", "", "Duo Client Team contact: duo-eng@google.com", "Project albert (go/albert-frontend) Team contact: albert-eng@google.com", @@ -93294,8 +93665,8 @@ "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", "DEPRECATED", - "An establishment which has a address (a.k.a. location or storefront). Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "A business without a storefront, e.g. a plumber. It would normally not have a place that a customer could visit to receive service, but it would have an area served by the business. Also known as a \"pure\" Service Area Business. NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", "ABSTRACT", @@ -93506,6 +93877,9 @@ "description": "HDR Metadata describes in what way an image expresses high dynamic range information (e.g. using a gainmap or a specialized color space).", "id": "PhotosHdrMetadata", "properties": { + "baseFormat": { + "$ref": "PhotosHdrMetadataBaseFormat" + }, "gainmap": { "$ref": "PhotosHdrMetadataGainmap", "description": "Indicates the presence of some kind of gainmap-utilizing format." @@ -93513,6 +93887,27 @@ }, "type": "object" }, + "PhotosHdrMetadataBaseFormat": { + "description": "Information about the base image. If there is a gain map, this refers to the primary image; otherwise, it just refers to the single HDR image.", + "id": "PhotosHdrMetadataBaseFormat", + "properties": { + "hdrColorSpace": { + "description": "Indicates that the base image uses an HDR color space. Assume HDR if and only if this is set.", + "enum": [ + "HDR_COLOR_SPACE_UNSPECIFIED", + "PQ", + "HLG" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "PhotosHdrMetadataGainmap": { "description": "Details about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.", "id": "PhotosHdrMetadataGainmap", @@ -98629,7 +99024,7 @@ "type": "object" }, "QualityFringeFringeQueryPriorPerDocData": { - "description": "PerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 16", + "description": "PerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 17", "id": "QualityFringeFringeQueryPriorPerDocData", "properties": { "encodedCalibratedFringeSitePriorScore": { @@ -98699,6 +99094,10 @@ "format": "uint32", "type": "integer" }, + "politicsPageGovSite": { + "description": "Whether the page is a politics page according to petacats on a government domain according to KG. Used to override pXLQ in Q* delta-pxlq.", + "type": "boolean" + }, "sensitiveEntitiesIndices": { "description": "Indices on the repository_webref::WebrefEntities::entity field of entities that represent a person or a group of people (aka sensitive entities). Will be deprecated once sensitive_entities_mids is fully launched (see b/290268614).", "items": { @@ -99607,13 +100006,8 @@ "format": "float", "type": "number" }, - "siteQualityStddev": { - "deprecated": true, - "description": "Estimate of site's PQ rating stddev--spread of the page-level PQ ratings of a site. Note this is different from nsr_variance which predicts error of NSR itself from the aggregated site-level rating.", - "format": "float", - "type": "number" - }, "siteQualityStddevs": { + "description": "Estimate of site's PQ rating stddev--spread of the page-level PQ ratings of a site. Note this is different from nsr_variance which predicts error of NSR itself from the aggregated site-level rating.", "items": { "$ref": "QualityNsrVersionedFloatSignal" }, @@ -99887,12 +100281,6 @@ "format": "float", "type": "number" }, - "unversionedRhubarb": { - "deprecated": true, - "description": "The delta score of the URL-level quality predictor.", - "format": "float", - "type": "number" - }, "urlAutopilotScore": { "format": "float", "type": "number" @@ -100033,8 +100421,6 @@ "PRODUCT_COMPARISON", "PRODUCT_BUYING_GUIDE", "SHOPAHOLIC", - "GOOGLE_SCREENSHOT", - "MUGSHOT", "CRIME", "MEME_DOCUMENT", "PRODUCT_TOPN", @@ -100053,6 +100439,8 @@ "SHOPPING_RESEARCH", "LISTICLE", "LISTICLE_OR_AGGREGATOR", + "GOOGLE_SCREENSHOT", + "MUGSHOT", "RESERVED_FOR_NEW_ENUM_140", "RESERVED_FOR_NEW_ENUM_141", "RESERVED_FOR_NEW_ENUM_142", @@ -100359,8 +100747,6 @@ "", "", "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", @@ -100373,12 +100759,14 @@ "", "", "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion. For the definition, please see the furball template go/ugc-discussion-template. Note that this is semantically the union of QNA and FORUM doc level intents. For the reason why we want it to be a single intent, see https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA", + "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", "go/ymyl For intent definition, check go/ymyl-template.", "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", "Listicle document intent classifier, see go/listicle-orbit-classifier.", "", + "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", + "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", "", "", @@ -100543,8 +100931,6 @@ "PRODUCT_COMPARISON", "PRODUCT_BUYING_GUIDE", "SHOPAHOLIC", - "GOOGLE_SCREENSHOT", - "MUGSHOT", "CRIME", "MEME_DOCUMENT", "PRODUCT_TOPN", @@ -100563,6 +100949,8 @@ "SHOPPING_RESEARCH", "LISTICLE", "LISTICLE_OR_AGGREGATOR", + "GOOGLE_SCREENSHOT", + "MUGSHOT", "RESERVED_FOR_NEW_ENUM_140", "RESERVED_FOR_NEW_ENUM_141", "RESERVED_FOR_NEW_ENUM_142", @@ -100869,8 +101257,6 @@ "", "", "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", @@ -100883,12 +101269,14 @@ "", "", "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion. For the definition, please see the furball template go/ugc-discussion-template. Note that this is semantically the union of QNA and FORUM doc level intents. For the reason why we want it to be a single intent, see https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA", + "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", "go/ymyl For intent definition, check go/ymyl-template.", "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", "Listicle document intent classifier, see go/listicle-orbit-classifier.", "", + "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", + "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", "", "", @@ -101060,8 +101448,6 @@ "PRODUCT_COMPARISON", "PRODUCT_BUYING_GUIDE", "SHOPAHOLIC", - "GOOGLE_SCREENSHOT", - "MUGSHOT", "CRIME", "MEME_DOCUMENT", "PRODUCT_TOPN", @@ -101080,6 +101466,8 @@ "SHOPPING_RESEARCH", "LISTICLE", "LISTICLE_OR_AGGREGATOR", + "GOOGLE_SCREENSHOT", + "MUGSHOT", "RESERVED_FOR_NEW_ENUM_140", "RESERVED_FOR_NEW_ENUM_141", "RESERVED_FOR_NEW_ENUM_142", @@ -101386,8 +101774,6 @@ "", "", "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", @@ -101400,12 +101786,14 @@ "", "", "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion. For the definition, please see the furball template go/ugc-discussion-template. Note that this is semantically the union of QNA and FORUM doc level intents. For the reason why we want it to be a single intent, see https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA", + "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", "go/ymyl For intent definition, check go/ymyl-template.", "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", "Listicle document intent classifier, see go/listicle-orbit-classifier.", "", + "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", + "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", "", "", @@ -101588,14 +101976,16 @@ "V_20230925", "V_20240212", "V_20240307", - "V_20240308" + "V_20240308", + "V_20240410" ], "enumDescriptions": [ "", "Initial version.", "Version which includes Kiwi fix from b/292082440.", "Backfill from V_20240212. Usually it is not necessary to annotate a new version when backfilling data, but we want to keep track of how fast this is propagating through the index for experimental purposes. This is effectively the same version as V_20240212.", - "Reprocessing from amarna from after V_20240307. It is usually not necessary to add a new version after a backfill, but we want to keep track of how long it takes for a new version to propagate through the index after a backfill for experimental purposes. This is effectively the same version as V_20240212." + "Backfill with RAIDv3 fix from go/retune-human-animal-raid-v3. Usually it is not necessary to annotate a new version when backfilling data, but we want to keep track of how fast this is propagating through the index for experimental purposes.", + "Reprocessing from Amarna after V_20240308. It is usually not necessary to add a new version after a backfill, but we want to keep track of how long it takes for a new version to propagate through the index after a backfill for experimental purposes. This is effectively the same version as V_20240308." ], "type": "string" } @@ -106219,7 +106609,7 @@ "type": "object" }, "RepositoryAnnotationsRdfaRdfaRichSnippetsApplication": { - "description": "This structure holds data for application information for rich snippets Next ID: 53", + "description": "This structure holds data for application information for rich snippets Next ID: 54", "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplication", "properties": { "appTypeData": { @@ -106307,6 +106697,10 @@ "description": "Whether the app offers in-app purchase.", "type": "boolean" }, + "isBattlestarTitle": { + "description": "Whether this is a game and avaible on Battlestar (go/battlestar).", + "type": "boolean" + }, "isDefaultLangLocale": { "description": "Indicates if the localized data comes from default locale. This is needed because the default localized data does not specify its locale. If this is true, lang_locale may not be the correct locale and should be ignored.", "type": "boolean" @@ -111687,11 +112081,6 @@ "description": "IDF of the n-gram.", "format": "float", "type": "number" - }, - "pluralProb": { - "description": "Probability that the n-gram is a plural form of a word. This information is extracted from SAFT annotations of queries. See HasPluralProperty().", - "format": "float", - "type": "number" } }, "type": "object" @@ -112848,8 +113237,8 @@ "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", "DEPRECATED", - "An establishment which has a address (a.k.a. location or storefront). Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "A business without a storefront, e.g. a plumber. It would normally not have a place that a customer could visit to receive service, but it would have an area served by the business. Also known as a \"pure\" Service Area Business. NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", "ABSTRACT", @@ -118613,7 +119002,7 @@ "type": "string" }, "adsDensityInterstitialViolationStrength": { - "description": "Indicates if the page is violating mobile ads density interstitial policy and the violation strength. See go/interstitials-for-ads and http://ariane/268642 for details. To save indexing space, we convert the double values in [0.0, 1.0] to intergers in range [0, 1000] by using floor(value * 1000).", + "description": "Indicates if the page is violating mobile ads density interstitial policy and the violation strength. See go/interstitials-for-ads and http://ariane/268642 for details. To save indexing space, we convert the double values in [0.0, 1.0] to integers in range [0, 1000] by using floor(value * 1000).", "format": "int32", "type": "integer" }, @@ -119708,7 +120097,7 @@ "type": "object" }, "SocialGraphApiProtoImageReference": { - "description": "A reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service.", + "description": "A reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service. See the SGBE-internal version here: http://google3/social/graph/image/proto/image_reference.proto", "id": "SocialGraphApiProtoImageReference", "properties": { "contentVersion": { @@ -121922,6 +122311,7 @@ "RIGHTS_MANAGEMENT_102", "RIGHTS_MANAGEMENT_INSIDER_RISK", "RIGHTS_MANAGEMENT_EBF_DATA", + "RIGHTS_MANAGEMENT_LLM_DATA_ACCESS_RESTRICTION", "DICTIONARY_DATA_OXFORD", "DICTIONARY_DATA_LE_ROBERT", "ENTITY_TEXT_FEATURES", @@ -122119,6 +122509,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -122282,7 +122673,7 @@ "For personal playlists from YouTube's PlaylistService that have private visibility. PWG-YouTube approval required for all usecases involving this data.", "For data from YouTube's PlaylistService that has either public or private visibility (i.e. the combination of ISOLATION_PKG_YOUTUBE_PLAYLISTS and ISOLATION_PKG_YOUTUBE_PRIVATE_PLAYLISTS). PWG-YouTube approval required for all usecases involving this data.", "Access controls for Creator Channel's S-Cubed corpus data. See more in go/uro-access-required. YOU MUST CONTACT milk-tea@ before reading or writing this data", - "For Search sustainability's food choice feature, Recipe Ingredient Insights. Assign existing KG entities feature types to classify triggering behavior and insights. Owned by salehh@ and s12y-eng@ See go/rii-kg-triggering-migration for more information.", + "For Search sustainability's food choice feature, Recipe Ingredient Insights. Assign existing KG entities feature types to classify triggering behavior and insights. Owned by marubin@ and s12y-eng@ See go/rii-kg-triggering-migration for more information.", "Access controls for SCOUTS Societal Context Repository entities. Please contact johnhenry-eng@ before reading or writing this data. DD: go/scouts-kg-integration-dd", "Access controls for Astrology Horoscope features. Please contact search-india-verticals@ before reading or writing this data. DD: go/daily-horoscope-dd", "TODO(b/304563444) Deprecate ISOLATION_LLM_GENERATED_TVM_SYNOPSIS if it's not used. Prefer using ISOLATION_GENERATED_DATA even for generated tvm synopsis. Access controls for LLM generated tvm synopsis. DD: go/i18n-tvm-descriptions Please contact dkrish-team@ before reading or writing this data.", @@ -122304,6 +122695,7 @@ "Corresponding to policy id = 102.", "Access controls for some subset KG, only applied to individual/Human access. Refer to go/kg-insider-data-access-policy for more details.", "Access controls for triples that are selected in entity based visibility filter.", + "Access controls for triples subject to LLM data access restrictions. Currently only kg-snapshot will populate this AR.", "", "", "Access controls for EntityTextFeatures computed by the Enricher. YOU MUST CONTACT deepkg-infra-dev@ before reading or writing data with this ACL.", @@ -125972,6 +126364,8 @@ "TIMEWORTHY_APP_SEEKING_QUERY_EVENT_LEVEL", "TIME_SPENT_V3_NON_MDP_EVENT_LEVEL", "TIME_SPENT_V3_MDP_EVENT_LEVEL", + "MDP_MEDIA_AND_ENTERTAINMENT_EVENT_LEVEL", + "ZERO_PREFIX_SUGGEST_OFFERS_EVENT_LEVEL", "EVENT_LEVEL_TEST_CODE_LIMIT", "ENTERTAINMENT_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", "BEST_SELLER_CART_TAG_AT_SESSION_LEVEL", @@ -126668,6 +127062,8 @@ "LANGUAGE_SWITCHER_ELIGIBLE_SESSION_LEVEL", "SUBS_OFFER_ON_BUYFLOW_AT_SESSION_LEVEL", "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_SESSION_LEVEL", + "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_SESSION_LEVEL", + "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_SESSION_LEVEL", "TRUSTED_VERTICAL_VPN_INTENT_SESSION_LEVEL", "TRUSTED_VERTICAL_LOAN_INTENT_SESSION_LEVEL", "FOP_PARTNER_PROMOTION_SESSION_LEVEL", @@ -126725,6 +127121,9 @@ "PENDING_CARD_CHALLENGE_TYPE_OTHERS_SESSION_LEVEL", "PLAY_SEARCH_SPAM_QUERY_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", "PLAY_SEARCH_SPAM_QUERY_HIGH_QUALITY_APP_BOOST_SESSION_LEVEL", + "PLAY_SEARCH_BROADEN_SPAM_QUERY_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", + "PLAY_SEARCH_GLOBAL_NAV_EXT_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", + "FCC_QUEST_ON_CLIENT_SESSION_LEVEL", "PURCHASE_ADD_FOP_OPTIONS_SCREEN_SESSION_LEVEL", "PURCHASE_ADD_FOP_OPTIONS_SCREEN_FOPLESS_SESSION_LEVEL", "PLAY_PASS_SUPERHERO_CLUSTER_APP_WITH_VIDEO", @@ -126762,6 +127161,7 @@ "DECLINE_RECOVERY_BETTER_CTA_ELIGIBLE_SESSION_LEVEL", "DECLINE_RECOVERY_SUGGEST_NEXT_FOP_ELIGIBLE_SESSION_LEVEL", "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_SESSION_LEVEL", + "MDP_MEDIA_AND_ENTERTAINMENT_SESSION_LEVEL", "PLAY_BOOKS_READING_PRACTICE_AVAILABLE_IN_KID_READER_SESSION_LEVEL", "IMPRESSION_CAP_SESSION_LEVEL", "REVIEW_SAMPLE_IS_RATING_ALIGNED_SESSION_LEVEL", @@ -126785,6 +127185,9 @@ "TRENDING_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", "X_SOLD_LAST_WEEK_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", + "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_LOW_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", + "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_MID_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", + "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_HIGH_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", "DETAILS_GAME_HUB_STREAM_AT_SESSION_LEVEL", "DETAILS_GAME_HUB_DEVELOPER_VIDEOS_CLUSTER_AT_SESSION_LEVEL", "DETAILS_GAME_HUB_EDITORIAL_CONTENT_CLUSTER_AT_SESSION_LEVEL", @@ -126805,10 +127208,12 @@ "BOOKS_SERIES_COMMERCE_PAGE_VISIT_SESSION_LEVEL", "SOUR_PATCH_KIDS_UI_SERP_CLICK_SESSION_LEVEL", "FORM_FACTOR_DETAILS_PAGE_SESSION_LEVEL", + "FORM_FACTOR_WEAR_PAGE_SESSION_LEVEL", "DEFAULT_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL", "CONTEXTUAL_ADD_FOP_SESSION_LEVEL", "SIMILAR_WATCH_FACE_SESSION_LEVEL", "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL", + "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL", "TIMEWORTHY_APP_GAME_SEEKING_QUERY_SESSION_LEVEL", "CORPUS_WIDE_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL", "NAV_ADS_REQUEST_ELIGIBLE_FOR_NARROW_IMAGE_AD_FORMAT", @@ -126825,6 +127230,7 @@ "TIMEWORTHY_APP_SEEKING_QUERY_SESSION_LEVEL", "TIME_SPENT_V3_NON_MDP_SESSION_LEVEL", "TIME_SPENT_V3_MDP_SESSION_LEVEL", + "CURRENCY_CONVERSION_FOR_DISABLED_CARTS_SESSION_LEVEL", "SESSION_LEVEL_TEST_CODE_LIMIT", "CART_ABANDONMENT_USER_LEVEL", "IN_APP_PRODUCTS_IN_DETAILS_PAGE_USER_LEVEL", @@ -127145,6 +127551,8 @@ "CART_ABANDONMENT_REMINDER_SUBS_USER_LEVEL", "CART_ABANDONMENT_REMINDER_USER_LEVEL_V3", "CART_ABANDONMENT_REMINDER_IAP_USER_LEVEL", + "CART_ABANDONMENT_REMINDER_USER_LEVEL_V4", + "CONTEXTUAL_ADD_FOP_USER_LEVEL", "SUBSCRIPTION_OFFER_SWITCH_DATA_PRESENT_USER_LEVEL", "FCC_FIRST_PARTY_CATEGORICAL_SEARCH_OFFERS_USER_LEVEL", "MERCH_CONTENT_EXP_ACTIVE_PUBG_USER_LEVEL", @@ -127168,6 +127576,9 @@ "LIVEOPS_INSTALL_NOTIFICATION_CHURNED_USER_LEVEL", "SUBS_OFFER_ON_BUYFLOW_AT_USER_LEVEL", "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_USER_LEVEL", + "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_USER_LEVEL", + "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_USER_LEVEL", + "FCC_QUEST_ON_CLIENT_USER_LEVEL", "FOP_PARTNER_PROMOTION_USER_LEVEL", "BOOKS_LOYALTY_PROMO_BANNER_WEEKLY_PRIZE_USER_LEVEL", "IS_ELIGIBLE_FOR_DYNAMIC_AUTH_USER_LEVEL", @@ -127241,6 +127652,7 @@ "PLAY_EVERBOARDING_FLOW_NEED_FOP_USER_LEVEL", "PLAY_EVERBOARDING_FLOW_NEED_AUTH_AND_FOP_USER_LEVEL", "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_USER_LEVEL", + "MDP_MEDIA_AND_ENTERTAINMENT_USER_LEVEL", "NUDGE_PAYTM_WALLET_FAILURE_TO_UPI_USER_LEVEL", "HAS_INSUFFICIENT_STORED_VALUE_BALANCE_BEFORE_RENEWAL_V3_USER_LEVEL", "ELIGIBILITY_AS_A_SERVICE_3P_LIVEOPS_USER_LEVEL", @@ -127259,10 +127671,20 @@ "SOUR_PATCH_KIDS_UI_SERP_USER_LEVEL", "SOUR_PATCH_KIDS_UI_DP_USER_LEVEL", "FORM_FACTOR_DETAILS_PAGE_USER_LEVEL", + "FORM_FACTOR_WEAR_PAGE_USER_LEVEL", "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL", + "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL", "SUBSCRIPTION_SUBSCRIBE_MORE_SAVE_MORE_USER_LEVEL", "GH_ECC_HIGH_SPEND_GAMERS_USER_LEVEL", "GH_ECC_LOW_SPEND_GAMERS_USER_LEVEL", + "GH_ECC_HIGH_VALUE_GAMERS_USER_LEVEL", + "GH_ECC_MEDIUM_VALUE_GAMERS_USER_LEVEL", + "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_USER_LEVEL", + "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_USER_LEVEL", + "GH_ECC_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", + "GH_ECC_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", + "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", + "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", "GAME_SPEND_STATE_ACTIVE_NEW", "GAME_SPEND_STATE_ACTIVE_RETAINED", "GAME_SPEND_STATE_ACTIVE_RESURRECTED", @@ -127280,11 +127702,9 @@ "SUBSCRIPTION_ENTER_ACCOUNT_HOLD_GLOBO_USER_LEVEL", "PLAY_DOUGH_FOP_PARTNER_PROMOTION_USER_LEVEL", "USER_LEVEL_TEST_CODE_LIMIT", - "MDP_MEDIA_AND_ENTERTAINMENT_SESSION_LEVEL", - "MDP_MEDIA_AND_ENTERTAINMENT_USER_LEVEL", "HAS_ALLOWLIST_REINSTALL_USER_LEVEL", "LOYALTY_WEEKLY_REWARDS_FCC_FORMAT_NOW_CAROUSEL_USER_LEVEL", - "IAB_AUTH_RECOVERY_USER_LEVEL", + "IAB_AUTH_RECOVERY_V2_USER_LEVEL", "USER_INTEREST_PICKER_SUBMISSION_ON_CLICK_USER_LEVEL", "BOOKS_SERIES_COMMERCE_PAGE_VISIT_USER_LEVEL", "BLOCK_SUBSCRIPTION_FOR_PAYMENT_PROFILE_CLOSURE_USER_LEVEL", @@ -127305,9 +127725,21 @@ "NON_CRICKET_AFFINITY_USER_LEVEL", "SUBSCRIBE_INSTALL_MIGRATION_USER_LEVEL", "WEBSKY_IAP_SALES_MVP_USER_LEVEL", + "ZERO_PREFIX_SUGGEST_OFFERS_USER_LEVEL", + "FCC_CAT_SEARCH_USER_BUYER_STATE_ACTIVE_BUYER_V2", + "FCC_CAT_SEARCH_USER_BUYER_STATE_DORMANT_BUYER_V2", + "FCC_CAT_SEARCH_USER_BUYER_STATE_LAPSED_BUYER_V2", + "FCC_CAT_SEARCH_USER_BUYER_STATE_CHURNED_BUYER_V2", "FCC_SHORT_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL", "FEATURED_PRODUCT_LIVE_OP_NOT_SHOWN_SESSION_LEVEL", - "FEATURED_PRODUCT_LIVE_OP_SHOWN_SESSION_LEVEL" + "FEATURED_PRODUCT_LIVE_OP_SHOWN_SESSION_LEVEL", + "DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL", + "PLAY_PASS_FREE_TRIAL_OFFER_SHOWN_SESSION_LEVEL", + "PLAY_PASS_PAID_OFFER_SHOWN_SESSION_LEVEL", + "FEATURED_PRODUCTS_LIVE_OPS_METADATA_SESSION_LEVEL", + "VIDEO_ADS_SERVED_SESSION_LEVEL", + "VIDEO_ADS_NOT_SERVED_SESSION_LEVEL", + "ZERO_PREFIX_SUGGEST_OFFERS_SESSION_LEVEL" ], "enumDeprecated": [ false, @@ -127868,6 +128300,8 @@ false, false, false, + false, + false, true, false, false, @@ -128345,6 +128779,8 @@ false, false, false, + false, + false, true, false, false, @@ -128417,6 +128853,10 @@ false, false, false, + false, + false, + false, + false, true, true, true, @@ -128664,6 +129104,12 @@ false, false, false, + false, + false, + false, + false, + false, + false, true, false, false, @@ -128829,6 +129275,11 @@ false, false, false, + false, + false, + false, + false, + false, true, false, false, @@ -128951,6 +129402,27 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -129260,6 +129732,8 @@ "Event-level test code for Timeworthy App Seeking query (2nd Pass).", "Event-level test code for when Time Spent 2.0 V3 is triggered for non-MDP query.", "Event-level test code for when Time Spent 2.0 V3 is triggered for MDP query.", + "Event-level test code for M\u0026E in MDP", + "Event-level test code for Zero Prefix Suggest Offers", "", "", "", @@ -129956,6 +130430,8 @@ "Session level test code indicating that the user is eligible for language switcher on cart screen.", "Session level test code for traking the users who did see subs offer on buyflow. This is a Commerce client level test code.", "Session level test code for traking the users who are eligible to subs offer on buyflow. This is a P3 server level test code.", + "Session level test code for traking the users who did see subs offer on buyflow on PRS exploration launch. This is a Commerce client level test code.", + "Session level test code for traking the users who are eligible to subs offer on buyflowon PRS exploration launch. This is a P3 server level test code.", "Session-level test code to track triggering of VPN Intent trusted vertical message.", "Session-level test code to track triggering of LOAN Intent trusted vertical message.", "Session level test code for FOP Partner Promo.", @@ -130013,6 +130489,9 @@ "", "Session-level test codes for Play search spam-query low quality app demotion experiments.", "", + "", + "", + "Session level test code for FCC Quest experiment client side tracking. See go/qcc-to-fcc-migration-client.", "Session-level test code marking sessions where users see the add new fop option screen during purchase flow. This will be used for ranking of add fop options experiments.", "", "Session-level test code for when an app is eligible to have its video and description displayed in the Play Pass superhero cluster.", @@ -130050,6 +130529,7 @@ "Session-level test code for better decline recovery cta eligibility.", "Session-level test code for next ranked FOP suggestion eligibility.", "Session-level test code for allowing renewal with no instrument.", + "Session-level test code for M\u0026E in MDP.", "Session-level test code for kid reader session for an ebook volume and device locale that support reading practice.", "Impression Cap Session Level Test Code.", "Session-level test code for tracking rating-aligned ReviewSamples.", @@ -130073,6 +130553,9 @@ "Session level test code that indicates if the SKU that a user saw qualified for the \"Trending\" Social Proof message.", "Session level test code that indicates if the SKU that a user saw qualified for the \"X sold last week\" Social Proof message.", "Session level test code that indicates if the SKU that a user saw qualified for the \"X people bought multiple\" Social Proof message.", + "Session level test code that indicates if the SKU that a user saw qualified for the low-tier \"X people bought multiple\" Social Proof message.", + "Session level test code that indicates if the SKU that a user saw qualified for the mid-tier \"X people bought multiple\" Social Proof message.", + "Session level test code that indicates if the SKU that a user saw qualified for the high-tier \"X people bought multiple\" Social Proof message.", "Session-level test code for Details Game Hub Stream.", "Session-level test code for Details Game Hub Developer Videos Cluster.", "Session-level test code for Details Game Hub Editorial Content Cluster.", @@ -130093,10 +130576,12 @@ "Session level test code for a books series commerce page visit.", "Session-level test code for review highlight click on SERP.", "Test codes for form factor details page. See go/play-xff-dp-serving.", + "Session-level test code for form factor wear subpage.", "Session-level test code tagging users who saw the default campaign details page.", "Session-level test code for contextual add fop feature where the payment schedule module is added on the instant fop screen.", "Test codes for similar watch face on details page. See go/similar_wfs_on_dp.", "Test code for app subscription cart abandonment offer", + "Test code for Play Pass subscription cart abandonment offer", "Session-level test code for timeworthy App and Game seeking query.", "Session-level test code tagging users who saw the corpus wide campaign details pages, including default CDP and stamp card DP.", "Session-level test code for nav ads image format eligibility", @@ -130113,6 +130598,7 @@ "Session-level test code for Timeworthy App Seeking query (2nd Pass).", "Session-level test code for when Time Spent 2.0 V3 is triggered for non-MDP query.", "Session-level test code for when Time Spent 2.0 V3 is triggered for MDP query.", + "Session-level test code for when currency conversion is required for a disabled cart.", "", "Cart abandonment flow for purchase flow.", "User saw/would have seen the in app products section in App", @@ -130433,6 +130919,8 @@ "", "", "", + "", + "User level test code for Contextual Add Fop feature where the payment schedule module is added on the instant fop screen.", "User level test code for OfferSwitchData in CreateCarts", "User level test code for 1P fcc categorical search offers.", "User-level test code for running content experiments for merch curated clusters.", @@ -130456,6 +130944,9 @@ "User level test code for live-ops install notification Churn experiments. If GE decision changed after enabling ranking using the notification install model prediction for churned users, log test code.", "User level test code for traking the users who did see subs offer on buyflow. This is a Commerce client level test code.", "User level test code for traking the users who are eligible to subs offer on buyflow. This is a P3 server level test code.", + "User level test code for traking the users who did see subs offer on buyflow on PRS exploration launch. This is a Commerce client level test code.", + "User level test code for traking the users who are eligible to subs offer on buyflowon PRS exploration launch. This is a P3 server level test code.", + "User level test code for FCC Quest experiment client side tracking. See go/qcc-to-fcc-migration-client.", "User level test code for FOP Partner Promo.", "User level test code for users who have seen a Loyalty weekly prize banner.", "User level test code for users who are eligible for dynamic auth.", @@ -130529,6 +131020,7 @@ "User-level test code to identify the users who need to add a fop but do not need anything else that we check for everboarding.", "User-level test code to identify the users who need to add a purchase auth and a fop.", "User-level test code for allowing renewal with no instrument.", + "User-level test code for M\u0026E in MDP.", "User level test code to track users who saw the nudge screen when they faced a Paytm wallet failure. go/nudge-failed-paytm-wallets-dd.", "User level test code for stored value top-up email reminder (V3).", "User level test code for EaaS 3P LiveOps Event.", @@ -130547,10 +131039,20 @@ "User-level test code for review highlight UI feature on SERP.", "User-level test code for review highlight UI feature on DP.", "Test codes for form factor details page. See go/play-xff-dp-serving.", + "User-level test code for form factor wear subpage.", "Test code for app subscription cart abandonment offer", + "Test code for Play Pass subscription cart abandonment offer", "User level test code for Subscribe More Save More offers. go/solar-experiment-plan", "User level test code for TopGun cohort id: 76766 (High Spend Gamers).", "User level test code for TopGun cohort id: 76767 (Low Spend Gamers).", + "User level test code for TopGun cohort id: 77001 (High Value Gamers).", + "User level test code for TopGun cohort id: 77002 (Medium Value Gamers).", + "User level test code for TopGun cohort id: 77235 (Predicted High Value Gamers).", + "User level test code for TopGun cohort id: 77236 (Predicted Medium Value Gamers).", + "User level test code for HVG eligible for 2P videos.", + "User level test code for MVG eligible for 2P videos.", + "User level test code for pHVG eligible for 2P videos.", + "User level test code for pMVG eligible for 2P videos.", "Test code for Game Spend State Active New.", "Test code for Game Spend State Active Retained.", "Test code for Game Spend State Active Resurrected.", @@ -130568,8 +131070,6 @@ "User level test code for users who enter account hold of globo subs.", "User level test code for FOP Partner Promo, logged in PlayDough.", "", - "Session level test code for M\u0026E in MDP.", - "User level test code for M\u0026E in MDP.", "User level test code for reinstall apps/games based on an allowlist. Users who see or are supposed to see reinstall from this allowlist in RFY clusters be associated with this test code.", "User level test code for loyalty weekly rewards FCC format on Now! Carousel.", "User level test code to identify users who have encountered auth failures during in-app billing flows.", @@ -130593,9 +131093,21 @@ "User level test code tagging users who do not have an affinity to cricket apps. go/cricket-affinity-logging", "User level test code for Subscribe \u0026 Install migration go/subscribe-install-migration-design.", "User level test code for the MVP launch of IAP sales on Websky details page. go/support-iap-sales-on-websky-details-page.", - "Session level test code used to identify users who were shown the FCC short liveops cluster on an apps details page.", + "User level test code for Zero Prefix Suggest Offers", + "Test code Fcc cat search experiment, active buyer.", + "Test code Fcc cat search experiment, dormant buyer.", + "Test code Fcc cat search experiment, lapsed buyer.", + "Test code Fcc cat search experiment, churned buyer.", + "Session level test code used to identify users who were shown the FCC short liveops cluster on an apps details page. Deprecated use DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL instead.", "Session level test code used to identify users who were eligible to view featured products liveops but were not shown the liveop in the FCC short liveops cluster on an apps details page.", - "Session level test code used to identify users who were shown featured products liveops in the FCC short liveops cluster on an apps details page." + "Session level test code used to identify users who were shown featured products liveops in the FCC short liveops cluster on an apps details page.", + "Session level test code used to identify users who were shown the liveops cluster on an apps details page.", + "Session level test code used to identify users who were shown Play Pass free trial signup offer.", + "Session level test code used to identify users who were shown Play Pass paid signup offer.", + "Session level test code for Featured Products LiveOps metadata.", + "Session-level test code indicating that the user was served a video ad for basic video details page experiment.", + "Session-level test code indicating that the user was not served a video ad for basic video details page experiment.", + "Session-level test code for Zero Prefix Suggest Offers" ], "type": "string" }, @@ -130721,7 +131233,8 @@ "ACCESSIBLITY", "ASSISTANT", "CHROMEBOOK_COMPATIBILITY", - "GLOBAL_ATTRIBUTE" + "GLOBAL_ATTRIBUTE", + "WEAR" ], "enumDescriptions": [ "", @@ -130738,7 +131251,8 @@ "============================= General =======================// Accessiblity. e.g. Blind-Friendly", "Assistant tags, e.g. Assistant-Enabled", "Chrome OS compatibility tags. e.g. Optimized for Chromebooks", - "Global attribute shared between both App and Game. e.g. Companion App" + "Global attribute shared between both App and Game. e.g. Companion App", + "Wear OS compatibility tags. e.g. Wear Standalone" ], "type": "string" } @@ -131030,7 +131544,7 @@ "id": "VideoAssetsVenomVideoId", "properties": { "id": { - "description": "REQUIRED. IDs have some constraints: - 32 bytes max: this is enforced by the server - for the time being, must be parseable as a youtube ID (basically a base64-encoded string which maps to a 64-bit integer). This restriction will eventually be lifted.", + "description": "REQUIRED. IDs have some constraints: - must be parseable as a youtube ID (basically a base64-encoded string which maps to a 64-bit integer, see google3/video/tools/video_id.h):", "format": "byte", "type": "string" }, @@ -131077,6 +131591,7 @@ "NS_CONTRIB_SERVICE_GEO_UGC", "NS_CONTRIB_SERVICE_BARD_STORAGE", "NS_CONTRIB_SERVICE_FLYBY", + "NS_CONTRIB_SERVICE_SHOPSTREAM", "NS_SEARCH_SPORTS", "NS_BUSINESSMESSAGING", "NS_AERIAL_VIEW", @@ -131128,6 +131643,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -131171,6 +131687,7 @@ "Namespace for GEO UGC videos processed by ContribService.", "Namespace for BARD UGC videos processed by ContribService.", "Namespace for FlyBy (Local Top Ads) videos processed by ContribService.", + "Namespace for Shopstream videos processed by ContribService.", "Namespace for Search Sports vertical videos.", "Namespace for Business Messaging videos.", "Namespace for Geo Aerial View", @@ -137695,6 +138212,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -138156,6 +138740,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -139908,6 +140559,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -140369,6 +141087,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -141055,6 +141840,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -141516,6 +142368,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -142129,6 +143048,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -142590,6 +143576,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -143116,6 +144169,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -143577,6 +144697,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -144095,6 +145282,73 @@ "CODEC_ID_PROSUMER", "CODEC_ID_RASC", "CODEC_ID_WCMV", + "CODEC_ID_MSP2", + "CODEC_ID_VQC", + "CODEC_ID_CDTOONS", + "CODEC_ID_SIREN", + "CODEC_ID_PGX", + "CODEC_ID_ADPCM_IMA_CUNNING", + "CODEC_ID_VMIX", + "CODEC_ID_DERF_DPCM", + "CODEC_ID_MEDIA100", + "CODEC_ID_FTR", + "CODEC_ID_DFPWM", + "CODEC_ID_PDV", + "CODEC_ID_APAC", + "CODEC_ID_ADPCM_ARGO", + "CODEC_ID_ADPCM_IMA_SSI", + "CODEC_ID_SGA_VIDEO", + "CODEC_ID_PHOTOCD", + "CODEC_ID_PCM_SGA", + "CODEC_ID_NOTCHLC", + "CODEC_ID_OSQ", + "CODEC_ID_MISC4", + "CODEC_ID_PHM", + "CODEC_ID_MV30", + "CODEC_ID_GEM", + "CODEC_ID_MVDV", + "CODEC_ID_ACELP_KELVIN", + "CODEC_ID_PFM", + "CODEC_ID_ADPCM_IMA_APM", + "CODEC_ID_IMM5", + "CODEC_ID_ANULL", + "CODEC_ID_ARBC", + "CODEC_ID_VBN", + "CODEC_ID_FASTAUDIO", + "CODEC_ID_LSCR", + "CODEC_ID_RKA", + "CODEC_ID_ARGO", + "CODEC_ID_WBMP", + "CODEC_ID_MSNSIREN", + "CODEC_ID_ADPCM_IMA_ALP", + "CODEC_ID_BONK", + "CODEC_ID_QOI", + "CODEC_ID_RTV1", + "CODEC_ID_VNULL", + "CODEC_ID_HCOM", + "CODEC_ID_ADPCM_AGM", + "CODEC_ID_ADPCM_IMA_MTF", + "CODEC_ID_HYMT", + "CODEC_ID_WADY_DPCM", + "CODEC_ID_RADIANCE_HDR", + "CODEC_ID_MVHA", + "CODEC_ID_VP4", + "CODEC_ID_MOBICLIP", + "CODEC_ID_ADPCM_IMA_MOFLEX", + "CODEC_ID_HCA", + "CODEC_ID_IPU", + "CODEC_ID_WAVARC", + "CODEC_ID_SIMBIOSIS_IMX", + "CODEC_ID_CBD2_DPCM", + "CODEC_ID_PCM_VIDC", + "CODEC_ID_CRI", + "CODEC_ID_AGM", + "CODEC_ID_ADPCM_XMD", + "CODEC_ID_ADPCM_IMA_ACORN", + "CODEC_ID_ADPCM_ZORK", + "CODEC_ID_QOA", + "CODEC_ID_VVC", + "CODEC_ID_LEAD", "CODEC_ID_UNKNOWN", "CODEC_ID_PCM_S16LE", "CODEC_ID_PCM_S16BE", @@ -144556,6 +145810,73 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "various pcm \"codecs\"", "", "", @@ -146102,8 +147423,44 @@ }, "type": "object" }, + "WWWResultInfoMinimalAestheticsAdjusterInfo": { + "description": "Minimal copy of ImageAestheticsAdjusterInfo (http://google3/quality/scoring/proto/image-data.proto;l=966;rcl=618955078) for use by web twiddlers. NextID: 8", + "id": "WWWResultInfoMinimalAestheticsAdjusterInfo", + "properties": { + "boost": { + "description": "final boost = *(all boosts)", + "format": "float", + "type": "number" + }, + "deepTagCollageBoost": { + "format": "float", + "type": "number" + }, + "deepTagCollageScore": { + "format": "float", + "type": "number" + }, + "eqBoost": { + "format": "float", + "type": "number" + }, + "eqExpansionOrganicBoost": { + "format": "float", + "type": "number" + }, + "eqExpansionStar": { + "format": "float", + "type": "number" + }, + "tqBoost": { + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "WWWResultInfoSubImageDocInfo": { - "description": "The following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26", + "description": "The following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 31", "id": "WWWResultInfoSubImageDocInfo", "properties": { "additionalSafesearchSignals": { @@ -146113,6 +147470,9 @@ }, "type": "array" }, + "aestheticsAdjusterInfo": { + "$ref": "WWWResultInfoMinimalAestheticsAdjusterInfo" + }, "bestThumbnailType": { "description": "The best thumbnail type is either 300K or 50K.", "enum": [ @@ -146265,6 +147625,10 @@ "imageUrl": { "type": "string" }, + "ocrTokensCount": { + "format": "int32", + "type": "integer" + }, "pamirNormalizedScore": { "format": "float", "type": "number" diff --git a/contentwarehouse/v1/contentwarehouse-gen.go b/contentwarehouse/v1/contentwarehouse-gen.go index b4c3aa54c79..16b8dcb7c17 100644 --- a/contentwarehouse/v1/contentwarehouse-gen.go +++ b/contentwarehouse/v1/contentwarehouse-gen.go @@ -534,119 +534,24 @@ type AbuseiamEvaluation struct { // Possible values: // "UNKNOWN" // "ADMIN" - Eval directly from the AbuseIAm server. - // "GRADS" // "OCELOT" // "SPAMIAM" // "MANUAL_REVIEW" - // "MAWLER" - // "DOWNLOADER" // "PORN_CLASSIFIER" - Text-based porn classifier. // "GIBBERISH_DETECTOR" - Language model-based gibberish detector. - // "ANTIVIRUS" - // "GAUSS" - Gauss positive score. - // "REALUSERS" - // "USERRANK" - Gmail userrank goodness score. - // "GRADS_AGGRESSIVE" - // "BULK_ACTION" - Intended for manually executed bulk actions. // "BADWORD" - Deprecated. Please use PATTERNLIST instead. - // "GAIA" - Gaia account maninuplation (disable, enable). - // "LINKS_COUNT" - // "RE_RULE" - The most common type of rule. - // "SLAM" - // "AUTHORRANK" - Authorrank.percentile -> score. - // "USERRANK_BADNESS" - Gmail userrank badness score. - // "GAUSS_EXPLICIT" - // "GAUSS_IMPLICIT" - // "RETRIEVE_MESSAGE" - For message retrieving only. - // "SPAM_REPORT" - // "SQUEAL" - // "BLOGGER_LOGS" - // "TRUSTRANK_PHISHING" - // "CATFOOD" // "IMAGE_PORN_CLASSIFIER" - // "OCELOT_IMPORT" // "FIFE_IMAGE_FETCHER" - // "FAST_RISING_FEATURES" - // "BOTGUARD" - Special rule in decision scripts. - // "NAME_CHECKER" - // "CHEETAH" - Deprecated. Do not use. Use CHEETAH_IMPORT - // "GALLIFREY" - // "OCELOT_DELETE" // "RULE" - For miscellaneous rules in decision scripts // "FOCUS" - that are not separate backends. - // "VIDEO_THUMBNAILER" // "PATTERNLIST" - Check texts against a list of regex patterns. - // "METADATA" - Reads data from metadata store (aka BadWolf). - // "METADATA_IMPORT" - Metadata import adapter. - // "NAME_DETECTOR" - Name detector adapter. - // "SHINGLE_COMPUTER" - Computes shingles for text messages. // "WIGGUM" - Does search-by-image using Wiggum Server. // "BINARY_EXPLORATION" - Slow backend. See http://go/bineval. - // "REVNET" - Review graph analysis, stored in metadata. - // "FURS" - // "YOUTUBE_CLASSIFIER" - Classifies messages using the youtube - // models. - // "IDV" - Reads UserProfile from the IDV server. - // "CLUSTERCAT" - // "CHEETAH_IMPORT" - Adapter that writes to Cheetah. - // "CHEETAH_READ" - Adapter that reads from Cheetah. - // "BOTGUARD_DECODE" - Adapter that decodes BotGuard response. // "QUOTASERVER" - Quota server adapter. // "YOUTUBE" - Video classification from youtube. - // "BLOGGER" - // "SOCIAL_GRAPH" - Evaluation from SocialGraph adapter. - // "WEB_SIGNALS" - // "TRAWLER" - // "NOTIFICATIONS" - Adapter that sends notifications to users. - // "CASES" - Adapter that interacts with Cases. - // "BADURLS" - // "LINK_IMPORT" - Adapter that imports link signals. - // "SHINGLE_DEDUPER" - Badwolf based shingle deduper. - // "DEV_CONSOLE" - Dev Console info for cloud projects. - // "METADATA_QUERY" - Rich query facility for BadWolf. - // "PLUS_PAGE" - Adapter for querying pluspage info. - // "YOUTUBE_VIDEO_INFO" - Queries video info from YT. - // "GOOGLE_ADMIN" - Google Admin for manual operations. - // "RESPAY" - Clould billing information and termination. - // "COOKBOOK" - Matched to some Cookbook recipes. - // "EASY_LEARN" - Machine learning models evaluations. - // "QUALITY_SAMPLER" - Decides if a message is sampled for quality. - // "BLOBSTORE" - Blobstore adapter. - // "OWNER" - For evaluation initiated by content owner. // "POLICY" - For evaluation generated according to policy. - // "EXTERNAL" - For evaluations generated by services outside - // "ABUSEIAM_FEEDBACK" - AbuseIAm. Adapter that sends feedbacks - // between clients. - // "BIGSTORE" - Adapters that access Bigstore files. // "PHOTO_SERVICE" - Adapter that queries Photo Service. - // "GRADS_RELATED" - Fetch grads related accounts. - // "REAPER" - Site reputation service by safe browsing team - // "GATEKEEPER" - Gaia disableserver. - // "VIPER" - Adapters that run a Viper graph. - // "MSISDN" - Phone metadata adapter. - // "VIDEO_REVIEW" - The YouTube Video review service. - // "CSAI_MATCH" - Video matching for CSAI. - // "REDQUEEN" - RedQueen reputation adapter. - // "STREAMER_INDEXER" - Streamer Indexer Service to get locations - // "DREMEL" - of a video for various formats. Dremel service. - // "VISUAL_SEARCH_SERVICE_PORN" - Visual search service for porn - // scores. - // "VISUAL_SEARCH_SERVICE_OCR" - Visual search service for OCR. - // "IMPLICIT_SOCIAL_GRAPH" - implicit social graph for affinity scores - // "EASY_LEARN_BLEND" - Blend Service for Easy Learn (ML models) - // "USER_AURA" - User aura service. - // "GOOPS" - Goops adapter used for publishing messages. - // "ANDROID_CHECKIN" - Android checkin data including device info - // "ARES_DATA_PROVIDER" - Adapter that fetches data from Ares. - // "DROIDGUARD_VERDICT" - Retrieves droidguard verdict for the device. - // "ARES_DATA_WRITER" - Adapter that writes data into Ares. - // "ADAPTIVE_QUOTA" - Adapter to talk to Adaptive Quota system. - // "AIAPLX" - For evaluations derived from aia-plx queries. - // "INFAME" - For evaluations derived from infame. // "ARES" - For evaluations generated by Ares. - // "VISUAL_SEARCH_SERVICE_ICA" - Visual search service for ICA. - // "VISUAL_SEARCH_SERVICE_BUTTON_DETECTION" - // "VISUAL_SEARCH_SERVICE_LOGO_DETECTION" - Visual search service for Backend string `json:"backend,omitempty"` // Comment: Backends can choose to put some debug info in addition to @@ -2834,6 +2739,8 @@ type AppsPeopleOzExternalMergedpeopleapiAffinity struct { // "GENESIS_IOS_AFFINITY" // "BANKROLL_PROD_AFFINITY" // "CALENDAR_WEB_ROOM_AFFINITY" + // "CHROME_MULTIPLAYER_AFFINITY" + // "GEO_DATA_PORTAL_AFFINITY" AffinityType string `json:"affinityType,omitempty"` // ContainerId: The ID of the container @@ -3600,9 +3507,8 @@ func (s *AppsPeopleOzExternalMergedpeopleapiChannelData) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiCircleMembership: A circle -// membership that the person has. A circle membership is created by -// adding a person to a circle by person-id or by email. +// AppsPeopleOzExternalMergedpeopleapiCircleMembership: DEPRECATED. No +// data is returned for this field anymore. See b/329513077. type AppsPeopleOzExternalMergedpeopleapiCircleMembership struct { // CircleId: The circle that the person belongs to. CircleId string `json:"circleId,omitempty"` @@ -7030,7 +6936,8 @@ type AppsPeopleOzExternalMergedpeopleapiPerson struct { CertifiedBornBefore []*AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore `json:"certifiedBornBefore,omitempty"` - // CircleMembership: Circles that this person is a member of. + // CircleMembership: DEPRECATED. No data is returned for this field + // anymore. See b/329513077. CircleMembership []*AppsPeopleOzExternalMergedpeopleapiCircleMembership `json:"circleMembership,omitempty"` ClientData []*AppsPeopleOzExternalMergedpeopleapiClientData `json:"clientData,omitempty"` @@ -12573,13 +12480,13 @@ type AssistantApiCoreTypesDeviceId struct { DeviceConfig *AssistantApiCoreTypesDeviceConfig `json:"deviceConfig,omitempty"` // DeviceType: DEPRECATED. - // assistant.api.core_types.governed.SurfaceIdentity.surface_type field - // should be used instead. The device's surface type. This is the string - // version of surface_type. The server should use the SurfaceType value - // derived from this string. If the device_type isn't supported within - // the SurfaceType enum, it will be set as UNKNOWN. Developers should - // use the enum in ServerParams instead of this string. WARNING: Clients - // are not actually setting this field. This field will be removed once + // assistant.api.core_types.SurfaceIdentity.surface_type field should be + // used instead. The device's surface type. This is the string version + // of surface_type. The server should use the SurfaceType value derived + // from this string. If the device_type isn't supported within the + // SurfaceType enum, it will be set as UNKNOWN. Developers should use + // the enum in ServerParams instead of this string. WARNING: Clients are + // not actually setting this field. This field will be removed once // references to it within the code base have been removed. DeviceType string `json:"deviceType,omitempty"` @@ -13755,6 +13662,7 @@ type AssistantApiCoreTypesSurfaceIdentity struct { // "IOS_WEAR" // "LIBASSISTANT" - For standalone libassistant devices. // "LINE_CHATBOT" - LINE 3P messaging app + // "MATTER" - For Matter devices. go/matter-prod // "MULTIMODAL_AGSA" - Deprecated. // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the // Assistant, i.e. web HQ @@ -13913,6 +13821,8 @@ type AssistantApiCoreTypesSurfaceIdentity struct { // "LIBASSISTANT" - LibAssistant (go/libassistant) C++ SDK that powers // Assistant experience on both 1P devices like Google Home and 3P // devices like Sonos. OWNERS: libassistant-core@ + // "MATTER" - Matter based clients. go/matter-prod. OWNERS: + // assistant-media@ // "PHONE" - A phone. OWNERS: surfaces-infra-core@ // "PIXEL" - Pixel devices. OWNERS: surfaces-infra-core@ // "PIXEL5" - Pixel 5. OWNERS: surfaces-infra-core@ @@ -14028,6 +13938,7 @@ type AssistantApiCoreTypesSurfaceType struct { // "IOS_WEAR" // "LIBASSISTANT" - For standalone libassistant devices. // "LINE_CHATBOT" - LINE 3P messaging app + // "MATTER" - For Matter devices. go/matter-prod // "MULTIMODAL_AGSA" - Deprecated. // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the // Assistant, i.e. web HQ @@ -20275,8 +20186,10 @@ func (s *AssistantApiSupportedProviderTypes) MarshalJSON() ([]byte, error) { type AssistantApiSurfaceProperties struct { ExecutionCapabilities *AssistantApiSurfacePropertiesExecutionCapabilities `json:"executionCapabilities,omitempty"` - // PrefersGlanceableUi: Indicates if the surface prefers glanceable UI - // when rendering Assistant response. (see + // PrefersGlanceableUi: DEPRECATED: This field is used only by the + // Hummingbird effort, which has culminated and is being cleaned up + // (b/325065733). Indicates if the surface prefers glanceable UI when + // rendering Assistant response. (see // go/mobile-dr-hbird-glanceable-comms-cuj for more context). PrefersGlanceableUi bool `json:"prefersGlanceableUi,omitempty"` @@ -23024,6 +22937,7 @@ type AssistantLogsDeviceInfoLog struct { // "IOS_WEAR" // "LIBASSISTANT" - For standalone libassistant devices. // "LINE_CHATBOT" - LINE 3P messaging app + // "MATTER" - For Matter devices. go/matter-prod // "MULTIMODAL_AGSA" - Deprecated. // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the // Assistant, i.e. web HQ @@ -24560,7 +24474,7 @@ func (s *AssistantPfrTiebreakingMetadata) MarshalJSON() ([]byte, error) { // AssistantPrefulfillmentRankerPrefulfillmentSignals: Signals to be // used by the Prefulfillment Ranker. Derived from the ParsingSignals // and GroundingSignals carried by the FunctionCall. LINT.IfChange Next -// ID: 74 +// ID: 80 type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { // CalibratedParsingScore: A parsing score that is independently // calibrated by each parser/IG. @@ -24594,6 +24508,8 @@ type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { // object, signifying it came from Search resolution. HasAnswerGroup bool `json:"hasAnswerGroup,omitempty"` + HasIntentUpdate bool `json:"hasIntentUpdate,omitempty"` + // InQueryMaxEffectiveArgSpanLength: This is a cross-intent feature // which is calculated by iterating all intent candidates. This feature // should be populated in post-IG stage (before GB). @@ -24634,6 +24550,10 @@ type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { // enabled in QBT IsAquaMediaIntent bool `json:"isAquaMediaIntent,omitempty"` + // IsCommunicationOpaRawTargetIntent: NSP-specific signals, used to + // determine if NSP intents should be selected or not. + IsCommunicationOpaRawTargetIntent bool `json:"isCommunicationOpaRawTargetIntent,omitempty"` + IsDummyIntent bool `json:"isDummyIntent,omitempty"` // IsFullyGrounded: Whether the intent is fully grounded. @@ -24650,9 +24570,18 @@ type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { // IsMediaControlIntent: Whether the intent is a media control intent. IsMediaControlIntent bool `json:"isMediaControlIntent,omitempty"` + // IsMediaIntent: Whether the intent is a media intent. + IsMediaIntent bool `json:"isMediaIntent,omitempty"` + + IsNspDescopedIntent bool `json:"isNspDescopedIntent,omitempty"` + + IsNspEnabledIntent bool `json:"isNspEnabledIntent,omitempty"` + // IsNspIntent: Whether this interpretation was genearted by NSP. IsNspIntent bool `json:"isNspIntent,omitempty"` + IsNspTargetIntent bool `json:"isNspTargetIntent,omitempty"` + // IsPlayGenericMusic: Whether the intent is a PlayGenericMusic-type // intent. IsPlayGenericMusic bool `json:"isPlayGenericMusic,omitempty"` @@ -24775,6 +24704,9 @@ type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { // QueryUnderstandingStreamingResult for the purpose of logging in ACE. // See go/analyzerinput-new-qus-phase. // "QU_PHASE_NAGE" - Phase in which QUS runs NSP in the QUS. + // "QU_PHASE_SUPERCAT" - Phase in which QUS calls a stripped-down + // version of QRewrite and then calls the Supercat Orchestrator to + // generate Supercat QIs. Phase string `json:"phase,omitempty"` // PlatinumSource: Whether the intent comes from the Sage @@ -27662,8 +27594,6 @@ type ClassifierPornSiteData struct { // the site. ViolenceScore float64 `json:"violenceScore,omitempty"` - ViolenceStats *ClassifierPornSiteViolenceStats `json:"violenceStats,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvgPedoPageScore") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -27771,57 +27701,6 @@ func (s *ClassifierPornSiteDataVersionedScore) UnmarshalJSON(data []byte) error return nil } -// ClassifierPornSiteViolenceStats: Next ID: 6 -type ClassifierPornSiteViolenceStats struct { - MeanFinalViolenceScore float64 `json:"meanFinalViolenceScore,omitempty"` - - NumberOfImages uint64 `json:"numberOfImages,omitempty,string"` - - NumberOfVideos uint64 `json:"numberOfVideos,omitempty,string"` - - VideoViolenceScore float64 `json:"videoViolenceScore,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "MeanFinalViolenceScore") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. However, any non-pointer, non-interface field appearing in - // ForceSendFields will be sent to the server regardless of whether the - // field is empty or not. This may be used to include empty fields in - // Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "MeanFinalViolenceScore") - // to include in API requests with the JSON null value. By default, - // fields with empty values are omitted from API requests. However, any - // field with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornSiteViolenceStats) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornSiteViolenceStats - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornSiteViolenceStats) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornSiteViolenceStats - var s1 struct { - MeanFinalViolenceScore gensupport.JSONFloat64 `json:"meanFinalViolenceScore"` - VideoViolenceScore gensupport.JSONFloat64 `json:"videoViolenceScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.MeanFinalViolenceScore = float64(s1.MeanFinalViolenceScore) - s.VideoViolenceScore = float64(s1.VideoViolenceScore) - return nil -} - // CloudAiPlatformTenantresourceCloudSqlInstanceConfig: The identity to // configure a CloudSQL instance provisioned via SLM Terraform. type CloudAiPlatformTenantresourceCloudSqlInstanceConfig struct { @@ -29406,7 +29285,7 @@ func (s *CompositeDocRobotsInfoList) MarshalJSON() ([]byte, error) { // TeraGoogle, this message is included in perdocdata which means it can // be used in preliminary scoring. CAREFUL: For TeraGoogle, this data // resides in very limited serving memory (Flash storage) for a huge -// number of documents. Next id: 43 +// number of documents. Next id: 44 type CompressedQualitySignals struct { // AnchorMismatchDemotion: anchor_mismatch_demotion: converted from // QualityBoost.mismatched.boost. @@ -29492,6 +29371,17 @@ type CompressedQualitySignals struct { // go/0DayLEs for details. ExperimentalQstarSiteSignal float64 `json:"experimentalQstarSiteSignal,omitempty"` + // ExperimentalWebHealthSignal: This field is *not* propagated to + // shards. It is meant to be populated at serving time using one of the + // versions present in the `experimental_nsr_team_wsj_data` field above + // (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate + // it; see + // http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). + // The purpose of this field is to be read by an experimental W* + // component, in order to quickly run LEs with new signals. See + // go/0DayLEs for details. + ExperimentalWebHealthSignal float64 `json:"experimentalWebHealthSignal,omitempty"` + // LowQuality: S2V low quality score: converted from // quality_nsr.NsrData, applied in Qstar. See // quality_nsr::util::ConvertNsrDataToLowQuality. @@ -29617,6 +29507,7 @@ func (s *CompressedQualitySignals) UnmarshalJSON(data []byte) error { ExperimentalQstarDeltaSignal gensupport.JSONFloat64 `json:"experimentalQstarDeltaSignal"` ExperimentalQstarSignal gensupport.JSONFloat64 `json:"experimentalQstarSignal"` ExperimentalQstarSiteSignal gensupport.JSONFloat64 `json:"experimentalQstarSiteSignal"` + ExperimentalWebHealthSignal gensupport.JSONFloat64 `json:"experimentalWebHealthSignal"` NsrOverrideBid gensupport.JSONFloat64 `json:"nsrOverrideBid"` *NoMethod } @@ -29627,6 +29518,7 @@ func (s *CompressedQualitySignals) UnmarshalJSON(data []byte) error { s.ExperimentalQstarDeltaSignal = float64(s1.ExperimentalQstarDeltaSignal) s.ExperimentalQstarSignal = float64(s1.ExperimentalQstarSignal) s.ExperimentalQstarSiteSignal = float64(s1.ExperimentalQstarSiteSignal) + s.ExperimentalWebHealthSignal = float64(s1.ExperimentalWebHealthSignal) s.NsrOverrideBid = float64(s1.NsrOverrideBid) return nil } @@ -31350,21 +31242,18 @@ type CountryLocationInfo struct { // replaced by TYPE_COMPOUND_BUILDING. For further details, see // go/oyster-compounds // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment which has a address - // (a.k.a. location or storefront). Note that it *may* also have a - // service area (e.g. a restaurant that offers both dine-in and - // delivery). This type of business is also known as a "hybrid" Service - // Area Business. Establishment POIs can be referenced by TYPE_COMPOUND - // features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - A business without a storefront, - // e.g. a plumber. It would normally not have a place that a customer - // could visit to receive service, but it would have an area served by - // the business. Also known as a "pure" Service Area Business. - // NOTE(tcain): Using value 0xD441, since we could find ourselves with a - // need to differentiate service areas from online-only at this level in - // the future, but still benefit from being able to group those under a - // common parent, disjoint from TYPE_ESTABLISHMENT_POI. + // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical + // location. Note that it *may* also have a service area (e.g. a + // restaurant that offers both dine-in and delivery). This type of + // business is also known as a "hybrid" Service Area Business. + // Establishment POIs can be referenced by TYPE_COMPOUND features using + // the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation + // of the RELATION_OCCUPIES. + // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, + // since we could find ourselves with a need to differentiate service + // areas from online-only at this level in the future, but still benefit + // from being able to group those under a common parent, disjoint from + // TYPE_ESTABLISHMENT_POI. // "TYPE_CELESTIAL" - The root of types of features that are in the // sky, rather than on the earth. There will eventually be a hierarchy // of types here. @@ -37528,11 +37417,6 @@ type GeostoreCityJsonProtoAppearanceMaterial struct { // light when incoming light is reflected in all directions equally. DiffuseColor *GeostoreCityJsonProtoAppearanceMaterialRgbColor `json:"diffuseColor,omitempty"` - // IsNull: is_null=true is used to represent 'null' material references. - // There may only be one is_null=true Material per CityJsonProto, and it - // must not have any other fields set. - IsNull bool `json:"isNull,omitempty"` - // IsSmooth: Whether this material has an even, regular surface or // consistency. IsSmooth bool `json:"isSmooth,omitempty"` @@ -37840,10 +37724,6 @@ type GeostoreCityJsonProtoCityObjectGeometrySemantic struct { // // Possible values: // "TYPE_UNSPECIFIED" - // "TYPE_NULL" - TYPE_NULL is used to represent 'null' semantic - // references. There may only be one TYPE_NULL Semantic per geometry - // object, and it must not have other fields set (if any are added to to - // this proto). // "WINDOW" // "DOOR" Type string `json:"type,omitempty"` @@ -37907,9 +37787,8 @@ type GeostoreCityJsonProtoCityObjectGeometrySurface struct { // Loops: The first loop is exterior; any additional are interior. Loops []*GeostoreCityJsonProtoCityObjectGeometryMultiPoint `json:"loops,omitempty"` - // MaterialSpecs: The materials this surface is made of. Either all or - // none of the Surface protos must have this field set (even for 'null' - // references). Otherwise, this field must not be set. IMPORTANT: This + // MaterialSpecs: The materials this surface is made of. May be left + // blank if materials are unspecified for this surface. IMPORTANT: This // field must not contain more than one MaterialSpec unless CityJSON's // material "theme" is incorporated into CityJsonProto (see discussion // in go/cityjson-for-hand-modeled-landmarks). @@ -37917,9 +37796,8 @@ type GeostoreCityJsonProtoCityObjectGeometrySurface struct { // SemanticsIndex: The semantics of this surface (e.g. what part of a // building it is) represented as an index into the containing - // Geometry's `semantics` field. Either all or none of the Surface - // protos must have this field set (even for 'null' references). - // Otherwise, this field must not be set. + // Geometry's `semantics` field. May be left blank if semantics are + // unspecified for this surface. SemanticsIndex int64 `json:"semanticsIndex,omitempty"` // ForceSendFields is a list of field names (e.g. "Loops") to @@ -42130,21 +42008,18 @@ type GeostoreFeatureProto struct { // replaced by TYPE_COMPOUND_BUILDING. For further details, see // go/oyster-compounds // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment which has a address - // (a.k.a. location or storefront). Note that it *may* also have a - // service area (e.g. a restaurant that offers both dine-in and - // delivery). This type of business is also known as a "hybrid" Service - // Area Business. Establishment POIs can be referenced by TYPE_COMPOUND - // features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - A business without a storefront, - // e.g. a plumber. It would normally not have a place that a customer - // could visit to receive service, but it would have an area served by - // the business. Also known as a "pure" Service Area Business. - // NOTE(tcain): Using value 0xD441, since we could find ourselves with a - // need to differentiate service areas from online-only at this level in - // the future, but still benefit from being able to group those under a - // common parent, disjoint from TYPE_ESTABLISHMENT_POI. + // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical + // location. Note that it *may* also have a service area (e.g. a + // restaurant that offers both dine-in and delivery). This type of + // business is also known as a "hybrid" Service Area Business. + // Establishment POIs can be referenced by TYPE_COMPOUND features using + // the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation + // of the RELATION_OCCUPIES. + // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, + // since we could find ourselves with a need to differentiate service + // areas from online-only at this level in the future, but still benefit + // from being able to group those under a common parent, disjoint from + // TYPE_ESTABLISHMENT_POI. // "TYPE_CELESTIAL" - The root of types of features that are in the // sky, rather than on the earth. There will eventually be a hierarchy // of types here. @@ -56725,6 +56600,8 @@ type GoogleAssistantEmbeddedV1SurfaceIdentity struct { // "LIBASSISTANT" - LibAssistant (go/libassistant) C++ SDK that powers // Assistant experience on both 1P devices like Google Home and 3P // devices like Sonos. OWNERS: libassistant-core@ + // "MATTER" - Matter based clients. go/matter-prod. OWNERS: + // assistant-media@ // "PHONE" - A phone. OWNERS: surfaces-infra-core@ // "PIXEL" - Pixel devices. OWNERS: surfaces-infra-core@ // "PIXEL5" - Pixel 5. OWNERS: surfaces-infra-core@ @@ -62518,16 +62395,20 @@ type GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo struct { // _resolution_ ÷ `72.0`. PixelFontSize float64 `json:"pixelFontSize,omitempty"` - // Smallcaps: Whether the text is in small caps. + // Smallcaps: Whether the text is in small caps. This feature is not + // supported yet. Smallcaps bool `json:"smallcaps,omitempty"` - // Strikeout: Whether the text is strikethrough. + // Strikeout: Whether the text is strikethrough. This feature is not + // supported yet. Strikeout bool `json:"strikeout,omitempty"` - // Subscript: Whether the text is a subscript. + // Subscript: Whether the text is a subscript. This feature is not + // supported yet. Subscript bool `json:"subscript,omitempty"` - // Superscript: Whether the text is a superscript. + // Superscript: Whether the text is a superscript. This feature is not + // supported yet. Superscript bool `json:"superscript,omitempty"` // TextColor: Color of the text. @@ -66628,7 +66509,7 @@ func (s *HtmlrenderWebkitHeadlessProtoRenderResponse) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HtmlrenderWebkitHeadlessProtoRenderStats: Next id: 17. +// HtmlrenderWebkitHeadlessProtoRenderStats: Next id: 20. type HtmlrenderWebkitHeadlessProtoRenderStats struct { // AnonRenderFineTimingStats: Deliberately non-named fine timing stats. // These are all related to each other and unrelated to other timing @@ -66652,12 +66533,22 @@ type HtmlrenderWebkitHeadlessProtoRenderStats struct { // actual attempts were made by the renderer. DroppedLogEntryCount int64 `json:"droppedLogEntryCount,omitempty"` + // FetchDeadlineMsec: Time allowed to use for fetching in milliseconds: + // fetch_deadline - render_start_time. + // go/render-timeline#render-timeline + FetchDeadlineMsec int64 `json:"fetchDeadlineMsec,omitempty"` + // ImageEncodingTimeMsec: Image encoding (e.g. raw -> PNG) time. ImageEncodingTimeMsec int64 `json:"imageEncodingTimeMsec,omitempty"` // ImageScalingTimeMsec: Image scaling time. ImageScalingTimeMsec int64 `json:"imageScalingTimeMsec,omitempty"` + // JavascriptDeadlineMsec: Time allowed to use for javascript in + // milliseconds: javascript_deadline - render_start_time. + // go/render-timeline#render-timeline + JavascriptDeadlineMsec int64 `json:"javascriptDeadlineMsec,omitempty"` + // LayoutTimeMsec: Time from starting render to document finished // loading. This includes all fetches, parsing, decoding, running // JavaScript, etc. @@ -66670,6 +66561,11 @@ type HtmlrenderWebkitHeadlessProtoRenderStats struct { // milliGCUs. RenderCostMgcu int64 `json:"renderCostMgcu,omitempty"` + // RenderDeadlineMsec: Time allowed to use for rendering in + // milliseconds: render_deadline - render_start_time. + // go/render-timeline#render-timeline + RenderDeadlineMsec int64 `json:"renderDeadlineMsec,omitempty"` + // RenderEngine: Render engine used to render this document. // // Possible values: @@ -70379,6 +70275,8 @@ type ImageRepositoryApiItagSpecificMetadata struct { // processed by ContribService. go/venom-for-bard-ugc-videos // "GENUS_CONTRIB_SERVICE_FLYBY" - Genus for FlyBy (Local Top Ads) // videos processed by ContribService. go/venom-for-flyby-videos. + // "GENUS_CONTRIB_SERVICE_SHOPSTREAM" - Genus for Shopstream videos + // processed by ContribService. go/venom-for-shopstream-videos. // "GENUS_SEARCH_SPORTS" - Genus for Search Sports vertical videos // "GENUS_BUSINESSMESSAGING" - Genus for Business Messaging videos // "GENUS_AERIAL_VIEW" - Genus for Geo Aerial View @@ -70631,7 +70529,12 @@ type ImageRepositoryContentBasedVideoMetadata struct { TranscodeMetadata []*ImageRepositoryApiItagSpecificMetadata `json:"transcodeMetadata,omitempty"` // TranscriptAsr: Speech related metadata The transcript_asr field is - // generated from the YT caption's SPEECH_RECOGNIZER asset. + // generated from the YT caption's SPEECH_RECOGNIZER asset. We strongly + // recommend to use s3_asr instead of transcript_asr as of 2024. Media + // Solutions team owns s3_asr and provides more flexibility with ASR + // features for our client needs, whereas the underlying engine of the + // transcript_asr field is owned by Youtube, and we do not have control + // over. TranscriptAsr *PseudoVideoData `json:"transcriptAsr,omitempty"` // TruncationInfo: Data about whether or not the video was truncated. @@ -71993,6 +71896,8 @@ type ImageRepositoryVenomStatus struct { // processed by ContribService. go/venom-for-bard-ugc-videos // "GENUS_CONTRIB_SERVICE_FLYBY" - Genus for FlyBy (Local Top Ads) // videos processed by ContribService. go/venom-for-flyby-videos. + // "GENUS_CONTRIB_SERVICE_SHOPSTREAM" - Genus for Shopstream videos + // processed by ContribService. go/venom-for-shopstream-videos. // "GENUS_SEARCH_SPORTS" - Genus for Search Sports vertical videos // "GENUS_BUSINESSMESSAGING" - Genus for Business Messaging videos // "GENUS_AERIAL_VIEW" - Genus for Geo Aerial View @@ -74700,7 +74605,7 @@ func (s *IndexingDocjoinerCDocBuildInfo) MarshalJSON() ([]byte, error) { // DataInfo that annotate who generates the data, the Index Signals or // Goldmine annotator name for the fields already onboarded or being // onboarded to FDP. Fields without annotation of signal_names or -// goldmine_annotator_names are not onboarded. Next ID: 543 +// goldmine_annotator_names are not onboarded. Next ID: 710 type IndexingDocjoinerDataVersion struct { AcceleratedShoppingSignal *IndexingDocjoinerDataVersionVersionInfo `json:"acceleratedShoppingSignal,omitempty"` @@ -74752,6 +74657,8 @@ type IndexingDocjoinerDataVersion struct { Creator *IndexingDocjoinerDataVersionVersionInfo `json:"creator,omitempty"` + CreatorjoinsEmbeddedUgcAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"creatorjoinsEmbeddedUgcAnnotation,omitempty"` + DatacommonsDatacommonsTriplesSignal *IndexingDocjoinerDataVersionVersionInfo `json:"datacommonsDatacommonsTriplesSignal,omitempty"` DateAnnotationTags *IndexingDocjoinerDataVersionVersionInfo `json:"dateAnnotationTags,omitempty"` @@ -74776,6 +74683,8 @@ type IndexingDocjoinerDataVersion struct { ExtractedBookInfo *IndexingDocjoinerDataVersionVersionInfo `json:"extractedBookInfo,omitempty"` + FastDataPropagationTestSignalContent *IndexingDocjoinerDataVersionVersionInfo `json:"fastDataPropagationTestSignalContent,omitempty"` + FatcatCompactDocClassification *IndexingDocjoinerDataVersionVersionInfo `json:"fatcatCompactDocClassification,omitempty"` FatcatSiteVerticalsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"fatcatSiteVerticalsAnnotation,omitempty"` @@ -74790,6 +74699,8 @@ type IndexingDocjoinerDataVersion struct { FreshboxFreshboxArticleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"freshboxFreshboxArticleAnnotation,omitempty"` + GeoCarsVehicleDetailsPageAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"geoCarsVehicleDetailsPageAnnotation,omitempty"` + GeoPointAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"geoPointAnnotations,omitempty"` GeoPointResolution *IndexingDocjoinerDataVersionVersionInfo `json:"geoPointResolution,omitempty"` @@ -74916,6 +74827,8 @@ type IndexingDocjoinerDataVersion struct { IndexingCenterpieceCenterpieceChecksums *IndexingDocjoinerDataVersionVersionInfo `json:"indexingCenterpieceCenterpieceChecksums,omitempty"` + IndexingCenterpieceCenterpieceUnifiedAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"indexingCenterpieceCenterpieceUnifiedAnnotations,omitempty"` + IndexingCenterpieceComponentLearningSource *IndexingDocjoinerDataVersionVersionInfo `json:"indexingCenterpieceComponentLearningSource,omitempty"` IndexingCenterpieceSectionTitleAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"indexingCenterpieceSectionTitleAnnotations,omitempty"` @@ -74946,6 +74859,8 @@ type IndexingDocjoinerDataVersion struct { IndexingDupsLocalizedLocalizedCluster *IndexingDocjoinerDataVersionVersionInfo `json:"indexingDupsLocalizedLocalizedCluster,omitempty"` + IndexingDupsNearDupsResult *IndexingDocjoinerDataVersionVersionInfo `json:"indexingDupsNearDupsResult,omitempty"` + IndexingFreshSchedulerFreshSchedulerDoubleInstantExtension *IndexingDocjoinerDataVersionVersionInfo `json:"indexingFreshSchedulerFreshSchedulerDoubleInstantExtension,omitempty"` IndexingFreshSchedulerOutlinkDiscoveryHistoricalHubsSignal *IndexingDocjoinerDataVersionVersionInfo `json:"indexingFreshSchedulerOutlinkDiscoveryHistoricalHubsSignal,omitempty"` @@ -75020,6 +74935,8 @@ type IndexingDocjoinerDataVersion struct { IndexingSelectionImageImageSelectionAttachment *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSelectionImageImageSelectionAttachment,omitempty"` + IndexingSelectionIndexCompositionExperimentExtension *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSelectionIndexCompositionExperimentExtension,omitempty"` + IndexingSelectionLanguageExtension *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSelectionLanguageExtension,omitempty"` IndexingSelectionPriorScorerParameterSet *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSelectionPriorScorerParameterSet,omitempty"` @@ -75030,6 +74947,8 @@ type IndexingDocjoinerDataVersion struct { IndexingSelectionTensorFlowExtension *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSelectionTensorFlowExtension,omitempty"` + IndexingServiceFirsttimesCrawlFirsttimesSignals *IndexingDocjoinerDataVersionVersionInfo `json:"indexingServiceFirsttimesCrawlFirsttimesSignals,omitempty"` + IndexingSignalAggregatorUrlPatternSignals *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSignalAggregatorUrlPatternSignals,omitempty"` IndexingSignalsAccumulatedOnlineSignals *IndexingDocjoinerDataVersionVersionInfo `json:"indexingSignalsAccumulatedOnlineSignals,omitempty"` @@ -75102,6 +75021,295 @@ type IndexingDocjoinerDataVersion struct { KnowledgeMiningShoppingTwdModelVersions *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMiningShoppingTwdModelVersions,omitempty"` + KnowledgeMumConsumerNewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumConsumerNewsAnnotation,omitempty"` + + KnowledgeMumDcuAccusatoryTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuAccusatoryTitleAnnotation,omitempty"` + + KnowledgeMumDcuAmusingAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuAmusingAnnotation,omitempty"` + + KnowledgeMumDcuBaseCuriosityAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBaseCuriosityAnnotation,omitempty"` + + KnowledgeMumDcuBaseCuriosityV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBaseCuriosityV2Annotation,omitempty"` + + KnowledgeMumDcuBaseCuriosityV3Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBaseCuriosityV3Annotation,omitempty"` + + KnowledgeMumDcuBeginnerAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBeginnerAnnotation,omitempty"` + + KnowledgeMumDcuBeginnerTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBeginnerTitleAnnotation,omitempty"` + + KnowledgeMumDcuBoringAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBoringAnnotation,omitempty"` + + KnowledgeMumDcuBoringVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBoringVideoAnnotation,omitempty"` + + KnowledgeMumDcuBoringVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBoringVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuBroadTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBroadTitleAnnotation,omitempty"` + + KnowledgeMumDcuBroadlyConsumableAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuBroadlyConsumableAnnotation,omitempty"` + + KnowledgeMumDcuClickbaitPlusAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuClickbaitPlusAnnotation,omitempty"` + + KnowledgeMumDcuClickbaitPlusCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuClickbaitPlusCandidateAnnotation,omitempty"` + + KnowledgeMumDcuCommercialNewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCommercialNewsAnnotation,omitempty"` + + KnowledgeMumDcuCommercialVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCommercialVideoAnnotation,omitempty"` + + KnowledgeMumDcuCommercialVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCommercialVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuCommercialVideoV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCommercialVideoV2Annotation,omitempty"` + + KnowledgeMumDcuCommercialVideoV2CandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCommercialVideoV2CandidateAnnotation,omitempty"` + + KnowledgeMumDcuComplexAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuComplexAnnotation,omitempty"` + + KnowledgeMumDcuCoolProjectVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCoolProjectVideoAnnotation,omitempty"` + + KnowledgeMumDcuCoolProjectVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCoolProjectVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuCoolProjectVideoV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCoolProjectVideoV2Annotation,omitempty"` + + KnowledgeMumDcuCoolProjectVideoV2CandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCoolProjectVideoV2CandidateAnnotation,omitempty"` + + KnowledgeMumDcuCreativeVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCreativeVideoAnnotation,omitempty"` + + KnowledgeMumDcuCreativeVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCreativeVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuCuteShortVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCuteShortVideoAnnotation,omitempty"` + + KnowledgeMumDcuCuteShortVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuCuteShortVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuDepressingTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDepressingTitleAnnotation,omitempty"` + + KnowledgeMumDcuDietaryAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDietaryAnnotation,omitempty"` + + KnowledgeMumDcuDisasterAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDisasterAnnotation,omitempty"` + + KnowledgeMumDcuDisasterV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDisasterV2Annotation,omitempty"` + + KnowledgeMumDcuDiscriminatoryAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDiscriminatoryAnnotation,omitempty"` + + KnowledgeMumDcuDisgustingAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDisgustingAnnotation,omitempty"` + + KnowledgeMumDcuDisgustingV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDisgustingV2Annotation,omitempty"` + + KnowledgeMumDcuDismissRatioUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDismissRatioUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuDistanceSensitiveAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDistanceSensitiveAnnotation,omitempty"` + + KnowledgeMumDcuDiyProjectVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDiyProjectVideoAnnotation,omitempty"` + + KnowledgeMumDcuDiyProjectVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDiyProjectVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuDqsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDqsAnnotation,omitempty"` + + KnowledgeMumDcuDramaticTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDramaticTitleAnnotation,omitempty"` + + KnowledgeMumDcuDryFactsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuDryFactsAnnotation,omitempty"` + + KnowledgeMumDcuEasyReadAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEasyReadAnnotation,omitempty"` + + KnowledgeMumDcuEducationalVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEducationalVideoAnnotation,omitempty"` + + KnowledgeMumDcuEducationalVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEducationalVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuEngagingVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoAnnotation,omitempty"` + + KnowledgeMumDcuEngagingVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuEngagingVideoV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoV2Annotation,omitempty"` + + KnowledgeMumDcuEngagingVideoV2CandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoV2CandidateAnnotation,omitempty"` + + KnowledgeMumDcuEngagingVideoV3Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoV3Annotation,omitempty"` + + KnowledgeMumDcuEngagingVideoV3CandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingVideoV3CandidateAnnotation,omitempty"` + + KnowledgeMumDcuEngagingnessAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingnessAnnotation,omitempty"` + + KnowledgeMumDcuEngagingnessLeAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingnessLeAnnotation,omitempty"` + + KnowledgeMumDcuEngagingnessMmAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEngagingnessMmAnnotation,omitempty"` + + KnowledgeMumDcuEnjoyableMutedVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEnjoyableMutedVideoAnnotation,omitempty"` + + KnowledgeMumDcuEnjoyableMutedVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEnjoyableMutedVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuEntertainingVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEntertainingVideoAnnotation,omitempty"` + + KnowledgeMumDcuEntertainingVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuEntertainingVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuFactualAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFactualAnnotation,omitempty"` + + KnowledgeMumDcuFlavorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFlavorAnnotation,omitempty"` + + KnowledgeMumDcuFlavorMmAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFlavorMmAnnotation,omitempty"` + + KnowledgeMumDcuFlavorMmCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFlavorMmCandidateAnnotation,omitempty"` + + KnowledgeMumDcuFlavorMmV2CandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFlavorMmV2CandidateAnnotation,omitempty"` + + KnowledgeMumDcuFunFactsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFunFactsAnnotation,omitempty"` + + KnowledgeMumDcuFunVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFunVideoAnnotation,omitempty"` + + KnowledgeMumDcuFunVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFunVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuFunnyShortVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFunnyShortVideoAnnotation,omitempty"` + + KnowledgeMumDcuFunnyShortVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuFunnyShortVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuGameplayVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuGameplayVideoAnnotation,omitempty"` + + KnowledgeMumDcuGameplayVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuGameplayVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuGoodCommercialAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuGoodCommercialAnnotation,omitempty"` + + KnowledgeMumDcuGossipNewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuGossipNewsAnnotation,omitempty"` + + KnowledgeMumDcuHeartRatioUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuHeartRatioUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuHowToVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuHowToVideoAnnotation,omitempty"` + + KnowledgeMumDcuHowToVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuHowToVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuInspiredQueryRateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInspiredQueryRateAnnotation,omitempty"` + + KnowledgeMumDcuInspiringAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInspiringAnnotation,omitempty"` + + KnowledgeMumDcuInspiringTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInspiringTitleAnnotation,omitempty"` + + KnowledgeMumDcuInspiringUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInspiringUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuInspiringV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInspiringV2Annotation,omitempty"` + + KnowledgeMumDcuIntelligentAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuIntelligentAnnotation,omitempty"` + + KnowledgeMumDcuInterviewVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInterviewVideoAnnotation,omitempty"` + + KnowledgeMumDcuInterviewVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuInterviewVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuLectureVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuLectureVideoAnnotation,omitempty"` + + KnowledgeMumDcuLectureVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuLectureVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuLifehackVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuLifehackVideoAnnotation,omitempty"` + + KnowledgeMumDcuLifehackVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuLifehackVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuLifestyleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuLifestyleAnnotation,omitempty"` + + KnowledgeMumDcuListicleTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuListicleTitleAnnotation,omitempty"` + + KnowledgeMumDcuMayhemNewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuMayhemNewsAnnotation,omitempty"` + + KnowledgeMumDcuMediaVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuMediaVideoAnnotation,omitempty"` + + KnowledgeMumDcuMediaVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuMediaVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuNegativeToneAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuNegativeToneAnnotation,omitempty"` + + KnowledgeMumDcuNewsVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuNewsVideoAnnotation,omitempty"` + + KnowledgeMumDcuNewsVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuNewsVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuNewsyTitleAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuNewsyTitleAnnotation,omitempty"` + + KnowledgeMumDcuOpinionPiecesAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuOpinionPiecesAnnotation,omitempty"` + + KnowledgeMumDcuPersonalNarrativeAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuPersonalNarrativeAnnotation,omitempty"` + + KnowledgeMumDcuPracticalAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuPracticalAnnotation,omitempty"` + + KnowledgeMumDcuPracticalVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuPracticalVideoAnnotation,omitempty"` + + KnowledgeMumDcuPracticalVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuPracticalVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuPredictedTrafficRatioAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuPredictedTrafficRatioAnnotation,omitempty"` + + KnowledgeMumDcuProductReviewVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuProductReviewVideoAnnotation,omitempty"` + + KnowledgeMumDcuProductReviewVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuProductReviewVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuProfanityAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuProfanityAnnotation,omitempty"` + + KnowledgeMumDcuProfanityV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuProfanityV2Annotation,omitempty"` + + KnowledgeMumDcuRacyAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuRacyAnnotation,omitempty"` + + KnowledgeMumDcuRacyV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuRacyV2Annotation,omitempty"` + + KnowledgeMumDcuRealLifeTipsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuRealLifeTipsAnnotation,omitempty"` + + KnowledgeMumDcuRemoteRelevanceAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuRemoteRelevanceAnnotation,omitempty"` + + KnowledgeMumDcuReviewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuReviewsAnnotation,omitempty"` + + KnowledgeMumDcuSensationalClickbaitAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuSensationalClickbaitAnnotation,omitempty"` + + KnowledgeMumDcuSensationalClickbaitV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuSensationalClickbaitV2Annotation,omitempty"` + + KnowledgeMumDcuSensationalClickbaitV3Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuSensationalClickbaitV3Annotation,omitempty"` + + KnowledgeMumDcuSexualUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuSexualUserBehaviorAnnotation,omitempty"` + + // KnowledgeMumDcuShareRatioUserBehaviorAnnotation: END DATA FIELDS + KnowledgeMumDcuShareRatioUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuShareRatioUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuStalenessAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuStalenessAnnotation,omitempty"` + + KnowledgeMumDcuStoryAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuStoryAnnotation,omitempty"` + + KnowledgeMumDcuStorytellingVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuStorytellingVideoAnnotation,omitempty"` + + KnowledgeMumDcuStorytellingVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuStorytellingVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuThoughtProvokingAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuThoughtProvokingAnnotation,omitempty"` + + KnowledgeMumDcuThoughtProvokingV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuThoughtProvokingV2Annotation,omitempty"` + + KnowledgeMumDcuTimeSensitiveAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTimeSensitiveAnnotation,omitempty"` + + KnowledgeMumDcuTimelessAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTimelessAnnotation,omitempty"` + + KnowledgeMumDcuTimelessVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTimelessVideoAnnotation,omitempty"` + + KnowledgeMumDcuTimelessVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTimelessVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuTrailerVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTrailerVideoAnnotation,omitempty"` + + KnowledgeMumDcuTrailerVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuTrailerVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuUsefulUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuUsefulUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuUsefulVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuUsefulVideoAnnotation,omitempty"` + + KnowledgeMumDcuUsefulVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuUsefulVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuVideoFlavorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuVideoFlavorAnnotation,omitempty"` + + KnowledgeMumDcuViolenceAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuViolenceAnnotation,omitempty"` + + KnowledgeMumDcuViolenceV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuViolenceV2Annotation,omitempty"` + + KnowledgeMumDcuViolentOrDisgustingUserBehaviorAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuViolentOrDisgustingUserBehaviorAnnotation,omitempty"` + + KnowledgeMumDcuVisuallyEngagingAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuVisuallyEngagingAnnotation,omitempty"` + + KnowledgeMumDcuVisuallyEngagingV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuVisuallyEngagingV2Annotation,omitempty"` + + KnowledgeMumDcuVlogVideoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuVlogVideoAnnotation,omitempty"` + + KnowledgeMumDcuVlogVideoCandidateAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuVlogVideoCandidateAnnotation,omitempty"` + + KnowledgeMumDcuWellWrittenAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuWellWrittenAnnotation,omitempty"` + + KnowledgeMumDcuWithholdingInfoAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuWithholdingInfoAnnotation,omitempty"` + + KnowledgeMumDcuWithholdingInfoV2Annotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuWithholdingInfoV2Annotation,omitempty"` + + KnowledgeMumDcuWorthyHeadlineNewsAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumDcuWorthyHeadlineNewsAnnotation,omitempty"` + KnowledgeMumStoryTeaserAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumStoryTeaserAnnotation,omitempty"` KnowledgeMumStorytimeStampEngagementAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"knowledgeMumStorytimeStampEngagementAnnotation,omitempty"` @@ -75132,6 +75340,8 @@ type IndexingDocjoinerDataVersion struct { ModernFormatContent *IndexingDocjoinerDataVersionVersionInfo `json:"modernFormatContent,omitempty"` + MultiverseHubSpokesSignal *IndexingDocjoinerDataVersionVersionInfo `json:"multiverseHubSpokesSignal,omitempty"` + NavBoostDocument *IndexingDocjoinerDataVersionVersionInfo `json:"navBoostDocument,omitempty"` // Navboost: BEGIN DATA FIELDS @@ -75139,6 +75349,8 @@ type IndexingDocjoinerDataVersion struct { NewsAnnotationsContentAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"newsAnnotationsContentAnnotations,omitempty"` + NewsCorpusDifferentiatedContentAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"newsCorpusDifferentiatedContentAnnotation,omitempty"` + NewsCorpusHubPageAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"newsCorpusHubPageAnnotations,omitempty"` NewsCorpusLeafPageAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"newsCorpusLeafPageAnnotation,omitempty"` @@ -75300,6 +75512,8 @@ type IndexingDocjoinerDataVersion struct { QualityChardPredictedXlq *IndexingDocjoinerDataVersionVersionInfo `json:"qualityChardPredictedXlq,omitempty"` + QualityChardPredictedXlqSevereHoax *IndexingDocjoinerDataVersionVersionInfo `json:"qualityChardPredictedXlqSevereHoax,omitempty"` + QualityContraSelectedAttributions *IndexingDocjoinerDataVersionVersionInfo `json:"qualityContraSelectedAttributions,omitempty"` QualityCopiaFireflySiteInfo *IndexingDocjoinerDataVersionVersionInfo `json:"qualityCopiaFireflySiteInfo,omitempty"` @@ -75324,6 +75538,12 @@ type IndexingDocjoinerDataVersion struct { QualityExploreQueryableFeedTopicFeedScoringSignals *IndexingDocjoinerDataVersionVersionInfo `json:"qualityExploreQueryableFeedTopicFeedScoringSignals,omitempty"` + QualityFlavorsFlavorSet *IndexingDocjoinerDataVersionVersionInfo `json:"qualityFlavorsFlavorSet,omitempty"` + + QualityForumrankingUgcPageQualityDocumentAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"qualityForumrankingUgcPageQualityDocumentAnnotation,omitempty"` + + QualityFreshnessAbacusInstantNavBoostDocumentAnon *IndexingDocjoinerDataVersionVersionInfo `json:"qualityFreshnessAbacusInstantNavBoostDocumentAnon,omitempty"` + QualityFreshnessAbacusInstantNegativeClicksInfo *IndexingDocjoinerDataVersionVersionInfo `json:"qualityFreshnessAbacusInstantNegativeClicksInfo,omitempty"` QualityFringeFringeQueryPrior *IndexingDocjoinerDataVersionVersionInfo `json:"qualityFringeFringeQueryPrior,omitempty"` @@ -75344,6 +75564,12 @@ type IndexingDocjoinerDataVersion struct { QualityLisztomaniaDocument *IndexingDocjoinerDataVersionVersionInfo `json:"qualityLisztomaniaDocument,omitempty"` + QualityModernProtoUcpDocInfo *IndexingDocjoinerDataVersionVersionInfo `json:"qualityModernProtoUcpDocInfo,omitempty"` + + QualityModernProtoUcpServingData *IndexingDocjoinerDataVersionVersionInfo `json:"qualityModernProtoUcpServingData,omitempty"` + + QualityNaturalPearlsNaturalPearlsDocumentAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"qualityNaturalPearlsNaturalPearlsDocumentAnnotation,omitempty"` + QualityNavboostCrapsCrapsData *IndexingDocjoinerDataVersionVersionInfo `json:"qualityNavboostCrapsCrapsData,omitempty"` QualityNavboostCrapsCrapsPatternSignal *IndexingDocjoinerDataVersionVersionInfo `json:"qualityNavboostCrapsCrapsPatternSignal,omitempty"` @@ -75386,10 +75612,14 @@ type IndexingDocjoinerDataVersion struct { QualityPeoplesearchNamedetectorNameOccurrenceAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPeoplesearchNamedetectorNameOccurrenceAnnotations,omitempty"` + QualityPeoplesearchNamedetectorNavboostNameAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPeoplesearchNamedetectorNavboostNameAnnotations,omitempty"` + QualityPopfeedsChromeBackgroundAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPopfeedsChromeBackgroundAnnotation,omitempty"` QualityPopfeedsHubDataAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPopfeedsHubDataAnnotations,omitempty"` + QualityPopfeedsTopicStatsTopicScoreAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPopfeedsTopicStatsTopicScoreAnnotation,omitempty"` + QualityPopfeedsUrlPredictionAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPopfeedsUrlPredictionAnnotations,omitempty"` QualityPopfeedsUrlSourceAnnotations *IndexingDocjoinerDataVersionVersionInfo `json:"qualityPopfeedsUrlSourceAnnotations,omitempty"` @@ -75436,6 +75666,8 @@ type IndexingDocjoinerDataVersion struct { QualitySherlockKnexAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"qualitySherlockKnexAnnotation,omitempty"` + QualityShoppingDtcDomainsSignal *IndexingDocjoinerDataVersionVersionInfo `json:"qualityShoppingDtcDomainsSignal,omitempty"` + QualityShoppingProductReview *IndexingDocjoinerDataVersionVersionInfo `json:"qualityShoppingProductReview,omitempty"` QualityShoppingProductReviewPage *IndexingDocjoinerDataVersionVersionInfo `json:"qualityShoppingProductReviewPage,omitempty"` @@ -75552,6 +75784,8 @@ type IndexingDocjoinerDataVersion struct { RepositoryUpdaterIndexSelectionAttachment *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryUpdaterIndexSelectionAttachment,omitempty"` + RepositoryWebrefAuthorExtractionAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefAuthorExtractionAnnotation,omitempty"` + RepositoryWebrefEntityJoin *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefEntityJoin,omitempty"` RepositoryWebrefExperimentalWebrefEntitiesAttachment *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefExperimentalWebrefEntitiesAttachment,omitempty"` @@ -75564,6 +75798,8 @@ type IndexingDocjoinerDataVersion struct { RepositoryWebrefPageClassificationSignalsSet *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefPageClassificationSignalsSet,omitempty"` + RepositoryWebrefPiannoDocumentIntent *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefPiannoDocumentIntent,omitempty"` + RepositoryWebrefPiannoDocumentIntents *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefPiannoDocumentIntents,omitempty"` RepositoryWebrefPiannoTvSeasonEpisode *IndexingDocjoinerDataVersionVersionInfo `json:"repositoryWebrefPiannoTvSeasonEpisode,omitempty"` @@ -75698,7 +75934,6 @@ type IndexingDocjoinerDataVersion struct { SpamTokensSpamTokensAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"spamTokensSpamTokensAnnotation,omitempty"` - // SpambrainDomainSitechunkData: END DATA FIELDS SpambrainDomainSitechunkData *IndexingDocjoinerDataVersionVersionInfo `json:"spambrainDomainSitechunkData,omitempty"` TableTalkStrideOfferPagePriceAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"tableTalkStrideOfferPagePriceAnnotation,omitempty"` @@ -75715,6 +75950,8 @@ type IndexingDocjoinerDataVersion struct { TravelAssistantTravelDocClassification *IndexingDocjoinerDataVersionVersionInfo `json:"travelAssistantTravelDocClassification,omitempty"` + TrawlerEffectiveRobotsContent *IndexingDocjoinerDataVersionVersionInfo `json:"trawlerEffectiveRobotsContent,omitempty"` + UcpSignal *IndexingDocjoinerDataVersionVersionInfo `json:"ucpSignal,omitempty"` UdrConverterDocumentShoppingData *IndexingDocjoinerDataVersionVersionInfo `json:"udrConverterDocumentShoppingData,omitempty"` @@ -75757,6 +75994,8 @@ type IndexingDocjoinerDataVersion struct { VideoScoringSignal *IndexingDocjoinerDataVersionVersionInfo `json:"videoScoringSignal,omitempty"` + VideoShoppingVideoShoppingAnnotation *IndexingDocjoinerDataVersionVersionInfo `json:"videoShoppingVideoShoppingAnnotation,omitempty"` + VideoWebGallery *IndexingDocjoinerDataVersionVersionInfo `json:"videoWebGallery,omitempty"` VideoYoutubeLiveCardioCardioStats *IndexingDocjoinerDataVersionVersionInfo `json:"videoYoutubeLiveCardioCardioStats,omitempty"` @@ -80853,7 +81092,7 @@ func (s *KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue) Marshal } // KnowledgeAnswersIntentQueryArgumentSignals: A message representing -// the signals associated with an argument. NEXT ID TO USE: 66 For +// the signals associated with an argument. NEXT ID TO USE: 67 For // //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto // // in the "ThenChange", fields under Argument.signals in the serving @@ -80925,6 +81164,10 @@ type KnowledgeAnswersIntentQueryArgumentSignals struct { // of related_entity. b/27363861 DeprecatedSupportingMid []string `json:"deprecatedSupportingMid,omitempty"` + // EntityCardSignals: Signals about the entity card entity for this + // argument. + EntityCardSignals *KnowledgeAnswersIntentQueryEntityCardSignals `json:"entityCardSignals,omitempty"` + // EntityNumber: Signals about what other entities this entity implies / // is implied by. This is useful for grounding. Example: b/138388207: // suppressing song intents if the artist entity doesn't link to the @@ -81553,21 +81796,18 @@ type KnowledgeAnswersIntentQueryArgumentSignals struct { // replaced by TYPE_COMPOUND_BUILDING. For further details, see // go/oyster-compounds // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment which has a address - // (a.k.a. location or storefront). Note that it *may* also have a - // service area (e.g. a restaurant that offers both dine-in and - // delivery). This type of business is also known as a "hybrid" Service - // Area Business. Establishment POIs can be referenced by TYPE_COMPOUND - // features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - A business without a storefront, - // e.g. a plumber. It would normally not have a place that a customer - // could visit to receive service, but it would have an area served by - // the business. Also known as a "pure" Service Area Business. - // NOTE(tcain): Using value 0xD441, since we could find ourselves with a - // need to differentiate service areas from online-only at this level in - // the future, but still benefit from being able to group those under a - // common parent, disjoint from TYPE_ESTABLISHMENT_POI. + // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical + // location. Note that it *may* also have a service area (e.g. a + // restaurant that offers both dine-in and delivery). This type of + // business is also known as a "hybrid" Service Area Business. + // Establishment POIs can be referenced by TYPE_COMPOUND features using + // the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation + // of the RELATION_OCCUPIES. + // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, + // since we could find ourselves with a need to differentiate service + // areas from online-only at this level in the future, but still benefit + // from being able to group those under a common parent, disjoint from + // TYPE_ESTABLISHMENT_POI. // "TYPE_CELESTIAL" - The root of types of features that are in the // sky, rather than on the earth. There will eventually be a hierarchy // of types here. @@ -82262,6 +82502,38 @@ func (s *KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// KnowledgeAnswersIntentQueryEntityCardSignals: Signals about the +// entity card entity. +type KnowledgeAnswersIntentQueryEntityCardSignals struct { + // ParentCollectionId: Selected collection for the main entity card + // fulfillment. It is the first enabled collection for the entity with + // the highest confidence score for the query based on qref signals. + ParentCollectionId string `json:"parentCollectionId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ParentCollectionId") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ParentCollectionId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *KnowledgeAnswersIntentQueryEntityCardSignals) MarshalJSON() ([]byte, error) { + type NoMethod KnowledgeAnswersIntentQueryEntityCardSignals + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // KnowledgeAnswersIntentQueryFreetextAnnotationSignals: Signals // associated with FreetextAnnotator annotations. Empty. The signal // being present is enough for the conformance checking library to be @@ -104898,7 +105170,8 @@ type PeoplestackFlexorgsProtoInternalExternal struct { // "SOCIETY_CHAT" - Society chat application. http://go/society Team // contact: society-team@google.com // "HIGHLIGHT" - Search One Presence (Formerly Search Engagement - // Highlight) http://go/dumpling Team contact: team-dumpling@google.com + // Highlight) http://go/mcf-profiles Team contact: + // mcf-profiles-eng-team@google.com // "YOUTUBE_LIVE" - YouTube Live Chat. http://go/livechat-redesign // Team contact: yt-live-chat@google.com // "YOUTUBE_LIVE_ACTIVITY_LOG" - YouTube Live Activity log. @@ -105392,6 +105665,8 @@ type PeoplestackFlexorgsProtoInternalExternal struct { // "GENESIS_IOS" - Genesis Ios Team contact: // genesis-companion@google.com // "BANKROLL_PROD" - Bankroll Prod Team contact: quantteam@google.com + // "GEO_DATA_PORTAL" - Geo Data Portal Team contact: + // dop-eng-team@google.com // "DEPRECATED_QUICKSTART_FLUME" // "DUO_CLIENT" - Duo Client Team contact: duo-eng@google.com // "ALBERT" - Project albert (go/albert-frontend) Team contact: @@ -107191,21 +107466,18 @@ type PersonalizationMapsAliasIcon struct { // replaced by TYPE_COMPOUND_BUILDING. For further details, see // go/oyster-compounds // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment which has a address - // (a.k.a. location or storefront). Note that it *may* also have a - // service area (e.g. a restaurant that offers both dine-in and - // delivery). This type of business is also known as a "hybrid" Service - // Area Business. Establishment POIs can be referenced by TYPE_COMPOUND - // features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - A business without a storefront, - // e.g. a plumber. It would normally not have a place that a customer - // could visit to receive service, but it would have an area served by - // the business. Also known as a "pure" Service Area Business. - // NOTE(tcain): Using value 0xD441, since we could find ourselves with a - // need to differentiate service areas from online-only at this level in - // the future, but still benefit from being able to group those under a - // common parent, disjoint from TYPE_ESTABLISHMENT_POI. + // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical + // location. Note that it *may* also have a service area (e.g. a + // restaurant that offers both dine-in and delivery). This type of + // business is also known as a "hybrid" Service Area Business. + // Establishment POIs can be referenced by TYPE_COMPOUND features using + // the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation + // of the RELATION_OCCUPIES. + // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, + // since we could find ourselves with a need to differentiate service + // areas from online-only at this level in the future, but still benefit + // from being able to group those under a common parent, disjoint from + // TYPE_ESTABLISHMENT_POI. // "TYPE_CELESTIAL" - The root of types of features that are in the // sky, rather than on the earth. There will eventually be a hierarchy // of types here. @@ -107589,11 +107861,13 @@ func (s *PhotosGDepthMetadata) UnmarshalJSON(data []byte) error { // expresses high dynamic range information (e.g. using a gainmap or a // specialized color space). type PhotosHdrMetadata struct { + BaseFormat *PhotosHdrMetadataBaseFormat `json:"baseFormat,omitempty"` + // Gainmap: Indicates the presence of some kind of gainmap-utilizing // format. Gainmap *PhotosHdrMetadataGainmap `json:"gainmap,omitempty"` - // ForceSendFields is a list of field names (e.g. "Gainmap") to + // ForceSendFields is a list of field names (e.g. "BaseFormat") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -107601,7 +107875,7 @@ type PhotosHdrMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Gainmap") to include in + // NullFields is a list of field names (e.g. "BaseFormat") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -107616,6 +107890,42 @@ func (s *PhotosHdrMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PhotosHdrMetadataBaseFormat: Information about the base image. If +// there is a gain map, this refers to the primary image; otherwise, it +// just refers to the single HDR image. +type PhotosHdrMetadataBaseFormat struct { + // HdrColorSpace: Indicates that the base image uses an HDR color space. + // Assume HDR if and only if this is set. + // + // Possible values: + // "HDR_COLOR_SPACE_UNSPECIFIED" + // "PQ" + // "HLG" + HdrColorSpace string `json:"hdrColorSpace,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HdrColorSpace") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HdrColorSpace") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PhotosHdrMetadataBaseFormat) MarshalJSON() ([]byte, error) { + type NoMethod PhotosHdrMetadataBaseFormat + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // PhotosHdrMetadataGainmap: Details about gainmap-based HDR formats // (e.g. go/ghdr). Notably, images can adhere to multiple gainmap // specifications concurrently. @@ -112458,7 +112768,7 @@ func (s *QualityDniExtendedNewsPreviews) MarshalJSON() ([]byte, error) { // QualityFringeFringeQueryPriorPerDocData: PerDocData for // fringe-query-prior (built into the shards for eventual consumption at -// Fringe classification time). Not stored in DocJoins. NEXT ID: 16 +// Fringe classification time). Not stored in DocJoins. NEXT ID: 17 type QualityFringeFringeQueryPriorPerDocData struct { EncodedCalibratedFringeSitePriorScore int64 `json:"encodedCalibratedFringeSitePriorScore,omitempty"` @@ -112533,6 +112843,11 @@ type QualityFringeFringeQueryPriorPerDocData struct { // encoding includes the pseudorater version and confidence. EncodedPseudoraterPxlqScore int64 `json:"encodedPseudoraterPxlqScore,omitempty"` + // PoliticsPageGovSite: Whether the page is a politics page according to + // petacats on a government domain according to KG. Used to override + // pXLQ in Q* delta-pxlq. + PoliticsPageGovSite bool `json:"politicsPageGovSite,omitempty"` + // SensitiveEntitiesIndices: Indices on the // repository_webref::WebrefEntities::entity field of entities that // represent a person or a group of people (aka sensitive entities). @@ -113760,12 +114075,10 @@ type QualityNsrNsrData struct { SitePr float64 `json:"sitePr,omitempty"` - // SiteQualityStddev: Estimate of site's PQ rating stddev--spread of the - // page-level PQ ratings of a site. Note this is different from + // SiteQualityStddevs: Estimate of site's PQ rating stddev--spread of + // the page-level PQ ratings of a site. Note this is different from // nsr_variance which predicts error of NSR itself from the aggregated // site-level rating. - SiteQualityStddev float64 `json:"siteQualityStddev,omitempty"` - SiteQualityStddevs []*QualityNsrVersionedFloatSignal `json:"siteQualityStddevs,omitempty"` // SmallPersonalSite: Score of small personal site promotion @@ -113848,7 +114161,6 @@ func (s *QualityNsrNsrData) UnmarshalJSON(data []byte) error { SiteLinkIn gensupport.JSONFloat64 `json:"siteLinkIn"` SiteLinkOut gensupport.JSONFloat64 `json:"siteLinkOut"` SitePr gensupport.JSONFloat64 `json:"sitePr"` - SiteQualityStddev gensupport.JSONFloat64 `json:"siteQualityStddev"` SmallPersonalSite gensupport.JSONFloat64 `json:"smallPersonalSite"` SpambrainLavcScore gensupport.JSONFloat64 `json:"spambrainLavcScore"` TitlematchScore gensupport.JSONFloat64 `json:"titlematchScore"` @@ -113883,7 +114195,6 @@ func (s *QualityNsrNsrData) UnmarshalJSON(data []byte) error { s.SiteLinkIn = float64(s1.SiteLinkIn) s.SiteLinkOut = float64(s1.SiteLinkOut) s.SitePr = float64(s1.SitePr) - s.SiteQualityStddev = float64(s1.SiteQualityStddev) s.SmallPersonalSite = float64(s1.SmallPersonalSite) s.SpambrainLavcScore = float64(s1.SpambrainLavcScore) s.TitlematchScore = float64(s1.TitlematchScore) @@ -114164,10 +114475,6 @@ type QualityNsrPQData struct { // Tofu: URL-level tofu prediction. Tofu float64 `json:"tofu,omitempty"` - // UnversionedRhubarb: The delta score of the URL-level quality - // predictor. - UnversionedRhubarb float64 `json:"unversionedRhubarb,omitempty"` - UrlAutopilotScore float64 `json:"urlAutopilotScore,omitempty"` // Vlq: URL-level score of the VLQ model. @@ -114208,7 +114515,6 @@ func (s *QualityNsrPQData) UnmarshalJSON(data []byte) error { NumOffdomainAnchors gensupport.JSONFloat64 `json:"numOffdomainAnchors"` Page2vecLq gensupport.JSONFloat64 `json:"page2vecLq"` Tofu gensupport.JSONFloat64 `json:"tofu"` - UnversionedRhubarb gensupport.JSONFloat64 `json:"unversionedRhubarb"` UrlAutopilotScore gensupport.JSONFloat64 `json:"urlAutopilotScore"` Vlq gensupport.JSONFloat64 `json:"vlq"` *NoMethod @@ -114226,7 +114532,6 @@ func (s *QualityNsrPQData) UnmarshalJSON(data []byte) error { s.NumOffdomainAnchors = float64(s1.NumOffdomainAnchors) s.Page2vecLq = float64(s1.Page2vecLq) s.Tofu = float64(s1.Tofu) - s.UnversionedRhubarb = float64(s1.UnversionedRhubarb) s.UrlAutopilotScore = float64(s1.UrlAutopilotScore) s.Vlq = float64(s1.Vlq) return nil @@ -114443,9 +114748,6 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "SHOPAHOLIC" - This is the unmodified http://go/shopaholic score // "forwarded" through Orbit. Note that scores less than 0.4 are not // written to cdoc and will show up as 0.0. - // "GOOGLE_SCREENSHOT" - This is an image intent - // "MUGSHOT" - Image intent representing whether there is a mugshot in - // the image (or if the image is itself a mugshot). // "CRIME" - Document intent representing whether a page is // crime-related (go/crime-demotion-in-image-search-dd) // "MEME_DOCUMENT" - Document meme classifier representing whether a @@ -114468,11 +114770,12 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "QNA" - Question and Answer format discussion page. check // go/orbit-doc-intents for detailed intent description. // "UGC_DISCUSSION" - Document intent for whether a page is a ugc - // discussion. For the definition, please see the furball template - // go/ugc-discussion-template. Note that this is semantically the union - // of QNA and FORUM doc level intents. For the reason why we want it to - // be a single intent, see - // https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA + // discussion (ie, forums + qna). This is semantically the union of QNA + // and FORUM doc level intents. We use go/ugc-discussion-bb-classifier + // for 'en' documents, and combination of forum and qna classifiers from + // go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. + // This will be updated as and when better classifiers become available. + // Please contact ugc-quality-eng@ for questions. // "SHOPPING" - Shopping represents documents that are part of a user // shopping journey, e.g. reviews and purchase." For intent definition, // check go/is_shopping_doc. More details in the b/288576972. @@ -114485,6 +114788,12 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "LISTICLE" - Listicle document intent classifier, see // go/listicle-orbit-classifier. // "LISTICLE_OR_AGGREGATOR" + // "GOOGLE_SCREENSHOT" - ========= Enums for image intents ========== + // Instructions: intents in this section are image intents. which would + // be annotated in image_intent_scores in DocumentIntentScores. This is + // an image intent + // "MUGSHOT" - Image intent representing whether there is a mugshot in + // the image (or if the image is itself a mugshot). // "RESERVED_FOR_NEW_ENUM_140" - ========== Enums for new intents // ========== Instructions: When adding a new intent, use the reserved // enum number from the start of this list, and add a new reserved enum @@ -114653,9 +114962,6 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "SHOPAHOLIC" - This is the unmodified http://go/shopaholic score // "forwarded" through Orbit. Note that scores less than 0.4 are not // written to cdoc and will show up as 0.0. - // "GOOGLE_SCREENSHOT" - This is an image intent - // "MUGSHOT" - Image intent representing whether there is a mugshot in - // the image (or if the image is itself a mugshot). // "CRIME" - Document intent representing whether a page is // crime-related (go/crime-demotion-in-image-search-dd) // "MEME_DOCUMENT" - Document meme classifier representing whether a @@ -114678,11 +114984,12 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "QNA" - Question and Answer format discussion page. check // go/orbit-doc-intents for detailed intent description. // "UGC_DISCUSSION" - Document intent for whether a page is a ugc - // discussion. For the definition, please see the furball template - // go/ugc-discussion-template. Note that this is semantically the union - // of QNA and FORUM doc level intents. For the reason why we want it to - // be a single intent, see - // https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA + // discussion (ie, forums + qna). This is semantically the union of QNA + // and FORUM doc level intents. We use go/ugc-discussion-bb-classifier + // for 'en' documents, and combination of forum and qna classifiers from + // go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. + // This will be updated as and when better classifiers become available. + // Please contact ugc-quality-eng@ for questions. // "SHOPPING" - Shopping represents documents that are part of a user // shopping journey, e.g. reviews and purchase." For intent definition, // check go/is_shopping_doc. More details in the b/288576972. @@ -114695,6 +115002,12 @@ type QualityOrbitAsteroidBeltDocumentIntentScores struct { // "LISTICLE" - Listicle document intent classifier, see // go/listicle-orbit-classifier. // "LISTICLE_OR_AGGREGATOR" + // "GOOGLE_SCREENSHOT" - ========= Enums for image intents ========== + // Instructions: intents in this section are image intents. which would + // be annotated in image_intent_scores in DocumentIntentScores. This is + // an image intent + // "MUGSHOT" - Image intent representing whether there is a mugshot in + // the image (or if the image is itself a mugshot). // "RESERVED_FOR_NEW_ENUM_140" - ========== Enums for new intents // ========== Instructions: When adding a new intent, use the reserved // enum number from the start of this list, and add a new reserved enum @@ -114893,9 +115206,6 @@ type QualityOrbitAsteroidBeltImageIntentScores struct { // "SHOPAHOLIC" - This is the unmodified http://go/shopaholic score // "forwarded" through Orbit. Note that scores less than 0.4 are not // written to cdoc and will show up as 0.0. - // "GOOGLE_SCREENSHOT" - This is an image intent - // "MUGSHOT" - Image intent representing whether there is a mugshot in - // the image (or if the image is itself a mugshot). // "CRIME" - Document intent representing whether a page is // crime-related (go/crime-demotion-in-image-search-dd) // "MEME_DOCUMENT" - Document meme classifier representing whether a @@ -114918,11 +115228,12 @@ type QualityOrbitAsteroidBeltImageIntentScores struct { // "QNA" - Question and Answer format discussion page. check // go/orbit-doc-intents for detailed intent description. // "UGC_DISCUSSION" - Document intent for whether a page is a ugc - // discussion. For the definition, please see the furball template - // go/ugc-discussion-template. Note that this is semantically the union - // of QNA and FORUM doc level intents. For the reason why we want it to - // be a single intent, see - // https://docs.google.com/document/d/1Ka3qcMWLvNHCZMomekHXXTumr_9g_tcgJ0BD6ev1HI4/edit?resourcekey=0-8r1KcmFaOH11GBK_yfipHA + // discussion (ie, forums + qna). This is semantically the union of QNA + // and FORUM doc level intents. We use go/ugc-discussion-bb-classifier + // for 'en' documents, and combination of forum and qna classifiers from + // go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. + // This will be updated as and when better classifiers become available. + // Please contact ugc-quality-eng@ for questions. // "SHOPPING" - Shopping represents documents that are part of a user // shopping journey, e.g. reviews and purchase." For intent definition, // check go/is_shopping_doc. More details in the b/288576972. @@ -114935,6 +115246,12 @@ type QualityOrbitAsteroidBeltImageIntentScores struct { // "LISTICLE" - Listicle document intent classifier, see // go/listicle-orbit-classifier. // "LISTICLE_OR_AGGREGATOR" + // "GOOGLE_SCREENSHOT" - ========= Enums for image intents ========== + // Instructions: intents in this section are image intents. which would + // be annotated in image_intent_scores in DocumentIntentScores. This is + // an image intent + // "MUGSHOT" - Image intent representing whether there is a mugshot in + // the image (or if the image is itself a mugshot). // "RESERVED_FOR_NEW_ENUM_140" - ========== Enums for new intents // ========== Instructions: When adding a new intent, use the reserved // enum number from the start of this list, and add a new reserved enum @@ -115150,11 +115467,16 @@ type QualityOrbitOrbitImageIntents struct { // want to keep track of how fast this is propagating through the index // for experimental purposes. This is effectively the same version as // V_20240212. - // "V_20240308" - Reprocessing from amarna from after V_20240307. It - // is usually not necessary to add a new version after a backfill, but - // we want to keep track of how long it takes for a new version to + // "V_20240308" - Backfill with RAIDv3 fix from + // go/retune-human-animal-raid-v3. Usually it is not necessary to + // annotate a new version when backfilling data, but we want to keep + // track of how fast this is propagating through the index for + // experimental purposes. + // "V_20240410" - Reprocessing from Amarna after V_20240308. It is + // usually not necessary to add a new version after a backfill, but we + // want to keep track of how long it takes for a new version to // propagate through the index after a backfill for experimental - // purposes. This is effectively the same version as V_20240212. + // purposes. This is effectively the same version as V_20240308. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "Intents") to @@ -120832,7 +121154,7 @@ func (s *RepositoryAnnotationsRdfaCrumb) MarshalJSON() ([]byte, error) { } // RepositoryAnnotationsRdfaRdfaRichSnippetsApplication: This structure -// holds data for application information for rich snippets Next ID: 53 +// holds data for application information for rich snippets Next ID: 54 type RepositoryAnnotationsRdfaRdfaRichSnippetsApplication struct { AppTypeData *RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeData `json:"appTypeData,omitempty"` @@ -120887,6 +121209,10 @@ type RepositoryAnnotationsRdfaRdfaRichSnippetsApplication struct { // InAppPurchase: Whether the app offers in-app purchase. InAppPurchase bool `json:"inAppPurchase,omitempty"` + // IsBattlestarTitle: Whether this is a game and avaible on Battlestar + // (go/battlestar). + IsBattlestarTitle bool `json:"isBattlestarTitle,omitempty"` + // IsDefaultLangLocale: Indicates if the localized data comes from // default locale. This is needed because the default localized data // does not specify its locale. If this is true, lang_locale may not be @@ -128638,11 +128964,6 @@ type RepositoryWebrefUniversalNgramData struct { // Idf: IDF of the n-gram. Idf float64 `json:"idf,omitempty"` - // PluralProb: Probability that the n-gram is a plural form of a word. - // This information is extracted from SAFT annotations of queries. See - // HasPluralProperty(). - PluralProb float64 `json:"pluralProb,omitempty"` - // ForceSendFields is a list of field names (e.g. "Idf") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -128669,8 +128990,7 @@ func (s *RepositoryWebrefUniversalNgramData) MarshalJSON() ([]byte, error) { func (s *RepositoryWebrefUniversalNgramData) UnmarshalJSON(data []byte) error { type NoMethod RepositoryWebrefUniversalNgramData var s1 struct { - Idf gensupport.JSONFloat64 `json:"idf"` - PluralProb gensupport.JSONFloat64 `json:"pluralProb"` + Idf gensupport.JSONFloat64 `json:"idf"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -128678,7 +128998,6 @@ func (s *RepositoryWebrefUniversalNgramData) UnmarshalJSON(data []byte) error { return err } s.Idf = float64(s1.Idf) - s.PluralProb = float64(s1.PluralProb) return nil } @@ -129303,21 +129622,18 @@ type RepositoryWebrefWebrefAttachmentMetadata struct { // replaced by TYPE_COMPOUND_BUILDING. For further details, see // go/oyster-compounds // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment which has a address - // (a.k.a. location or storefront). Note that it *may* also have a - // service area (e.g. a restaurant that offers both dine-in and - // delivery). This type of business is also known as a "hybrid" Service - // Area Business. Establishment POIs can be referenced by TYPE_COMPOUND - // features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - A business without a storefront, - // e.g. a plumber. It would normally not have a place that a customer - // could visit to receive service, but it would have an area served by - // the business. Also known as a "pure" Service Area Business. - // NOTE(tcain): Using value 0xD441, since we could find ourselves with a - // need to differentiate service areas from online-only at this level in - // the future, but still benefit from being able to group those under a - // common parent, disjoint from TYPE_ESTABLISHMENT_POI. + // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical + // location. Note that it *may* also have a service area (e.g. a + // restaurant that offers both dine-in and delivery). This type of + // business is also known as a "hybrid" Service Area Business. + // Establishment POIs can be referenced by TYPE_COMPOUND features using + // the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation + // of the RELATION_OCCUPIES. + // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, + // since we could find ourselves with a need to differentiate service + // areas from online-only at this level in the future, but still benefit + // from being able to group those under a common parent, disjoint from + // TYPE_ESTABLISHMENT_POI. // "TYPE_CELESTIAL" - The root of types of features that are in the // sky, rather than on the earth. There will eventually be a hierarchy // of types here. @@ -137032,7 +137348,7 @@ type SmartphonePerDocData struct { // violating mobile ads density interstitial policy and the violation // strength. See go/interstitials-for-ads and http://ariane/268642 for // details. To save indexing space, we convert the double values in - // [0.0, 1.0] to intergers in range [0, 1000] by using floor(value * + // [0.0, 1.0] to integers in range [0, 1000] by using floor(value * // 1000). AdsDensityInterstitialViolationStrength int64 `json:"adsDensityInterstitialViolationStrength,omitempty"` @@ -138928,7 +139244,8 @@ func (s *SocialGraphApiProtoHostAppInfo) MarshalJSON() ([]byte, error) { // opaque blob to avoid a dependency on a specific storage backend. This // version of ImageReference is visible outside of SGBE. Do not add // fields that should not be exposed outside of Profile Service and -// Image Service. +// Image Service. See the SGBE-internal version here: +// http://google3/social/graph/image/proto/image_reference.proto type SocialGraphApiProtoImageReference struct { // ContentVersion: Identifies the most recent version of this photo. Use // this as a FIFE param (ie -iv12) to prevent reads of a stale version. @@ -142721,7 +143038,7 @@ type StorageGraphBfgTripleProvenance struct { // "ISOLATION_S12Y_RECIPE_INGREDIENT_INSIGHTS" - For Search // sustainability's food choice feature, Recipe Ingredient Insights. // Assign existing KG entities feature types to classify triggering - // behavior and insights. Owned by salehh@ and s12y-eng@ See + // behavior and insights. Owned by marubin@ and s12y-eng@ See // go/rii-kg-triggering-migration for more information. // "ISOLATION_SCOUTS_SOCIETAL_CONTEXT_ENTITIES" - Access controls for // SCOUTS Societal Context Repository entities. Please contact @@ -142796,6 +143113,9 @@ type StorageGraphBfgTripleProvenance struct { // go/kg-insider-data-access-policy for more details. // "RIGHTS_MANAGEMENT_EBF_DATA" - Access controls for triples that are // selected in entity based visibility filter. + // "RIGHTS_MANAGEMENT_LLM_DATA_ACCESS_RESTRICTION" - Access controls + // for triples subject to LLM data access restrictions. Currently only + // kg-snapshot will populate this AR. // "DICTIONARY_DATA_OXFORD" // "DICTIONARY_DATA_LE_ROBERT" // "ENTITY_TEXT_FEATURES" - Access controls for EntityTextFeatures @@ -147289,6 +147609,10 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // when Time Spent 2.0 V3 is triggered for non-MDP query. // "TIME_SPENT_V3_MDP_EVENT_LEVEL" - Event-level test code for when // Time Spent 2.0 V3 is triggered for MDP query. + // "MDP_MEDIA_AND_ENTERTAINMENT_EVENT_LEVEL" - Event-level test code + // for M&E in MDP + // "ZERO_PREFIX_SUGGEST_OFFERS_EVENT_LEVEL" - Event-level test code + // for Zero Prefix Suggest Offers // "EVENT_LEVEL_TEST_CODE_LIMIT" // "ENTERTAINMENT_CLUSTER_TRIGGERING_AT_SESSION_LEVEL" // "BEST_SELLER_CART_TAG_AT_SESSION_LEVEL" @@ -148365,6 +148689,14 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_SESSION_LEVEL" - Session level // test code for traking the users who are eligible to subs offer on // buyflow. This is a P3 server level test code. + // "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_SESSION_LEVEL" - Session + // level test code for traking the users who did see subs offer on + // buyflow on PRS exploration launch. This is a Commerce client level + // test code. + // "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_SESSION_LEVEL" - + // Session level test code for traking the users who are eligible to + // subs offer on buyflowon PRS exploration launch. This is a P3 server + // level test code. // "TRUSTED_VERTICAL_VPN_INTENT_SESSION_LEVEL" - Session-level test // code to track triggering of VPN Intent trusted vertical message. // "TRUSTED_VERTICAL_LOAN_INTENT_SESSION_LEVEL" - Session-level test @@ -148495,6 +148827,13 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // Session-level test codes for Play search spam-query low quality app // demotion experiments. // "PLAY_SEARCH_SPAM_QUERY_HIGH_QUALITY_APP_BOOST_SESSION_LEVEL" + // + // "PLAY_SEARCH_BROADEN_SPAM_QUERY_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL + // " + // "PLAY_SEARCH_GLOBAL_NAV_EXT_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL" + // "FCC_QUEST_ON_CLIENT_SESSION_LEVEL" - Session level test code for + // FCC Quest experiment client side tracking. See + // go/qcc-to-fcc-migration-client. // "PURCHASE_ADD_FOP_OPTIONS_SCREEN_SESSION_LEVEL" - Session-level // test code marking sessions where users see the add new fop option // screen during purchase flow. This will be used for ranking of add fop @@ -148585,6 +148924,8 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // Session-level test code for next ranked FOP suggestion eligibility. // "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_SESSION_LEVEL" - Session-level // test code for allowing renewal with no instrument. + // "MDP_MEDIA_AND_ENTERTAINMENT_SESSION_LEVEL" - Session-level test + // code for M&E in MDP. // "PLAY_BOOKS_READING_PRACTICE_AVAILABLE_IN_KID_READER_SESSION_LEVEL" // - Session-level test code for kid reader session for an ebook volume // and device locale that support reading practice. @@ -148637,6 +148978,21 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // EL" - Session level test code that indicates if the SKU that a user // saw qualified for the "X people bought multiple" Social Proof // message. + // + // "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_LOW_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SE + // SSION_LEVEL" - Session level test code that indicates if the SKU that + // a user saw qualified for the low-tier "X people bought multiple" + // Social Proof message. + // + // "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_MID_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SE + // SSION_LEVEL" - Session level test code that indicates if the SKU that + // a user saw qualified for the mid-tier "X people bought multiple" + // Social Proof message. + // + // "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_HIGH_TIER_SOCIAL_PROOF_V2_BUY_FLOW_S + // ESSION_LEVEL" - Session level test code that indicates if the SKU + // that a user saw qualified for the high-tier "X people bought + // multiple" Social Proof message. // "DETAILS_GAME_HUB_STREAM_AT_SESSION_LEVEL" - Session-level test // code for Details Game Hub Stream. // "DETAILS_GAME_HUB_DEVELOPER_VIDEOS_CLUSTER_AT_SESSION_LEVEL" - @@ -148686,6 +149042,8 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // code for review highlight click on SERP. // "FORM_FACTOR_DETAILS_PAGE_SESSION_LEVEL" - Test codes for form // factor details page. See go/play-xff-dp-serving. + // "FORM_FACTOR_WEAR_PAGE_SESSION_LEVEL" - Session-level test code for + // form factor wear subpage. // "DEFAULT_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL" - Session-level test // code tagging users who saw the default campaign details page. // "CONTEXTUAL_ADD_FOP_SESSION_LEVEL" - Session-level test code for @@ -148695,6 +149053,8 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // face on details page. See go/similar_wfs_on_dp. // "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL" - Test code // for app subscription cart abandonment offer + // "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL" - + // Test code for Play Pass subscription cart abandonment offer // "TIMEWORTHY_APP_GAME_SEEKING_QUERY_SESSION_LEVEL" - Session-level // test code for timeworthy App and Game seeking query. // "CORPUS_WIDE_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL" - Session-level @@ -148734,6 +149094,9 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // when Time Spent 2.0 V3 is triggered for non-MDP query. // "TIME_SPENT_V3_MDP_SESSION_LEVEL" - Session-level test code for // when Time Spent 2.0 V3 is triggered for MDP query. + // "CURRENCY_CONVERSION_FOR_DISABLED_CARTS_SESSION_LEVEL" - + // Session-level test code for when currency conversion is required for + // a disabled cart. // "SESSION_LEVEL_TEST_CODE_LIMIT" // "CART_ABANDONMENT_USER_LEVEL" - Cart abandonment flow for purchase // flow. @@ -149328,6 +149691,10 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "CART_ABANDONMENT_REMINDER_SUBS_USER_LEVEL" // "CART_ABANDONMENT_REMINDER_USER_LEVEL_V3" // "CART_ABANDONMENT_REMINDER_IAP_USER_LEVEL" + // "CART_ABANDONMENT_REMINDER_USER_LEVEL_V4" + // "CONTEXTUAL_ADD_FOP_USER_LEVEL" - User level test code for + // Contextual Add Fop feature where the payment schedule module is added + // on the instant fop screen. // "SUBSCRIPTION_OFFER_SWITCH_DATA_PRESENT_USER_LEVEL" - User level // test code for OfferSwitchData in CreateCarts // "FCC_FIRST_PARTY_CATEGORICAL_SEARCH_OFFERS_USER_LEVEL" - User level @@ -149373,6 +149740,16 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_USER_LEVEL" - User level test // code for traking the users who are eligible to subs offer on buyflow. // This is a P3 server level test code. + // "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_USER_LEVEL" - User level test + // code for traking the users who did see subs offer on buyflow on PRS + // exploration launch. This is a Commerce client level test code. + // "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_USER_LEVEL" - User + // level test code for traking the users who are eligible to subs offer + // on buyflowon PRS exploration launch. This is a P3 server level test + // code. + // "FCC_QUEST_ON_CLIENT_USER_LEVEL" - User level test code for FCC + // Quest experiment client side tracking. See + // go/qcc-to-fcc-migration-client. // "FOP_PARTNER_PROMOTION_USER_LEVEL" - User level test code for FOP // Partner Promo. // "BOOKS_LOYALTY_PROMO_BANNER_WEEKLY_PRIZE_USER_LEVEL" - User level @@ -149552,6 +149929,8 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // fop. // "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_USER_LEVEL" - User-level test // code for allowing renewal with no instrument. + // "MDP_MEDIA_AND_ENTERTAINMENT_USER_LEVEL" - User-level test code for + // M&E in MDP. // "NUDGE_PAYTM_WALLET_FAILURE_TO_UPI_USER_LEVEL" - User level test // code to track users who saw the nudge screen when they faced a Paytm // wallet failure. go/nudge-failed-paytm-wallets-dd. @@ -149593,8 +149972,12 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // review highlight UI feature on DP. // "FORM_FACTOR_DETAILS_PAGE_USER_LEVEL" - Test codes for form factor // details page. See go/play-xff-dp-serving. + // "FORM_FACTOR_WEAR_PAGE_USER_LEVEL" - User-level test code for form + // factor wear subpage. // "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL" - Test code // for app subscription cart abandonment offer + // "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL" - Test + // code for Play Pass subscription cart abandonment offer // "SUBSCRIPTION_SUBSCRIBE_MORE_SAVE_MORE_USER_LEVEL" - User level // test code for Subscribe More Save More offers. // go/solar-experiment-plan @@ -149602,6 +149985,22 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // TopGun cohort id: 76766 (High Spend Gamers). // "GH_ECC_LOW_SPEND_GAMERS_USER_LEVEL" - User level test code for // TopGun cohort id: 76767 (Low Spend Gamers). + // "GH_ECC_HIGH_VALUE_GAMERS_USER_LEVEL" - User level test code for + // TopGun cohort id: 77001 (High Value Gamers). + // "GH_ECC_MEDIUM_VALUE_GAMERS_USER_LEVEL" - User level test code for + // TopGun cohort id: 77002 (Medium Value Gamers). + // "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_USER_LEVEL" - User level test + // code for TopGun cohort id: 77235 (Predicted High Value Gamers). + // "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_USER_LEVEL" - User level test + // code for TopGun cohort id: 77236 (Predicted Medium Value Gamers). + // "GH_ECC_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL" - User + // level test code for HVG eligible for 2P videos. + // "GH_ECC_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL" - User + // level test code for MVG eligible for 2P videos. + // "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL" - + // User level test code for pHVG eligible for 2P videos. + // "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL" + // - User level test code for pMVG eligible for 2P videos. // "GAME_SPEND_STATE_ACTIVE_NEW" - Test code for Game Spend State // Active New. // "GAME_SPEND_STATE_ACTIVE_RETAINED" - Test code for Game Spend State @@ -149636,10 +150035,6 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "PLAY_DOUGH_FOP_PARTNER_PROMOTION_USER_LEVEL" - User level test // code for FOP Partner Promo, logged in PlayDough. // "USER_LEVEL_TEST_CODE_LIMIT" - // "MDP_MEDIA_AND_ENTERTAINMENT_SESSION_LEVEL" - Session level test - // code for M&E in MDP. - // "MDP_MEDIA_AND_ENTERTAINMENT_USER_LEVEL" - User level test code for - // M&E in MDP. // "HAS_ALLOWLIST_REINSTALL_USER_LEVEL" - User level test code for // reinstall apps/games based on an allowlist. Users who see or are // supposed to see reinstall from this allowlist in RFY clusters be @@ -149647,8 +150042,9 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "LOYALTY_WEEKLY_REWARDS_FCC_FORMAT_NOW_CAROUSEL_USER_LEVEL" - User // level test code for loyalty weekly rewards FCC format on Now! // Carousel. - // "IAB_AUTH_RECOVERY_USER_LEVEL" - User level test code to identify - // users who have encountered auth failures during in-app billing flows. + // "IAB_AUTH_RECOVERY_V2_USER_LEVEL" - User level test code to + // identify users who have encountered auth failures during in-app + // billing flows. // "USER_INTEREST_PICKER_SUBMISSION_ON_CLICK_USER_LEVEL" - User level // test code for user interest picker submission click. // "BOOKS_SERIES_COMMERCE_PAGE_VISIT_USER_LEVEL" - User level test @@ -149693,9 +150089,20 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "WEBSKY_IAP_SALES_MVP_USER_LEVEL" - User level test code for the // MVP launch of IAP sales on Websky details page. // go/support-iap-sales-on-websky-details-page. + // "ZERO_PREFIX_SUGGEST_OFFERS_USER_LEVEL" - User level test code for + // Zero Prefix Suggest Offers + // "FCC_CAT_SEARCH_USER_BUYER_STATE_ACTIVE_BUYER_V2" - Test code Fcc + // cat search experiment, active buyer. + // "FCC_CAT_SEARCH_USER_BUYER_STATE_DORMANT_BUYER_V2" - Test code Fcc + // cat search experiment, dormant buyer. + // "FCC_CAT_SEARCH_USER_BUYER_STATE_LAPSED_BUYER_V2" - Test code Fcc + // cat search experiment, lapsed buyer. + // "FCC_CAT_SEARCH_USER_BUYER_STATE_CHURNED_BUYER_V2" - Test code Fcc + // cat search experiment, churned buyer. // "FCC_SHORT_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL" - Session level // test code used to identify users who were shown the FCC short liveops - // cluster on an apps details page. + // cluster on an apps details page. Deprecated use + // DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL instead. // "FEATURED_PRODUCT_LIVE_OP_NOT_SHOWN_SESSION_LEVEL" - Session level // test code used to identify users who were eligible to view featured // products liveops but were not shown the liveop in the FCC short @@ -149703,6 +150110,25 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // "FEATURED_PRODUCT_LIVE_OP_SHOWN_SESSION_LEVEL" - Session level test // code used to identify users who were shown featured products liveops // in the FCC short liveops cluster on an apps details page. + // "DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL" - Session level + // test code used to identify users who were shown the liveops cluster + // on an apps details page. + // "PLAY_PASS_FREE_TRIAL_OFFER_SHOWN_SESSION_LEVEL" - Session level + // test code used to identify users who were shown Play Pass free trial + // signup offer. + // "PLAY_PASS_PAID_OFFER_SHOWN_SESSION_LEVEL" - Session level test + // code used to identify users who were shown Play Pass paid signup + // offer. + // "FEATURED_PRODUCTS_LIVE_OPS_METADATA_SESSION_LEVEL" - Session level + // test code for Featured Products LiveOps metadata. + // "VIDEO_ADS_SERVED_SESSION_LEVEL" - Session-level test code + // indicating that the user was served a video ad for basic video + // details page experiment. + // "VIDEO_ADS_NOT_SERVED_SESSION_LEVEL" - Session-level test code + // indicating that the user was not served a video ad for basic video + // details page experiment. + // "ZERO_PREFIX_SUGGEST_OFFERS_SESSION_LEVEL" - Session-level test + // code for Zero Prefix Suggest Offers TestCode []string `json:"testCode,omitempty"` // TrustedGenomeHierarchy: The list of trusted genome hierarchy. One @@ -149884,6 +150310,7 @@ type VendingConsumerProtoTrustedGenomeHierarchy struct { // Optimized for Chromebooks // "GLOBAL_ATTRIBUTE" - Global attribute shared between both App and // Game. e.g. Companion App + // "WEAR" - Wear OS compatibility tags. e.g. Wear Standalone TrustedGenomeType string `json:"trustedGenomeType,omitempty"` // ForceSendFields is a list of field names (e.g. "Entity") to @@ -150254,10 +150681,9 @@ func (s *VideoAssetsVenomTransition) MarshalJSON() ([]byte, error) { // video. Privacy: VideoIds are visible in logs, notifications, etc and // must not contain PII. type VideoAssetsVenomVideoId struct { - // Id: REQUIRED. IDs have some constraints: - 32 bytes max: this is - // enforced by the server - for the time being, must be parseable as a + // Id: REQUIRED. IDs have some constraints: - must be parseable as a // youtube ID (basically a base64-encoded string which maps to a 64-bit - // integer). This restriction will eventually be lifted. + // integer, see google3/video/tools/video_id.h): Id string `json:"id,omitempty"` // Ns: LINT.ThenChange( @@ -150324,6 +150750,8 @@ type VideoAssetsVenomVideoId struct { // processed by ContribService. // "NS_CONTRIB_SERVICE_FLYBY" - Namespace for FlyBy (Local Top Ads) // videos processed by ContribService. + // "NS_CONTRIB_SERVICE_SHOPSTREAM" - Namespace for Shopstream videos + // processed by ContribService. // "NS_SEARCH_SPORTS" - Namespace for Search Sports vertical videos. // "NS_BUSINESSMESSAGING" - Namespace for Business Messaging videos. // "NS_AERIAL_VIEW" - Namespace for Geo Aerial View @@ -159063,6 +159491,73 @@ type VideoVideoStreamInfo struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -160257,6 +160752,73 @@ type VideoVideoStreamInfo struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -160930,6 +161492,73 @@ type VideoVideoStreamInfoAudioStream struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -161537,6 +162166,73 @@ type VideoVideoStreamInfoDataStream struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -162137,6 +162833,73 @@ type VideoVideoStreamInfoTimedTextStream struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -162673,6 +163436,73 @@ type VideoVideoStreamInfoVideoStream struct { // "CODEC_ID_PROSUMER" // "CODEC_ID_RASC" // "CODEC_ID_WCMV" + // "CODEC_ID_MSP2" + // "CODEC_ID_VQC" + // "CODEC_ID_CDTOONS" + // "CODEC_ID_SIREN" + // "CODEC_ID_PGX" + // "CODEC_ID_ADPCM_IMA_CUNNING" + // "CODEC_ID_VMIX" + // "CODEC_ID_DERF_DPCM" + // "CODEC_ID_MEDIA100" + // "CODEC_ID_FTR" + // "CODEC_ID_DFPWM" + // "CODEC_ID_PDV" + // "CODEC_ID_APAC" + // "CODEC_ID_ADPCM_ARGO" + // "CODEC_ID_ADPCM_IMA_SSI" + // "CODEC_ID_SGA_VIDEO" + // "CODEC_ID_PHOTOCD" + // "CODEC_ID_PCM_SGA" + // "CODEC_ID_NOTCHLC" + // "CODEC_ID_OSQ" + // "CODEC_ID_MISC4" + // "CODEC_ID_PHM" + // "CODEC_ID_MV30" + // "CODEC_ID_GEM" + // "CODEC_ID_MVDV" + // "CODEC_ID_ACELP_KELVIN" + // "CODEC_ID_PFM" + // "CODEC_ID_ADPCM_IMA_APM" + // "CODEC_ID_IMM5" + // "CODEC_ID_ANULL" + // "CODEC_ID_ARBC" + // "CODEC_ID_VBN" + // "CODEC_ID_FASTAUDIO" + // "CODEC_ID_LSCR" + // "CODEC_ID_RKA" + // "CODEC_ID_ARGO" + // "CODEC_ID_WBMP" + // "CODEC_ID_MSNSIREN" + // "CODEC_ID_ADPCM_IMA_ALP" + // "CODEC_ID_BONK" + // "CODEC_ID_QOI" + // "CODEC_ID_RTV1" + // "CODEC_ID_VNULL" + // "CODEC_ID_HCOM" + // "CODEC_ID_ADPCM_AGM" + // "CODEC_ID_ADPCM_IMA_MTF" + // "CODEC_ID_HYMT" + // "CODEC_ID_WADY_DPCM" + // "CODEC_ID_RADIANCE_HDR" + // "CODEC_ID_MVHA" + // "CODEC_ID_VP4" + // "CODEC_ID_MOBICLIP" + // "CODEC_ID_ADPCM_IMA_MOFLEX" + // "CODEC_ID_HCA" + // "CODEC_ID_IPU" + // "CODEC_ID_WAVARC" + // "CODEC_ID_SIMBIOSIS_IMX" + // "CODEC_ID_CBD2_DPCM" + // "CODEC_ID_PCM_VIDC" + // "CODEC_ID_CRI" + // "CODEC_ID_AGM" + // "CODEC_ID_ADPCM_XMD" + // "CODEC_ID_ADPCM_IMA_ACORN" + // "CODEC_ID_ADPCM_ZORK" + // "CODEC_ID_QOA" + // "CODEC_ID_VVC" + // "CODEC_ID_LEAD" // "CODEC_ID_UNKNOWN" // "CODEC_ID_PCM_S16LE" - various pcm "codecs" // "CODEC_ID_PCM_S16BE" @@ -164069,12 +164899,83 @@ func (s *WWWMetaTag) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// WWWResultInfoMinimalAestheticsAdjusterInfo: Minimal copy of +// ImageAestheticsAdjusterInfo +// (http://google3/quality/scoring/proto/image-data.proto;l=966;rcl=618955078) +// for use by web twiddlers. NextID: 8 +type WWWResultInfoMinimalAestheticsAdjusterInfo struct { + // Boost: final boost = *(all boosts) + Boost float64 `json:"boost,omitempty"` + + DeepTagCollageBoost float64 `json:"deepTagCollageBoost,omitempty"` + + DeepTagCollageScore float64 `json:"deepTagCollageScore,omitempty"` + + EqBoost float64 `json:"eqBoost,omitempty"` + + EqExpansionOrganicBoost float64 `json:"eqExpansionOrganicBoost,omitempty"` + + EqExpansionStar float64 `json:"eqExpansionStar,omitempty"` + + TqBoost float64 `json:"tqBoost,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Boost") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Boost") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WWWResultInfoMinimalAestheticsAdjusterInfo) MarshalJSON() ([]byte, error) { + type NoMethod WWWResultInfoMinimalAestheticsAdjusterInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *WWWResultInfoMinimalAestheticsAdjusterInfo) UnmarshalJSON(data []byte) error { + type NoMethod WWWResultInfoMinimalAestheticsAdjusterInfo + var s1 struct { + Boost gensupport.JSONFloat64 `json:"boost"` + DeepTagCollageBoost gensupport.JSONFloat64 `json:"deepTagCollageBoost"` + DeepTagCollageScore gensupport.JSONFloat64 `json:"deepTagCollageScore"` + EqBoost gensupport.JSONFloat64 `json:"eqBoost"` + EqExpansionOrganicBoost gensupport.JSONFloat64 `json:"eqExpansionOrganicBoost"` + EqExpansionStar gensupport.JSONFloat64 `json:"eqExpansionStar"` + TqBoost gensupport.JSONFloat64 `json:"tqBoost"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Boost = float64(s1.Boost) + s.DeepTagCollageBoost = float64(s1.DeepTagCollageBoost) + s.DeepTagCollageScore = float64(s1.DeepTagCollageScore) + s.EqBoost = float64(s1.EqBoost) + s.EqExpansionOrganicBoost = float64(s1.EqExpansionOrganicBoost) + s.EqExpansionStar = float64(s1.EqExpansionStar) + s.TqBoost = float64(s1.TqBoost) + return nil +} + // WWWResultInfoSubImageDocInfo: The following message contains info of // sub image docs, it is populated in query_state and consumed in web -// image boost twiddler: (go/WebImageBoostTwiddler). NextID: 26 +// image boost twiddler: (go/WebImageBoostTwiddler). NextID: 31 type WWWResultInfoSubImageDocInfo struct { AdditionalSafesearchSignals []int64 `json:"additionalSafesearchSignals,omitempty"` + AestheticsAdjusterInfo *WWWResultInfoMinimalAestheticsAdjusterInfo `json:"aestheticsAdjusterInfo,omitempty"` + // BestThumbnailType: The best thumbnail type is either 300K or 50K. // // Possible values: @@ -164228,6 +165129,8 @@ type WWWResultInfoSubImageDocInfo struct { ImageUrl string `json:"imageUrl,omitempty"` + OcrTokensCount int64 `json:"ocrTokensCount,omitempty"` + PamirNormalizedScore float64 `json:"pamirNormalizedScore,omitempty"` // PornSignals: Encoded Safe Search annotations of the image. See diff --git a/discoveryengine/v1/discoveryengine-api.json b/discoveryengine/v1/discoveryengine-api.json index 8768002f723..87e261dbd1f 100644 --- a/discoveryengine/v1/discoveryengine-api.json +++ b/discoveryengine/v1/discoveryengine-api.json @@ -593,6 +593,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -872,7 +878,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -1941,7 +1947,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -2289,7 +2295,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", "required": true, @@ -2927,6 +2933,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -3206,7 +3218,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -3997,7 +4009,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -4088,6 +4100,38 @@ ] } } + }, + "userEvents": { + "methods": { + "write": { + "description": "Writes a single user event.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:write", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.write", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userEvents:write", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1UserEvent" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1UserEvent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -4164,7 +4208,7 @@ } } }, - "revision": "20240409", + "revision": "20240415", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4555,7 +4599,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Please ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "instanceId": { @@ -4647,7 +4691,7 @@ "type": "array" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "type": "string" }, "startTime": { @@ -5222,7 +5266,8 @@ "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -5358,7 +5403,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -5429,7 +5474,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -5496,7 +5541,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Please ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "projectId": { @@ -5993,7 +6038,7 @@ "id": "GoogleCloudDiscoveryengineV1PageInfo", "properties": { "pageCategory": { - "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, please replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" }, "pageviewId": { @@ -6476,7 +6521,7 @@ "type": "integer" }, "returnExtractiveSegmentScore": { - "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, please contact your Customer Engineer. The default value is `false`.", + "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", "type": "boolean" } }, @@ -6533,12 +6578,12 @@ "description": "If specified, the spec will be used to modify the model specification provided to the LLM." }, "summaryResultCount": { - "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results can be used to generate a summary.", + "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", "format": "int32", "type": "integer" }, "useSemanticChunks": { - "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Please note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", + "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", "type": "boolean" } }, @@ -7451,7 +7496,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" }, "queryUnderstandingInfo": { @@ -8195,7 +8240,8 @@ "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -8338,7 +8384,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -8508,7 +8554,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -8563,6 +8609,23 @@ "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", "properties": { + "advancedSiteSearchDataSources": { + "description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", + "items": { + "enum": [ + "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", + "METATAGS", + "PAGEMAP" + ], + "enumDescriptions": [ + "Value used when unset.", + "Retrieve value from meta tag.", + "Retrieve value from page map." + ], + "type": "string" + }, + "type": "array" + }, "completableOption": { "description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", "enum": [ @@ -8720,47 +8783,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { - "description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", - "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "failureCount": { - "description": "Count of CompletionSuggestions that failed to be imported.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of CompletionSuggestions successfully imported.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { "description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", @@ -8918,6 +8940,85 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProject": { + "description": "Metadata and configurations for a Google Cloud project in the service.", + "id": "GoogleCloudDiscoveryengineV1alphaProject", + "properties": { + "createTime": { + "description": "Output only. The timestamp when this project is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Full resource name of the project, for example `projects/{project_number}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", + "readOnly": true, + "type": "string" + }, + "provisionCompletionTime": { + "description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "serviceTermsMap": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" + }, + "description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { + "description": "Metadata about the terms of service.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", + "properties": { + "acceptTime": { + "description": "The last time when the project agreed to the terms of service.", + "format": "google-datetime", + "type": "string" + }, + "declineTime": { + "description": "The last time when the project declined or revoked the agreement to terms of service.", + "format": "google-datetime", + "type": "string" + }, + "id": { + "description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", + "type": "string" + }, + "state": { + "description": "Whether the project has accepted/rejected the service terms or it is still pending.", + "enum": [ + "STATE_UNSPECIFIED", + "TERMS_ACCEPTED", + "TERMS_PENDING", + "TERMS_DECLINED" + ], + "enumDescriptions": [ + "The default value of the enum. This value is not actually used.", + "The project has given consent to the terms of service.", + "The project is pending to review and accept the terms of service.", + "The project has declined or revoked the agreement to terms of service." + ], + "type": "string" + }, + "version": { + "description": "The version string of the terms of service. For acceptable values, see the comments for id above.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { + "description": "Metadata associated with a project provision operation.", + "id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { "description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", @@ -9209,7 +9310,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" }, "startTime": { @@ -9807,7 +9908,8 @@ "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -9937,7 +10039,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -10008,7 +10110,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -10474,6 +10576,12 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", diff --git a/discoveryengine/v1/discoveryengine-gen.go b/discoveryengine/v1/discoveryengine-gen.go index 276b71c5575..2d6a09485b8 100644 --- a/discoveryengine/v1/discoveryengine-gen.go +++ b/discoveryengine/v1/discoveryengine-gen.go @@ -175,6 +175,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.Collections = NewProjectsLocationsCollectionsService(s) rs.DataStores = NewProjectsLocationsDataStoresService(s) rs.Operations = NewProjectsLocationsOperationsService(s) + rs.UserEvents = NewProjectsLocationsUserEventsService(s) return rs } @@ -186,6 +187,8 @@ type ProjectsLocationsService struct { DataStores *ProjectsLocationsDataStoresService Operations *ProjectsLocationsOperationsService + + UserEvents *ProjectsLocationsUserEventsService } func NewProjectsLocationsCollectionsService(s *Service) *ProjectsLocationsCollectionsService { @@ -659,6 +662,15 @@ type ProjectsLocationsOperationsService struct { s *Service } +func NewProjectsLocationsUserEventsService(s *Service) *ProjectsLocationsUserEventsService { + rs := &ProjectsLocationsUserEventsService{s: s} + return rs +} + +type ProjectsLocationsUserEventsService struct { + s *Service +} + func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { rs := &ProjectsOperationsService{s: s} return rs @@ -1345,7 +1357,7 @@ type GoogleCloudDiscoveryengineV1CloudSqlSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Cloud SQL export to a specific Cloud Storage - // directory. Please ensure that the Cloud SQL service account has the + // directory. Ensure that the Cloud SQL service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -1516,10 +1528,10 @@ type GoogleCloudDiscoveryengineV1Conversation struct { Messages []*GoogleCloudDiscoveryengineV1ConversationMessage `json:"messages,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/dataStore/*/conve - // rsations/*` or - // `project/*/locations/global/collections/{collection}/engines/*/convers - // ations/*`. + // `projects/{project}/locations/global/collections/{collection}/dataStor + // e/*/conversations/*` or + // `projects/{project}/locations/global/collections/{collection}/engines/ + // */conversations/*`. Name string `json:"name,omitempty"` // StartTime: Output only. The time the conversation started. @@ -2541,9 +2553,9 @@ type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalPar // GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrPa // rsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -2743,8 +2755,8 @@ type GoogleCloudDiscoveryengineV1EngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -2899,7 +2911,7 @@ type GoogleCloudDiscoveryengineV1EngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -3029,7 +3041,7 @@ type GoogleCloudDiscoveryengineV1FirestoreSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Firestore export to a specific Cloud Storage - // directory. Please ensure that the Firestore service account has the + // directory. Ensure that the Firestore service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -4004,13 +4016,13 @@ func (s *GoogleCloudDiscoveryengineV1MediaInfo) UnmarshalJSON(data []byte) error type GoogleCloudDiscoveryengineV1PageInfo struct { // PageCategory: The most specific category associated with a category // page. To represent full path of category, use '>' sign to separate - // different hierarchies. If '>' is part of the category name, please - // replace it with other character(s). Category pages include special - // pages such as sales or promotions. For instance, a special sale page - // may have the category hierarchy: "pageCategory" : "Sales > 2017 - // Black Friday Deals". Required for `view-category-page` events. Other - // event types should not set this field. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // different hierarchies. If '>' is part of the category name, replace + // it with other character(s). Category pages include special pages such + // as sales or promotions. For instance, a special sale page may have + // the category hierarchy: "pageCategory" : "Sales > 2017 Black Friday + // Deals". Required for `view-category-page` events. Other event types + // should not set this field. Otherwise, an `INVALID_ARGUMENT` error is + // returned. PageCategory string `json:"pageCategory,omitempty"` // PageviewId: A unique ID of a web page view. This should be kept the @@ -4974,7 +4986,7 @@ type GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContent // ReturnExtractiveSegmentScore: Specifies whether to return the // confidence score from the extractive segments in each search result. // This feature is available only for new or allowlisted data stores. To - // allowlist your data store, please contact your Customer Engineer. The + // allowlist your data store, contact your Customer Engineer. The // default value is `false`. ReturnExtractiveSegmentScore bool `json:"returnExtractiveSegmentScore,omitempty"` @@ -5104,15 +5116,17 @@ type GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec struc // SummaryResultCount: The number of top results to generate the summary // from. If the number of results returned is less than // `summaryResultCount`, the summary is generated from all of the - // results. At most 10 results can be used to generate a summary. + // results. At most 10 results for documents mode, or 50 for chunks + // mode, can be used to generate a summary. The chunks mode is used when + // SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS. SummaryResultCount int64 `json:"summaryResultCount,omitempty"` // UseSemanticChunks: If true, answer will be generated from most // relevant chunks from top search results. This feature will improve - // summary quality. Please note that with this feature enabled, not all - // top search results will be referenced and included in the reference - // list, so the citation source index only points to the search results - // listed in the reference list. + // summary quality. Note that with this feature enabled, not all top + // search results will be referenced and included in the reference list, + // so the citation source index only points to the search results listed + // in the reference list. UseSemanticChunks bool `json:"useSemanticChunks,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -6807,8 +6821,8 @@ type GoogleCloudDiscoveryengineV1alphaAnswer struct { CreateTime string `json:"createTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*/answers/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*/answers/*` Name string `json:"name,omitempty"` // QueryUnderstandingInfo: Query understanding information. @@ -8110,9 +8124,9 @@ type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayou // GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig // OcrParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -8317,8 +8331,8 @@ type GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -8651,7 +8665,7 @@ type GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -8759,6 +8773,20 @@ func (s *GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse) MarshalJSON( // fields of a schema. For example, configuring a field is indexable, or // searchable. type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { + // AdvancedSiteSearchDataSources: If this field is set, only the + // corresponding source will be indexed for this field. Otherwise, the + // values from different sources are merged. Assuming a page with `` in + // meta tag, and `` in page map: if this enum is set to METATAGS, we + // will only index ``; if this enum is not set, we will merge them and + // index ``. + // + // Possible values: + // "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED" - Value used when + // unset. + // "METATAGS" - Retrieve value from meta tag. + // "PAGEMAP" - Retrieve value from page map. + AdvancedSiteSearchDataSources []string `json:"advancedSiteSearchDataSources,omitempty"` + // CompletableOption: If completable_option is COMPLETABLE_ENABLED, // field values are directly used and returned as suggestions for // Autocomplete in CompletionService.CompleteQuery. If @@ -8897,21 +8925,22 @@ type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { // field. SearchableOption string `json:"searchableOption,omitempty"` - // ForceSendFields is a list of field names (e.g. "CompletableOption") - // to unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CompletableOption") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -8989,81 +9018,6 @@ func (s *GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig) MarshalJSO return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata: -// Metadata related to the progress of the ImportCompletionSuggestions -// operation. This will be returned by the -// google.longrunning.Operation.metadata field. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata struct { - // CreateTime: Operation create time. - CreateTime string `json:"createTime,omitempty"` - - // UpdateTime: Operation last update time. If the operation is done, - // this is also the finish time. - UpdateTime string `json:"updateTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse: -// Response of the CompletionService.ImportCompletionSuggestions method. -// If the long running operation is done, this message is returned by -// the google.longrunning.Operations.response field if the operation is -// successful. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse struct { - // ErrorSamples: A sample of errors encountered while processing the - // request. - ErrorSamples []*GoogleRpcStatus `json:"errorSamples,omitempty"` - - // FailureCount: Count of CompletionSuggestions that failed to be - // imported. - FailureCount int64 `json:"failureCount,omitempty,string"` - - // SuccessCount: Count of CompletionSuggestions successfully imported. - SuccessCount int64 `json:"successCount,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "ErrorSamples") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ErrorSamples") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata: Metadata // related to the progress of the ImportDocuments operation. This is // returned by the google.longrunning.Operation.metadata field. @@ -9337,6 +9291,113 @@ func (s *GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse) MarshalJSON( return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1alphaProject: Metadata and configurations +// for a Google Cloud project in the service. +type GoogleCloudDiscoveryengineV1alphaProject struct { + // CreateTime: Output only. The timestamp when this project is created. + CreateTime string `json:"createTime,omitempty"` + + // Name: Output only. Full resource name of the project, for example + // `projects/{project_number}`. Note that when making requests, project + // number and project id are both acceptable, but the server will always + // respond in project number. + Name string `json:"name,omitempty"` + + // ProvisionCompletionTime: Output only. The timestamp when this project + // is successfully provisioned. Empty value means this project is still + // provisioning and is not ready for use. + ProvisionCompletionTime string `json:"provisionCompletionTime,omitempty"` + + // ServiceTermsMap: Output only. A map of terms of services. The key is + // the `id` of ServiceTerms. + ServiceTermsMap map[string]GoogleCloudDiscoveryengineV1alphaProjectServiceTerms `json:"serviceTermsMap,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProject) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProject + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProjectServiceTerms: Metadata about +// the terms of service. +type GoogleCloudDiscoveryengineV1alphaProjectServiceTerms struct { + // AcceptTime: The last time when the project agreed to the terms of + // service. + AcceptTime string `json:"acceptTime,omitempty"` + + // DeclineTime: The last time when the project declined or revoked the + // agreement to terms of service. + DeclineTime string `json:"declineTime,omitempty"` + + // Id: The unique identifier of this terms of service. Available terms: + // * `GA_DATA_USE_TERMS`: Terms for data use + // (https://cloud.google.com/retail/data-use-terms). When using this as + // `id`, the acceptable version to provide is `2022-11-23`. + Id string `json:"id,omitempty"` + + // State: Whether the project has accepted/rejected the service terms or + // it is still pending. + // + // Possible values: + // "STATE_UNSPECIFIED" - The default value of the enum. This value is + // not actually used. + // "TERMS_ACCEPTED" - The project has given consent to the terms of + // service. + // "TERMS_PENDING" - The project is pending to review and accept the + // terms of service. + // "TERMS_DECLINED" - The project has declined or revoked the + // agreement to terms of service. + State string `json:"state,omitempty"` + + // Version: The version string of the terms of service. For acceptable + // values, see the comments for id above. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceptTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceptTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProjectServiceTerms) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProjectServiceTerms + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata: Metadata +// associated with a project provision operation. +type GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata struct { +} + // GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata: Metadata // related to the progress of the PurgeDocuments operation. This will be // returned by the google.longrunning.Operation.metadata field. @@ -9803,8 +9864,8 @@ type GoogleCloudDiscoveryengineV1alphaSession struct { EndTime string `json:"endTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*` Name string `json:"name,omitempty"` // StartTime: Output only. The time the session started. @@ -10833,9 +10894,9 @@ type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigita // GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigO // crParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -11026,8 +11087,8 @@ type GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -11180,7 +11241,7 @@ type GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -11977,6 +12038,11 @@ func (s *GoogleCloudDiscoveryengineV1betaTuneEngineMetadata) MarshalJSON() ([]by return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1betaTuneEngineResponse: Response +// associated with a tune operation. +type GoogleCloudDiscoveryengineV1betaTuneEngineResponse struct { +} + // GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata: Metadata for // UpdateSchema LRO. type GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata struct { @@ -14655,6 +14721,14 @@ func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) Allow return c } +// UpdateMask sets the optional parameter "updateMask": Indicates which +// fields in the provided imported 'document' to update. If not set, +// will by default update all fields. +func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -14766,6 +14840,12 @@ func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) Do(op // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", // "required": true, // "type": "string" + // }, + // "updateMask": { + // "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v1/{+name}", @@ -16113,10 +16193,10 @@ type ProjectsLocationsCollectionsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1conversation *GoogleCloudDiscoveryengineV1Conversation) *ProjectsLocationsCollectionsDataStoresConversationsPatchCall { c := &ProjectsLocationsCollectionsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -16235,7 +16315,7 @@ func (c *ProjectsLocationsCollectionsDataStoresConversationsPatchCall) Do(opts . // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -21535,9 +21615,13 @@ type ProjectsLocationsCollectionsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsCollectionsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1userevent *GoogleCloudDiscoveryengineV1UserEvent) *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall { c := &ProjectsLocationsCollectionsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -21646,7 +21730,7 @@ func (c *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall) Do(opts ...g // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", // "required": true, @@ -23308,10 +23392,10 @@ type ProjectsLocationsCollectionsEnginesConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsEnginesConversationsService) Patch(name string, googleclouddiscoveryenginev1conversation *GoogleCloudDiscoveryengineV1Conversation) *ProjectsLocationsCollectionsEnginesConversationsPatchCall { c := &ProjectsLocationsCollectionsEnginesConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -23430,7 +23514,7 @@ func (c *ProjectsLocationsCollectionsEnginesConversationsPatchCall) Do(opts ...g // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", // "required": true, @@ -26549,6 +26633,14 @@ func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) AllowMissing(all return c } +// UpdateMask sets the optional parameter "updateMask": Indicates which +// fields in the provided imported 'document' to update. If not set, +// will by default update all fields. +func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDataStoresBranchesDocumentsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -26660,6 +26752,12 @@ func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) Do(opts ...googl // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", // "required": true, // "type": "string" + // }, + // "updateMask": { + // "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v1/{+name}", @@ -28007,10 +28105,10 @@ type ProjectsLocationsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1conversation *GoogleCloudDiscoveryengineV1Conversation) *ProjectsLocationsDataStoresConversationsPatchCall { c := &ProjectsLocationsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -28129,7 +28227,7 @@ func (c *ProjectsLocationsDataStoresConversationsPatchCall) Do(opts ...googleapi // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -32011,9 +32109,13 @@ type ProjectsLocationsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1userevent *GoogleCloudDiscoveryengineV1UserEvent) *ProjectsLocationsDataStoresUserEventsWriteCall { c := &ProjectsLocationsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -32122,7 +32224,7 @@ func (c *ProjectsLocationsDataStoresUserEventsWriteCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", // "required": true, @@ -32498,6 +32600,155 @@ func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func( } } +// method id "discoveryengine.projects.locations.userEvents.write": + +type ProjectsLocationsUserEventsWriteCall struct { + s *Service + parent string + googleclouddiscoveryenginev1userevent *GoogleCloudDiscoveryengineV1UserEvent + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Write: Writes a single user event. +// +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: +// `projects/{project}/locations/{location}/collections/{collection}/da +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsUserEventsService) Write(parent string, googleclouddiscoveryenginev1userevent *GoogleCloudDiscoveryengineV1UserEvent) *ProjectsLocationsUserEventsWriteCall { + c := &ProjectsLocationsUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googleclouddiscoveryenginev1userevent = googleclouddiscoveryenginev1userevent + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsUserEventsWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsUserEventsWriteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsUserEventsWriteCall) Context(ctx context.Context) *ProjectsLocationsUserEventsWriteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsUserEventsWriteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsUserEventsWriteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddiscoveryenginev1userevent) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userEvents:write") + 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{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.locations.userEvents.write" call. +// Exactly one of *GoogleCloudDiscoveryengineV1UserEvent or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleCloudDiscoveryengineV1UserEvent.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 *ProjectsLocationsUserEventsWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDiscoveryengineV1UserEvent, 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 := &GoogleCloudDiscoveryengineV1UserEvent{ + 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 + // { + // "description": "Writes a single user event.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:write", + // "httpMethod": "POST", + // "id": "discoveryengine.projects.locations.userEvents.write", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/userEvents:write", + // "request": { + // "$ref": "GoogleCloudDiscoveryengineV1UserEvent" + // }, + // "response": { + // "$ref": "GoogleCloudDiscoveryengineV1UserEvent" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "discoveryengine.projects.operations.get": type ProjectsOperationsGetCall struct { diff --git a/discoveryengine/v1alpha/discoveryengine-api.json b/discoveryengine/v1alpha/discoveryengine-api.json index 6c3c10291f1..dadbc52f5df 100644 --- a/discoveryengine/v1alpha/discoveryengine-api.json +++ b/discoveryengine/v1alpha/discoveryengine-api.json @@ -222,6 +222,89 @@ } }, "projects": { + "methods": { + "get": { + "description": "Gets a Project. Returns NOT_FOUND when the project is not yet created.", + "flatPath": "v1alpha/projects/{projectsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProject" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "provision": { + "description": "Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.", + "flatPath": "v1alpha/projects/{projectsId}:provision", + "httpMethod": "POST", + "id": "discoveryengine.projects.provision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:provision", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reportConsentChange": { + "description": "Updates service terms for this project. This method can be used to retroactively accept the latest terms. Terms available for update: * [Terms for data use](https://cloud.google.com/retail/data-use-terms)", + "flatPath": "v1alpha/projects/{projectsId}:reportConsentChange", + "httpMethod": "POST", + "id": "discoveryengine.projects.reportConsentChange", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+project}:reportConsentChange", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProject" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "locations": { "methods": { @@ -1284,7 +1367,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -2001,7 +2084,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", "required": true, @@ -2697,7 +2780,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -3129,7 +3212,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", "required": true, @@ -3544,7 +3627,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", "required": true, @@ -4547,7 +4630,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -5192,7 +5275,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", "required": true, @@ -5682,7 +5765,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -5870,6 +5953,71 @@ ] } } + }, + "sampleQuerySets": { + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.sampleQuerySets.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "userEvents": { + "methods": { + "write": { + "description": "Writes a single user event.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:write", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.write", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/userEvents:write", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -5946,7 +6094,7 @@ } } }, - "revision": "20240401", + "revision": "20240415", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -6420,7 +6568,8 @@ "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -6550,7 +6699,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -6621,7 +6770,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -7138,7 +7287,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" }, "queryUnderstandingInfo": { @@ -7364,7 +7513,7 @@ "type": "boolean" }, "maxRephraseSteps": { - "description": "Max rephrase steps. The max number is 10 steps. If not set or set to \u003c 1, it will be set to 1 by default.", + "description": "Max rephrase steps. The max number is 5 steps. If not set or set to \u003c 1, it will be set to 1 by default.", "format": "int32", "type": "integer" } @@ -7416,6 +7565,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", "description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" }, + "customFineTuningSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", + "description": "Custom fine tuning configs." + }, "filter": { "description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --\u003e name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" @@ -7583,6 +7736,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", "description": "Answer resource object. If AnswerQueryRequest.StepSpec.max_step_count is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." }, + "answerQueryToken": { + "description": "A global unique ID used for logging.", + "type": "string" + }, "session": { "$ref": "GoogleCloudDiscoveryengineV1alphaSession", "description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." @@ -8180,7 +8337,7 @@ "type": "integer" }, "startPos": { - "description": "Position indicating the start of the claim in the answer candidate, measured in bytes/unicode.", + "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", "format": "int32", "type": "integer" } @@ -8265,6 +8422,14 @@ "description": "Document metadata contains the information of the document of the current chunk.", "id": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", "properties": { + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", + "type": "object" + }, "title": { "description": "Title of the document.", "type": "string" @@ -8302,7 +8467,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Please ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "instanceId": { @@ -8421,7 +8586,7 @@ "type": "array" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "type": "string" }, "startTime": { @@ -9100,7 +9265,8 @@ "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -9275,7 +9441,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -9445,7 +9611,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -9623,6 +9789,23 @@ "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", "properties": { + "advancedSiteSearchDataSources": { + "description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", + "items": { + "enum": [ + "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", + "METATAGS", + "PAGEMAP" + ], + "enumDescriptions": [ + "Value used when unset.", + "Retrieve value from meta tag.", + "Retrieve value from page map." + ], + "type": "string" + }, + "type": "array" + }, "completableOption": { "description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", "enum": [ @@ -9757,7 +9940,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Please ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "projectId": { @@ -9859,47 +10042,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { - "description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", - "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "failureCount": { - "description": "Count of CompletionSuggestions that failed to be imported.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of CompletionSuggestions successfully imported.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { "description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", @@ -10445,7 +10587,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaPageInfo", "properties": { "pageCategory": { - "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, please replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" }, "pageviewId": { @@ -10524,6 +10666,100 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProject": { + "description": "Metadata and configurations for a Google Cloud project in the service.", + "id": "GoogleCloudDiscoveryengineV1alphaProject", + "properties": { + "createTime": { + "description": "Output only. The timestamp when this project is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Full resource name of the project, for example `projects/{project_number}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", + "readOnly": true, + "type": "string" + }, + "provisionCompletionTime": { + "description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "serviceTermsMap": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" + }, + "description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { + "description": "Metadata about the terms of service.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", + "properties": { + "acceptTime": { + "description": "The last time when the project agreed to the terms of service.", + "format": "google-datetime", + "type": "string" + }, + "declineTime": { + "description": "The last time when the project declined or revoked the agreement to terms of service.", + "format": "google-datetime", + "type": "string" + }, + "id": { + "description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", + "type": "string" + }, + "state": { + "description": "Whether the project has accepted/rejected the service terms or it is still pending.", + "enum": [ + "STATE_UNSPECIFIED", + "TERMS_ACCEPTED", + "TERMS_PENDING", + "TERMS_DECLINED" + ], + "enumDescriptions": [ + "The default value of the enum. This value is not actually used.", + "The project has given consent to the terms of service.", + "The project is pending to review and accept the terms of service.", + "The project has declined or revoked the agreement to terms of service." + ], + "type": "string" + }, + "version": { + "description": "The version string of the terms of service. For acceptable values, see the comments for id above.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { + "description": "Metadata associated with a project provision operation.", + "id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest": { + "description": "Request for ProjectService.ProvisionProject method.", + "id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest", + "properties": { + "acceptDataUseTerms": { + "description": "Required. Set to `true` to specify that caller has read and would like to give consent to the [Terms for data use](https://cloud.google.com/retail/data-use-terms).", + "type": "boolean" + }, + "dataUseTermsVersion": { + "description": "Required. The version of the [Terms for data use](https://cloud.google.com/retail/data-use-terms) that caller has read and would like to give consent to. Acceptable version is `2022-11-23`, and this may change over time.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { "description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", @@ -10737,7 +10973,7 @@ "type": "string" }, "records": { - "description": "Required. A list of records to rank. At most 100 records to rank.", + "description": "Required. A list of records to rank. At most 200 records to rank.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaRankingRecord" }, @@ -11050,6 +11286,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest": { + "description": "Request for ReportConsentChange method.", + "id": "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest", + "properties": { + "consentChangeAction": { + "description": "Required. Whether customer decides to accept or decline service term. At this moment, only accept action is supported.", + "enum": [ + "CONSENT_CHANGE_ACTION_UNSPECIFIED", + "ACCEPT" + ], + "enumDescriptions": [ + "Invalid action, user must specify accept/decline", + "User accepts service terms." + ], + "type": "string" + }, + "serviceTermId": { + "description": "Required. The unique identifier of the terms of service to update. Available term ids: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this service term id, the acceptable service_term_version to provide is `2022-11-23`.", + "type": "string" + }, + "serviceTermVersion": { + "description": "Required. The version string of the terms of service to update.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaResumeEngineRequest": { "description": "Request for resuming training of an engine.", "id": "GoogleCloudDiscoveryengineV1alphaResumeEngineRequest", @@ -11397,7 +11660,7 @@ "type": "integer" }, "returnExtractiveSegmentScore": { - "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, please contact your Customer Engineer. The default value is `false`.", + "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", "type": "boolean" } }, @@ -11454,12 +11717,12 @@ "description": "If specified, the spec will be used to modify the model specification provided to the LLM." }, "summaryResultCount": { - "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results can be used to generate a summary.", + "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", "format": "int32", "type": "integer" }, "useSemanticChunks": { - "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Please note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", + "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", "type": "boolean" } }, @@ -12222,7 +12485,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" }, "startTime": { @@ -13526,7 +13789,8 @@ "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -13656,7 +13920,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -13727,7 +13991,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -14193,6 +14457,12 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", diff --git a/discoveryengine/v1alpha/discoveryengine-gen.go b/discoveryengine/v1alpha/discoveryengine-gen.go index 32bd0c06d5a..2e2d254dcf7 100644 --- a/discoveryengine/v1alpha/discoveryengine-gen.go +++ b/discoveryengine/v1alpha/discoveryengine-gen.go @@ -190,6 +190,8 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.GroundingConfigs = NewProjectsLocationsGroundingConfigsService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.RankingConfigs = NewProjectsLocationsRankingConfigsService(s) + rs.SampleQuerySets = NewProjectsLocationsSampleQuerySetsService(s) + rs.UserEvents = NewProjectsLocationsUserEventsService(s) return rs } @@ -207,6 +209,10 @@ type ProjectsLocationsService struct { Operations *ProjectsLocationsOperationsService RankingConfigs *ProjectsLocationsRankingConfigsService + + SampleQuerySets *ProjectsLocationsSampleQuerySetsService + + UserEvents *ProjectsLocationsUserEventsService } func NewProjectsLocationsCollectionsService(s *Service) *ProjectsLocationsCollectionsService { @@ -815,6 +821,36 @@ type ProjectsLocationsRankingConfigsService struct { s *Service } +func NewProjectsLocationsSampleQuerySetsService(s *Service) *ProjectsLocationsSampleQuerySetsService { + rs := &ProjectsLocationsSampleQuerySetsService{s: s} + rs.Operations = NewProjectsLocationsSampleQuerySetsOperationsService(s) + return rs +} + +type ProjectsLocationsSampleQuerySetsService struct { + s *Service + + Operations *ProjectsLocationsSampleQuerySetsOperationsService +} + +func NewProjectsLocationsSampleQuerySetsOperationsService(s *Service) *ProjectsLocationsSampleQuerySetsOperationsService { + rs := &ProjectsLocationsSampleQuerySetsOperationsService{s: s} + return rs +} + +type ProjectsLocationsSampleQuerySetsOperationsService struct { + s *Service +} + +func NewProjectsLocationsUserEventsService(s *Service) *ProjectsLocationsUserEventsService { + rs := &ProjectsLocationsUserEventsService{s: s} + return rs +} + +type ProjectsLocationsUserEventsService struct { + s *Service +} + func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { rs := &ProjectsOperationsService{s: s} return rs @@ -1697,9 +1733,9 @@ type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalPar // GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrPa // rsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -1890,8 +1926,8 @@ type GoogleCloudDiscoveryengineV1EngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -2046,7 +2082,7 @@ type GoogleCloudDiscoveryengineV1EngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -2900,8 +2936,8 @@ type GoogleCloudDiscoveryengineV1alphaAnswer struct { CreateTime string `json:"createTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*/answers/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*/answers/*` Name string `json:"name,omitempty"` // QueryUnderstandingInfo: Query understanding information. @@ -3284,7 +3320,7 @@ type GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQu // Disable: Disable query rephraser. Disable bool `json:"disable,omitempty"` - // MaxRephraseSteps: Max rephrase steps. The max number is 10 steps. If + // MaxRephraseSteps: Max rephrase steps. The max number is 5 steps. If // not set or set to < 1, it will be set to 1 by default. MaxRephraseSteps int64 `json:"maxRephraseSteps,omitempty"` @@ -3411,6 +3447,9 @@ type GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams s // (https://cloud.google.com/retail/docs/boosting#boost) BoostSpec *GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec `json:"boostSpec,omitempty"` + // CustomFineTuningSpec: Custom fine tuning configs. + CustomFineTuningSpec *GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec `json:"customFineTuningSpec,omitempty"` + // Filter: The filter syntax consists of an expression language for // constructing a predicate from one or more fields of the documents // being filtered. Filter expression is case-sensitive. This will be @@ -3724,6 +3763,9 @@ type GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse struct { // ConversationalSearchService.GetAnswer API. Answer *GoogleCloudDiscoveryengineV1alphaAnswer `json:"answer,omitempty"` + // AnswerQueryToken: A global unique ID used for logging. + AnswerQueryToken string `json:"answerQueryToken,omitempty"` + // Session: Session resource object. It will be only available when // session field is set and valid in the AnswerQueryRequest request. Session *GoogleCloudDiscoveryengineV1alphaSession `json:"session,omitempty"` @@ -4758,7 +4800,7 @@ type GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim struct { EndPos int64 `json:"endPos,omitempty"` // StartPos: Position indicating the start of the claim in the answer - // candidate, measured in bytes/unicode. + // candidate, measured in bytes. StartPos int64 `json:"startPos,omitempty"` // ForceSendFields is a list of field names (e.g. "CitationIndices") to @@ -4934,13 +4976,18 @@ func (s *GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata) MarshalJSON() ([]b // metadata contains the information of the document of the current // chunk. type GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata struct { + // StructData: Data representation. The structured JSON data for the + // document. It should conform to the registered Schema or an + // `INVALID_ARGUMENT` error is thrown. + StructData googleapi.RawMessage `json:"structData,omitempty"` + // Title: Title of the document. Title string `json:"title,omitempty"` // Uri: Uri of the document. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Title") to + // ForceSendFields is a list of field names (e.g. "StructData") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4948,8 +4995,8 @@ type GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Title") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "StructData") to include in + // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -5005,7 +5052,7 @@ type GoogleCloudDiscoveryengineV1alphaCloudSqlSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Cloud SQL export to a specific Cloud Storage - // directory. Please ensure that the Cloud SQL service account has the + // directory. Ensure that the Cloud SQL service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -5244,10 +5291,10 @@ type GoogleCloudDiscoveryengineV1alphaConversation struct { Messages []*GoogleCloudDiscoveryengineV1alphaConversationMessage `json:"messages,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/dataStore/*/conve - // rsations/*` or - // `project/*/locations/global/collections/{collection}/engines/*/convers - // ations/*`. + // `projects/{project}/locations/global/collections/{collection}/dataStor + // e/*/conversations/*` or + // `projects/{project}/locations/global/collections/{collection}/engines/ + // */conversations/*`. Name string `json:"name,omitempty"` // StartTime: Output only. The time the conversation started. @@ -6485,9 +6532,9 @@ type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayou // GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig // OcrParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -6776,8 +6823,8 @@ type GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -7110,7 +7157,7 @@ type GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -7478,6 +7525,20 @@ func (s *GoogleCloudDiscoveryengineV1alphaFhirStoreSource) MarshalJSON() ([]byte // fields of a schema. For example, configuring a field is indexable, or // searchable. type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { + // AdvancedSiteSearchDataSources: If this field is set, only the + // corresponding source will be indexed for this field. Otherwise, the + // values from different sources are merged. Assuming a page with `` in + // meta tag, and `` in page map: if this enum is set to METATAGS, we + // will only index ``; if this enum is not set, we will merge them and + // index ``. + // + // Possible values: + // "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED" - Value used when + // unset. + // "METATAGS" - Retrieve value from meta tag. + // "PAGEMAP" - Retrieve value from page map. + AdvancedSiteSearchDataSources []string `json:"advancedSiteSearchDataSources,omitempty"` + // CompletableOption: If completable_option is COMPLETABLE_ENABLED, // field values are directly used and returned as suggestions for // Autocomplete in CompletionService.CompleteQuery. If @@ -7616,21 +7677,22 @@ type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { // field. SearchableOption string `json:"searchableOption,omitempty"` - // ForceSendFields is a list of field names (e.g. "CompletableOption") - // to unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CompletableOption") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -7654,7 +7716,7 @@ type GoogleCloudDiscoveryengineV1alphaFirestoreSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Firestore export to a specific Cloud Storage - // directory. Please ensure that the Firestore service account has the + // directory. Ensure that the Firestore service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -7880,14 +7942,23 @@ func (s *GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig) MarshalJSO return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata: -// Metadata related to the progress of the ImportCompletionSuggestions -// operation. This will be returned by the -// google.longrunning.Operation.metadata field. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata struct { +// GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata: Metadata +// related to the progress of the ImportDocuments operation. This is +// returned by the google.longrunning.Operation.metadata field. +type GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata struct { // CreateTime: Operation create time. CreateTime string `json:"createTime,omitempty"` + // FailureCount: Count of entries that encountered errors while + // processing. + FailureCount int64 `json:"failureCount,omitempty,string"` + + // SuccessCount: Count of entries that were processed successfully. + SuccessCount int64 `json:"successCount,omitempty,string"` + + // TotalCount: Total count of entries that were processed. + TotalCount int64 `json:"totalCount,omitempty,string"` + // UpdateTime: Operation last update time. If the operation is done, // this is also the finish time. UpdateTime string `json:"updateTime,omitempty"` @@ -7909,30 +7980,162 @@ type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata struct NullFields []string `json:"-"` } -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata +func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse: -// Response of the CompletionService.ImportCompletionSuggestions method. -// If the long running operation is done, this message is returned by -// the google.longrunning.Operations.response field if the operation is +// GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest: Request +// message for Import methods. +type GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest struct { + // AutoGenerateIds: Whether to automatically generate IDs for the + // documents if absent. If set to `true`, Document.ids are automatically + // generated based on the hash of the payload, where IDs may not be + // consistent during multiple imports. In which case + // ReconciliationMode.FULL is highly recommended to avoid duplicate + // contents. If unset or set to `false`, Document.ids have to be + // specified using id_field, otherwise, documents without IDs fail to be + // imported. Supported data sources: * GcsSource. GcsSource.data_schema + // must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is + // thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` + // or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * + // SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource. + AutoGenerateIds bool `json:"autoGenerateIds,omitempty"` + + // BigquerySource: BigQuery input source. + BigquerySource *GoogleCloudDiscoveryengineV1alphaBigQuerySource `json:"bigquerySource,omitempty"` + + // BigtableSource: Cloud Bigtable input source. + BigtableSource *GoogleCloudDiscoveryengineV1alphaBigtableSource `json:"bigtableSource,omitempty"` + + // CloudSqlSource: Cloud SQL input source. + CloudSqlSource *GoogleCloudDiscoveryengineV1alphaCloudSqlSource `json:"cloudSqlSource,omitempty"` + + // ErrorConfig: The desired location of errors incurred during the + // Import. + ErrorConfig *GoogleCloudDiscoveryengineV1alphaImportErrorConfig `json:"errorConfig,omitempty"` + + // FhirStoreSource: FhirStore input source. + FhirStoreSource *GoogleCloudDiscoveryengineV1alphaFhirStoreSource `json:"fhirStoreSource,omitempty"` + + // FirestoreSource: Firestore input source. + FirestoreSource *GoogleCloudDiscoveryengineV1alphaFirestoreSource `json:"firestoreSource,omitempty"` + + // GcsSource: Cloud Storage location for the input content. + GcsSource *GoogleCloudDiscoveryengineV1alphaGcsSource `json:"gcsSource,omitempty"` + + // IdField: The field indicates the ID field or column to be used as + // unique IDs of the documents. For GcsSource it is the key of the JSON + // field. For instance, `my_id` for JSON `{"my_id": "some_uuid"}`. For + // others, it may be the column name of the table where the unique ids + // are stored. The values of the JSON field or the table column are used + // as the Document.ids. The JSON field or the table column must be of + // string type, and the values must be set as valid strings conform to + // RFC-1034 (https://tools.ietf.org/html/rfc1034) with 1-63 characters. + // Otherwise, documents without valid IDs fail to be imported. Only set + // this field when auto_generate_ids is unset or set as `false`. + // Otherwise, an INVALID_ARGUMENT error is thrown. If it is unset, a + // default value `_id` is used when importing from the allowed data + // sources. Supported data sources: * GcsSource. GcsSource.data_schema + // must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is + // thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` + // or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * + // SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource. + IdField string `json:"idField,omitempty"` + + // InlineSource: The Inline source for the input content for documents. + InlineSource *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource `json:"inlineSource,omitempty"` + + // ReconciliationMode: The mode of reconciliation between existing + // documents and the documents to be imported. Defaults to + // ReconciliationMode.INCREMENTAL. + // + // Possible values: + // "RECONCILIATION_MODE_UNSPECIFIED" - Defaults to `INCREMENTAL`. + // "INCREMENTAL" - Inserts new documents or updates existing + // documents. + // "FULL" - Calculates diff and replaces the entire document dataset. + // Existing documents may be deleted if they are not present in the + // source location. + ReconciliationMode string `json:"reconciliationMode,omitempty"` + + // SpannerSource: Spanner input source. + SpannerSource *GoogleCloudDiscoveryengineV1alphaSpannerSource `json:"spannerSource,omitempty"` + + // UpdateMask: Indicates which fields in the provided imported documents + // to update. If not set, the default is to update all fields. + UpdateMask string `json:"updateMask,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoGenerateIds") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoGenerateIds") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource: +// The inline source for the input config for ImportDocuments method. +type GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource struct { + // Documents: Required. A list of documents to update/create. Each + // document must have a valid Document.id. Recommended max of 100 items. + Documents []*GoogleCloudDiscoveryengineV1alphaDocument `json:"documents,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Documents") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Documents") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse: Response of +// the ImportDocumentsRequest. If the long running operation is done, +// then this message is returned by the +// google.longrunning.Operations.response field if the operation was // successful. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse struct { +type GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse struct { + // ErrorConfig: Echoes the destination for the complete errors in the + // request if set. + ErrorConfig *GoogleCloudDiscoveryengineV1alphaImportErrorConfig `json:"errorConfig,omitempty"` + // ErrorSamples: A sample of errors encountered while processing the // request. ErrorSamples []*GoogleRpcStatus `json:"errorSamples,omitempty"` - // FailureCount: Count of CompletionSuggestions that failed to be - // imported. - FailureCount int64 `json:"failureCount,omitempty,string"` - - // SuccessCount: Count of CompletionSuggestions successfully imported. - SuccessCount int64 `json:"successCount,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "ErrorSamples") to + // ForceSendFields is a list of field names (e.g. "ErrorConfig") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -7940,7 +8143,7 @@ type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse struct // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ErrorSamples") to include + // NullFields is a list of field names (e.g. "ErrorConfig") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -7949,267 +8152,51 @@ type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse struct NullFields []string `json:"-"` } -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse +func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata: Metadata -// related to the progress of the ImportDocuments operation. This is -// returned by the google.longrunning.Operation.metadata field. -type GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata struct { - // CreateTime: Operation create time. - CreateTime string `json:"createTime,omitempty"` +// GoogleCloudDiscoveryengineV1alphaImportErrorConfig: Configuration of +// destination for Import related errors. +type GoogleCloudDiscoveryengineV1alphaImportErrorConfig struct { + // GcsPrefix: Cloud Storage prefix for import errors. This must be an + // empty, existing Cloud Storage directory. Import errors are written to + // sharded files in this directory, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `json:"gcsPrefix,omitempty"` - // FailureCount: Count of entries that encountered errors while - // processing. - FailureCount int64 `json:"failureCount,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "GcsPrefix") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` - // SuccessCount: Count of entries that were processed successfully. - SuccessCount int64 `json:"successCount,omitempty,string"` + // NullFields is a list of field names (e.g. "GcsPrefix") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} - // TotalCount: Total count of entries that were processed. - TotalCount int64 `json:"totalCount,omitempty,string"` - - // UpdateTime: Operation last update time. If the operation is done, - // this is also the finish time. - UpdateTime string `json:"updateTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest: Request -// message for Import methods. -type GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest struct { - // AutoGenerateIds: Whether to automatically generate IDs for the - // documents if absent. If set to `true`, Document.ids are automatically - // generated based on the hash of the payload, where IDs may not be - // consistent during multiple imports. In which case - // ReconciliationMode.FULL is highly recommended to avoid duplicate - // contents. If unset or set to `false`, Document.ids have to be - // specified using id_field, otherwise, documents without IDs fail to be - // imported. Supported data sources: * GcsSource. GcsSource.data_schema - // must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is - // thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` - // or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * - // SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource. - AutoGenerateIds bool `json:"autoGenerateIds,omitempty"` - - // BigquerySource: BigQuery input source. - BigquerySource *GoogleCloudDiscoveryengineV1alphaBigQuerySource `json:"bigquerySource,omitempty"` - - // BigtableSource: Cloud Bigtable input source. - BigtableSource *GoogleCloudDiscoveryengineV1alphaBigtableSource `json:"bigtableSource,omitempty"` - - // CloudSqlSource: Cloud SQL input source. - CloudSqlSource *GoogleCloudDiscoveryengineV1alphaCloudSqlSource `json:"cloudSqlSource,omitempty"` - - // ErrorConfig: The desired location of errors incurred during the - // Import. - ErrorConfig *GoogleCloudDiscoveryengineV1alphaImportErrorConfig `json:"errorConfig,omitempty"` - - // FhirStoreSource: FhirStore input source. - FhirStoreSource *GoogleCloudDiscoveryengineV1alphaFhirStoreSource `json:"fhirStoreSource,omitempty"` - - // FirestoreSource: Firestore input source. - FirestoreSource *GoogleCloudDiscoveryengineV1alphaFirestoreSource `json:"firestoreSource,omitempty"` - - // GcsSource: Cloud Storage location for the input content. - GcsSource *GoogleCloudDiscoveryengineV1alphaGcsSource `json:"gcsSource,omitempty"` - - // IdField: The field indicates the ID field or column to be used as - // unique IDs of the documents. For GcsSource it is the key of the JSON - // field. For instance, `my_id` for JSON `{"my_id": "some_uuid"}`. For - // others, it may be the column name of the table where the unique ids - // are stored. The values of the JSON field or the table column are used - // as the Document.ids. The JSON field or the table column must be of - // string type, and the values must be set as valid strings conform to - // RFC-1034 (https://tools.ietf.org/html/rfc1034) with 1-63 characters. - // Otherwise, documents without valid IDs fail to be imported. Only set - // this field when auto_generate_ids is unset or set as `false`. - // Otherwise, an INVALID_ARGUMENT error is thrown. If it is unset, a - // default value `_id` is used when importing from the allowed data - // sources. Supported data sources: * GcsSource. GcsSource.data_schema - // must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is - // thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` - // or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * - // SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource. - IdField string `json:"idField,omitempty"` - - // InlineSource: The Inline source for the input content for documents. - InlineSource *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource `json:"inlineSource,omitempty"` - - // ReconciliationMode: The mode of reconciliation between existing - // documents and the documents to be imported. Defaults to - // ReconciliationMode.INCREMENTAL. - // - // Possible values: - // "RECONCILIATION_MODE_UNSPECIFIED" - Defaults to `INCREMENTAL`. - // "INCREMENTAL" - Inserts new documents or updates existing - // documents. - // "FULL" - Calculates diff and replaces the entire document dataset. - // Existing documents may be deleted if they are not present in the - // source location. - ReconciliationMode string `json:"reconciliationMode,omitempty"` - - // SpannerSource: Spanner input source. - SpannerSource *GoogleCloudDiscoveryengineV1alphaSpannerSource `json:"spannerSource,omitempty"` - - // UpdateMask: Indicates which fields in the provided imported documents - // to update. If not set, the default is to update all fields. - UpdateMask string `json:"updateMask,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AutoGenerateIds") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AutoGenerateIds") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource: -// The inline source for the input config for ImportDocuments method. -type GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource struct { - // Documents: Required. A list of documents to update/create. Each - // document must have a valid Document.id. Recommended max of 100 items. - Documents []*GoogleCloudDiscoveryengineV1alphaDocument `json:"documents,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Documents") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Documents") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsRequestInlineSource - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse: Response of -// the ImportDocumentsRequest. If the long running operation is done, -// then this message is returned by the -// google.longrunning.Operations.response field if the operation was -// successful. -type GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse struct { - // ErrorConfig: Echoes the destination for the complete errors in the - // request if set. - ErrorConfig *GoogleCloudDiscoveryengineV1alphaImportErrorConfig `json:"errorConfig,omitempty"` - - // ErrorSamples: A sample of errors encountered while processing the - // request. - ErrorSamples []*GoogleRpcStatus `json:"errorSamples,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ErrorConfig") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ErrorConfig") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportErrorConfig: Configuration of -// destination for Import related errors. -type GoogleCloudDiscoveryengineV1alphaImportErrorConfig struct { - // GcsPrefix: Cloud Storage prefix for import errors. This must be an - // empty, existing Cloud Storage directory. Import errors are written to - // sharded files in this directory, one per line, as a JSON-encoded - // `google.rpc.Status` message. - GcsPrefix string `json:"gcsPrefix,omitempty"` - - // ForceSendFields is a list of field names (e.g. "GcsPrefix") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "GcsPrefix") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportErrorConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportErrorConfig - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetada -// ta: Metadata related to the progress of the -// ImportSuggestionDenyListEntries operation. This is returned by the -// google.longrunning.Operation.metadata field. -type GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata struct { - // CreateTime: Operation create time. - CreateTime string `json:"createTime,omitempty"` +func (s *GoogleCloudDiscoveryengineV1alphaImportErrorConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaImportErrorConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetada +// ta: Metadata related to the progress of the +// ImportSuggestionDenyListEntries operation. This is returned by the +// google.longrunning.Operation.metadata field. +type GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata struct { + // CreateTime: Operation create time. + CreateTime string `json:"createTime,omitempty"` // UpdateTime: Operation last update time. If the operation is done, // this is also the finish time. @@ -9025,13 +9012,13 @@ func (s *GoogleCloudDiscoveryengineV1alphaMediaInfo) UnmarshalJSON(data []byte) type GoogleCloudDiscoveryengineV1alphaPageInfo struct { // PageCategory: The most specific category associated with a category // page. To represent full path of category, use '>' sign to separate - // different hierarchies. If '>' is part of the category name, please - // replace it with other character(s). Category pages include special - // pages such as sales or promotions. For instance, a special sale page - // may have the category hierarchy: "pageCategory" : "Sales > 2017 - // Black Friday Deals". Required for `view-category-page` events. Other - // event types should not set this field. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // different hierarchies. If '>' is part of the category name, replace + // it with other character(s). Category pages include special pages such + // as sales or promotions. For instance, a special sale page may have + // the category hierarchy: "pageCategory" : "Sales > 2017 Black Friday + // Deals". Required for `view-category-page` events. Other event types + // should not set this field. Otherwise, an `INVALID_ARGUMENT` error is + // returned. PageCategory string `json:"pageCategory,omitempty"` // PageviewId: A unique ID of a web page view. This should be kept the @@ -9201,6 +9188,155 @@ func (s *GoogleCloudDiscoveryengineV1alphaProcessedDocument) MarshalJSON() ([]by return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1alphaProject: Metadata and configurations +// for a Google Cloud project in the service. +type GoogleCloudDiscoveryengineV1alphaProject struct { + // CreateTime: Output only. The timestamp when this project is created. + CreateTime string `json:"createTime,omitempty"` + + // Name: Output only. Full resource name of the project, for example + // `projects/{project_number}`. Note that when making requests, project + // number and project id are both acceptable, but the server will always + // respond in project number. + Name string `json:"name,omitempty"` + + // ProvisionCompletionTime: Output only. The timestamp when this project + // is successfully provisioned. Empty value means this project is still + // provisioning and is not ready for use. + ProvisionCompletionTime string `json:"provisionCompletionTime,omitempty"` + + // ServiceTermsMap: Output only. A map of terms of services. The key is + // the `id` of ServiceTerms. + ServiceTermsMap map[string]GoogleCloudDiscoveryengineV1alphaProjectServiceTerms `json:"serviceTermsMap,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProject) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProject + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProjectServiceTerms: Metadata about +// the terms of service. +type GoogleCloudDiscoveryengineV1alphaProjectServiceTerms struct { + // AcceptTime: The last time when the project agreed to the terms of + // service. + AcceptTime string `json:"acceptTime,omitempty"` + + // DeclineTime: The last time when the project declined or revoked the + // agreement to terms of service. + DeclineTime string `json:"declineTime,omitempty"` + + // Id: The unique identifier of this terms of service. Available terms: + // * `GA_DATA_USE_TERMS`: Terms for data use + // (https://cloud.google.com/retail/data-use-terms). When using this as + // `id`, the acceptable version to provide is `2022-11-23`. + Id string `json:"id,omitempty"` + + // State: Whether the project has accepted/rejected the service terms or + // it is still pending. + // + // Possible values: + // "STATE_UNSPECIFIED" - The default value of the enum. This value is + // not actually used. + // "TERMS_ACCEPTED" - The project has given consent to the terms of + // service. + // "TERMS_PENDING" - The project is pending to review and accept the + // terms of service. + // "TERMS_DECLINED" - The project has declined or revoked the + // agreement to terms of service. + State string `json:"state,omitempty"` + + // Version: The version string of the terms of service. For acceptable + // values, see the comments for id above. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceptTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceptTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProjectServiceTerms) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProjectServiceTerms + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata: Metadata +// associated with a project provision operation. +type GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata struct { +} + +// GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest: Request for +// ProjectService.ProvisionProject method. +type GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest struct { + // AcceptDataUseTerms: Required. Set to `true` to specify that caller + // has read and would like to give consent to the Terms for data use + // (https://cloud.google.com/retail/data-use-terms). + AcceptDataUseTerms bool `json:"acceptDataUseTerms,omitempty"` + + // DataUseTermsVersion: Required. The version of the Terms for data use + // (https://cloud.google.com/retail/data-use-terms) that caller has read + // and would like to give consent to. Acceptable version is + // `2022-11-23`, and this may change over time. + DataUseTermsVersion string `json:"dataUseTermsVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceptDataUseTerms") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceptDataUseTerms") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata: Metadata // related to the progress of the PurgeDocuments operation. This will be // returned by the google.longrunning.Operation.metadata field. @@ -9601,7 +9737,7 @@ type GoogleCloudDiscoveryengineV1alphaRankRequest struct { // Query: The query to use. Query string `json:"query,omitempty"` - // Records: Required. A list of records to rank. At most 100 records to + // Records: Required. A list of records to rank. At most 200 records to // rank. Records []*GoogleCloudDiscoveryengineV1alphaRankingRecord `json:"records,omitempty"` @@ -10181,6 +10317,54 @@ func (s *GoogleCloudDiscoveryengineV1alphaReplyReference) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest: Request +// for ReportConsentChange method. +type GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest struct { + // ConsentChangeAction: Required. Whether customer decides to accept or + // decline service term. At this moment, only accept action is + // supported. + // + // Possible values: + // "CONSENT_CHANGE_ACTION_UNSPECIFIED" - Invalid action, user must + // specify accept/decline + // "ACCEPT" - User accepts service terms. + ConsentChangeAction string `json:"consentChangeAction,omitempty"` + + // ServiceTermId: Required. The unique identifier of the terms of + // service to update. Available term ids: * `GA_DATA_USE_TERMS`: Terms + // for data use (https://cloud.google.com/retail/data-use-terms). When + // using this service term id, the acceptable service_term_version to + // provide is `2022-11-23`. + ServiceTermId string `json:"serviceTermId,omitempty"` + + // ServiceTermVersion: Required. The version string of the terms of + // service to update. + ServiceTermVersion string `json:"serviceTermVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConsentChangeAction") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsentChangeAction") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudDiscoveryengineV1alphaResumeEngineRequest: Request for // resuming training of an engine. type GoogleCloudDiscoveryengineV1alphaResumeEngineRequest struct { @@ -10843,7 +11027,7 @@ type GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveCo // ReturnExtractiveSegmentScore: Specifies whether to return the // confidence score from the extractive segments in each search result. // This feature is available only for new or allowlisted data stores. To - // allowlist your data store, please contact your Customer Engineer. The + // allowlist your data store, contact your Customer Engineer. The // default value is `false`. ReturnExtractiveSegmentScore bool `json:"returnExtractiveSegmentScore,omitempty"` @@ -10970,15 +11154,17 @@ type GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec // SummaryResultCount: The number of top results to generate the summary // from. If the number of results returned is less than // `summaryResultCount`, the summary is generated from all of the - // results. At most 10 results can be used to generate a summary. + // results. At most 10 results for documents mode, or 50 for chunks + // mode, can be used to generate a summary. The chunks mode is used when + // SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS. SummaryResultCount int64 `json:"summaryResultCount,omitempty"` // UseSemanticChunks: If true, answer will be generated from most // relevant chunks from top search results. This feature will improve - // summary quality. Please note that with this feature enabled, not all - // top search results will be referenced and included in the reference - // list, so the citation source index only points to the search results - // listed in the reference list. + // summary quality. Note that with this feature enabled, not all top + // search results will be referenced and included in the reference list, + // so the citation source index only points to the search results listed + // in the reference list. UseSemanticChunks bool `json:"useSemanticChunks,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -12381,8 +12567,8 @@ type GoogleCloudDiscoveryengineV1alphaSession struct { EndTime string `json:"endTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*` Name string `json:"name,omitempty"` // StartTime: Output only. The time the session started. @@ -14634,9 +14820,9 @@ type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigita // GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigO // crParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -14827,8 +15013,8 @@ type GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -14981,7 +15167,7 @@ type GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -15778,6 +15964,11 @@ func (s *GoogleCloudDiscoveryengineV1betaTuneEngineMetadata) MarshalJSON() ([]by return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1betaTuneEngineResponse: Response +// associated with a tune operation. +type GoogleCloudDiscoveryengineV1betaTuneEngineResponse struct { +} + // GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata: Metadata for // UpdateSchema LRO. type GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata struct { @@ -16635,6 +16826,451 @@ func (c *LocationsWidgetSearchCall) Do(opts ...googleapi.CallOption) (*GoogleClo } +// method id "discoveryengine.projects.get": + +type ProjectsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a Project. Returns NOT_FOUND when the project is not yet +// created. +// +// - name: Full resource name of a Project, such as +// `projects/{project_id_or_number}`. +func (r *ProjectsService) Get(name string) *ProjectsGetCall { + c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + 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, "v1alpha/{+name}") + 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{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.get" call. +// Exactly one of *GoogleCloudDiscoveryengineV1alphaProject or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudDiscoveryengineV1alphaProject.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 *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDiscoveryengineV1alphaProject, 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 := &GoogleCloudDiscoveryengineV1alphaProject{ + 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 + // { + // "description": "Gets a Project. Returns NOT_FOUND when the project is not yet created.", + // "flatPath": "v1alpha/projects/{projectsId}", + // "httpMethod": "GET", + // "id": "discoveryengine.projects.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}", + // "response": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaProject" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "discoveryengine.projects.provision": + +type ProjectsProvisionCall struct { + s *Service + name string + googleclouddiscoveryenginev1alphaprovisionprojectrequest *GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Provision: Provisions the project resource. During the process, +// related systems will get prepared and initialized. Caller must read +// the Terms for data use +// (https://cloud.google.com/retail/data-use-terms), and optionally +// specify in request to provide consent to that service terms. +// +// - name: Full resource name of a Project, such as +// `projects/{project_id_or_number}`. +func (r *ProjectsService) Provision(name string, googleclouddiscoveryenginev1alphaprovisionprojectrequest *GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest) *ProjectsProvisionCall { + c := &ProjectsProvisionCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googleclouddiscoveryenginev1alphaprovisionprojectrequest = googleclouddiscoveryenginev1alphaprovisionprojectrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsProvisionCall) Fields(s ...googleapi.Field) *ProjectsProvisionCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsProvisionCall) Context(ctx context.Context) *ProjectsProvisionCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsProvisionCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsProvisionCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddiscoveryenginev1alphaprovisionprojectrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:provision") + 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{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.provision" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.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 *ProjectsProvisionCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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 := &GoogleLongrunningOperation{ + 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 + // { + // "description": "Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.", + // "flatPath": "v1alpha/projects/{projectsId}:provision", + // "httpMethod": "POST", + // "id": "discoveryengine.projects.provision", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}:provision", + // "request": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaProvisionProjectRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "discoveryengine.projects.reportConsentChange": + +type ProjectsReportConsentChangeCall struct { + s *Service + project string + googleclouddiscoveryenginev1alphareportconsentchangerequest *GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ReportConsentChange: Updates service terms for this project. This +// method can be used to retroactively accept the latest terms. Terms +// available for update: * Terms for data use +// (https://cloud.google.com/retail/data-use-terms) +// +// - project: Full resource name of a Project, such as +// `projects/{project_id_or_number}`. +func (r *ProjectsService) ReportConsentChange(project string, googleclouddiscoveryenginev1alphareportconsentchangerequest *GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest) *ProjectsReportConsentChangeCall { + c := &ProjectsReportConsentChangeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.googleclouddiscoveryenginev1alphareportconsentchangerequest = googleclouddiscoveryenginev1alphareportconsentchangerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsReportConsentChangeCall) Fields(s ...googleapi.Field) *ProjectsReportConsentChangeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsReportConsentChangeCall) Context(ctx context.Context) *ProjectsReportConsentChangeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsReportConsentChangeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsReportConsentChangeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddiscoveryenginev1alphareportconsentchangerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+project}:reportConsentChange") + 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{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.reportConsentChange" call. +// Exactly one of *GoogleCloudDiscoveryengineV1alphaProject or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudDiscoveryengineV1alphaProject.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 *ProjectsReportConsentChangeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDiscoveryengineV1alphaProject, 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 := &GoogleCloudDiscoveryengineV1alphaProject{ + 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 + // { + // "description": "Updates service terms for this project. This method can be used to retroactively accept the latest terms. Terms available for update: * [Terms for data use](https://cloud.google.com/retail/data-use-terms)", + // "flatPath": "v1alpha/projects/{projectsId}:reportConsentChange", + // "httpMethod": "POST", + // "id": "discoveryengine.projects.reportConsentChange", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "project": { + // "description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+project}:reportConsentChange", + // "request": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaReportConsentChangeRequest" + // }, + // "response": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaProject" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "discoveryengine.projects.locations.estimateDataSize": type ProjectsLocationsEstimateDataSizeCall struct { @@ -22002,10 +22638,10 @@ type ProjectsLocationsCollectionsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1alphaconversation *GoogleCloudDiscoveryengineV1alphaConversation) *ProjectsLocationsCollectionsDataStoresConversationsPatchCall { c := &ProjectsLocationsCollectionsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -22124,7 +22760,7 @@ func (c *ProjectsLocationsCollectionsDataStoresConversationsPatchCall) Do(opts . // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -25684,8 +26320,8 @@ type ProjectsLocationsCollectionsDataStoresSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsCollectionsDataStoresSessionsService) Patch(name string, googleclouddiscoveryenginev1alphasession *GoogleCloudDiscoveryengineV1alphaSession) *ProjectsLocationsCollectionsDataStoresSessionsPatchCall { c := &ProjectsLocationsCollectionsDataStoresSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -25804,7 +26440,7 @@ func (c *ProjectsLocationsCollectionsDataStoresSessionsPatchCall) Do(opts ...goo // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", // "required": true, @@ -29207,9 +29843,13 @@ type ProjectsLocationsCollectionsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsCollectionsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1alphauserevent *GoogleCloudDiscoveryengineV1alphaUserEvent) *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall { c := &ProjectsLocationsCollectionsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -29319,7 +29959,7 @@ func (c *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall) Do(opts ...g // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", // "required": true, @@ -31417,10 +32057,10 @@ type ProjectsLocationsCollectionsEnginesConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsEnginesConversationsService) Patch(name string, googleclouddiscoveryenginev1alphaconversation *GoogleCloudDiscoveryengineV1alphaConversation) *ProjectsLocationsCollectionsEnginesConversationsPatchCall { c := &ProjectsLocationsCollectionsEnginesConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -31539,7 +32179,7 @@ func (c *ProjectsLocationsCollectionsEnginesConversationsPatchCall) Do(opts ...g // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", // "required": true, @@ -33587,8 +34227,8 @@ type ProjectsLocationsCollectionsEnginesSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsCollectionsEnginesSessionsService) Patch(name string, googleclouddiscoveryenginev1alphasession *GoogleCloudDiscoveryengineV1alphaSession) *ProjectsLocationsCollectionsEnginesSessionsPatchCall { c := &ProjectsLocationsCollectionsEnginesSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -33707,7 +34347,7 @@ func (c *ProjectsLocationsCollectionsEnginesSessionsPatchCall) Do(opts ...google // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", // "required": true, @@ -38663,10 +39303,10 @@ type ProjectsLocationsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1alphaconversation *GoogleCloudDiscoveryengineV1alphaConversation) *ProjectsLocationsDataStoresConversationsPatchCall { c := &ProjectsLocationsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -38785,7 +39425,7 @@ func (c *ProjectsLocationsDataStoresConversationsPatchCall) Do(opts ...googleapi // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -41990,8 +42630,8 @@ type ProjectsLocationsDataStoresSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsDataStoresSessionsService) Patch(name string, googleclouddiscoveryenginev1alphasession *GoogleCloudDiscoveryengineV1alphaSession) *ProjectsLocationsDataStoresSessionsPatchCall { c := &ProjectsLocationsDataStoresSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -42110,7 +42750,7 @@ func (c *ProjectsLocationsDataStoresSessionsPatchCall) Do(opts ...googleapi.Call // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", // "required": true, @@ -44450,9 +45090,13 @@ type ProjectsLocationsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1alphauserevent *GoogleCloudDiscoveryengineV1alphaUserEvent) *ProjectsLocationsDataStoresUserEventsWriteCall { c := &ProjectsLocationsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -44562,7 +45206,7 @@ func (c *ProjectsLocationsDataStoresUserEventsWriteCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", // "required": true, @@ -45380,6 +46024,304 @@ func (c *ProjectsLocationsRankingConfigsRankCall) Do(opts ...googleapi.CallOptio } +// method id "discoveryengine.projects.locations.sampleQuerySets.operations.get": + +type ProjectsLocationsSampleQuerySetsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this method to poll the operation result at intervals as +// recommended by the API service. +// +// - name: The name of the operation resource. +func (r *ProjectsLocationsSampleQuerySetsOperationsService) Get(name string) *ProjectsLocationsSampleQuerySetsOperationsGetCall { + c := &ProjectsLocationsSampleQuerySetsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsSampleQuerySetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSampleQuerySetsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the 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. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsSampleQuerySetsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsSampleQuerySetsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsSampleQuerySetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSampleQuerySetsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsSampleQuerySetsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsSampleQuerySetsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + 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, "v1alpha/{+name}") + 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{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.locations.sampleQuerySets.operations.get" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.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 *ProjectsLocationsSampleQuerySetsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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 := &GoogleLongrunningOperation{ + 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 + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "discoveryengine.projects.locations.sampleQuerySets.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}", + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "discoveryengine.projects.locations.userEvents.write": + +type ProjectsLocationsUserEventsWriteCall struct { + s *Service + parent string + googleclouddiscoveryenginev1alphauserevent *GoogleCloudDiscoveryengineV1alphaUserEvent + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Write: Writes a single user event. +// +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: +// `projects/{project}/locations/{location}/collections/{collection}/da +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsUserEventsService) Write(parent string, googleclouddiscoveryenginev1alphauserevent *GoogleCloudDiscoveryengineV1alphaUserEvent) *ProjectsLocationsUserEventsWriteCall { + c := &ProjectsLocationsUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googleclouddiscoveryenginev1alphauserevent = googleclouddiscoveryenginev1alphauserevent + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsUserEventsWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsUserEventsWriteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsUserEventsWriteCall) Context(ctx context.Context) *ProjectsLocationsUserEventsWriteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsUserEventsWriteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsUserEventsWriteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddiscoveryenginev1alphauserevent) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/userEvents:write") + 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{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.locations.userEvents.write" call. +// Exactly one of *GoogleCloudDiscoveryengineV1alphaUserEvent or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudDiscoveryengineV1alphaUserEvent.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 *ProjectsLocationsUserEventsWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDiscoveryengineV1alphaUserEvent, 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 := &GoogleCloudDiscoveryengineV1alphaUserEvent{ + 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 + // { + // "description": "Writes a single user event.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:write", + // "httpMethod": "POST", + // "id": "discoveryengine.projects.locations.userEvents.write", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+parent}/userEvents:write", + // "request": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" + // }, + // "response": { + // "$ref": "GoogleCloudDiscoveryengineV1alphaUserEvent" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "discoveryengine.projects.operations.get": type ProjectsOperationsGetCall struct { diff --git a/discoveryengine/v1beta/discoveryengine-api.json b/discoveryengine/v1beta/discoveryengine-api.json index ba711f3ed37..24b6546dd67 100644 --- a/discoveryengine/v1beta/discoveryengine-api.json +++ b/discoveryengine/v1beta/discoveryengine-api.json @@ -621,6 +621,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "v1beta/{+name}", @@ -900,7 +906,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -1617,7 +1623,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", "required": true, @@ -2285,7 +2291,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -2717,7 +2723,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", "required": true, @@ -3132,7 +3138,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", "required": true, @@ -3671,6 +3677,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, "path": "v1beta/{+name}", @@ -3950,7 +3962,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", "required": true, @@ -4595,7 +4607,7 @@ ], "parameters": { "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", "required": true, @@ -5057,7 +5069,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -5212,6 +5224,38 @@ ] } } + }, + "userEvents": { + "methods": { + "write": { + "description": "Writes a single user event.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:write", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.write", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/userEvents:write", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -5288,7 +5332,7 @@ } } }, - "revision": "20240401", + "revision": "20240415", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5762,7 +5806,8 @@ "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -5892,7 +5937,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -5963,7 +6008,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -6469,7 +6514,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" }, "queryUnderstandingInfo": { @@ -7213,7 +7258,8 @@ "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -7356,7 +7402,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -7526,7 +7572,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -7581,6 +7627,23 @@ "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", "properties": { + "advancedSiteSearchDataSources": { + "description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", + "items": { + "enum": [ + "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", + "METATAGS", + "PAGEMAP" + ], + "enumDescriptions": [ + "Value used when unset.", + "Retrieve value from meta tag.", + "Retrieve value from page map." + ], + "type": "string" + }, + "type": "array" + }, "completableOption": { "description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", "enum": [ @@ -7738,47 +7801,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { - "description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", - "id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", - "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "failureCount": { - "description": "Count of CompletionSuggestions that failed to be imported.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of CompletionSuggestions successfully imported.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { "description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", @@ -7936,6 +7958,85 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaProject": { + "description": "Metadata and configurations for a Google Cloud project in the service.", + "id": "GoogleCloudDiscoveryengineV1alphaProject", + "properties": { + "createTime": { + "description": "Output only. The timestamp when this project is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Full resource name of the project, for example `projects/{project_number}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", + "readOnly": true, + "type": "string" + }, + "provisionCompletionTime": { + "description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "serviceTermsMap": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" + }, + "description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { + "description": "Metadata about the terms of service.", + "id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", + "properties": { + "acceptTime": { + "description": "The last time when the project agreed to the terms of service.", + "format": "google-datetime", + "type": "string" + }, + "declineTime": { + "description": "The last time when the project declined or revoked the agreement to terms of service.", + "format": "google-datetime", + "type": "string" + }, + "id": { + "description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", + "type": "string" + }, + "state": { + "description": "Whether the project has accepted/rejected the service terms or it is still pending.", + "enum": [ + "STATE_UNSPECIFIED", + "TERMS_ACCEPTED", + "TERMS_PENDING", + "TERMS_DECLINED" + ], + "enumDescriptions": [ + "The default value of the enum. This value is not actually used.", + "The project has given consent to the terms of service.", + "The project is pending to review and accept the terms of service.", + "The project has declined or revoked the agreement to terms of service." + ], + "type": "string" + }, + "version": { + "description": "The version string of the terms of service. For acceptable values, see the comments for id above.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { + "description": "Metadata associated with a project provision operation.", + "id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { "description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", @@ -8227,7 +8328,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" }, "startTime": { @@ -8549,7 +8650,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" }, "queryUnderstandingInfo": { @@ -8775,7 +8876,7 @@ "type": "boolean" }, "maxRephraseSteps": { - "description": "Max rephrase steps. The max number is 10 steps. If not set or set to \u003c 1, it will be set to 1 by default.", + "description": "Max rephrase steps. The max number is 5 steps. If not set or set to \u003c 1, it will be set to 1 by default.", "format": "int32", "type": "integer" } @@ -8980,6 +9081,10 @@ "$ref": "GoogleCloudDiscoveryengineV1betaAnswer", "description": "Answer resource object. If AnswerQueryRequest.StepSpec.max_step_count is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." }, + "answerQueryToken": { + "description": "A global unique ID used for logging.", + "type": "string" + }, "session": { "$ref": "GoogleCloudDiscoveryengineV1betaSession", "description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." @@ -9577,7 +9682,7 @@ "type": "integer" }, "startPos": { - "description": "Position indicating the start of the claim in the answer candidate, measured in bytes/unicode.", + "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", "format": "int32", "type": "integer" } @@ -9605,7 +9710,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Please ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "instanceId": { @@ -9697,7 +9802,7 @@ "type": "array" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "type": "string" }, "startTime": { @@ -10279,7 +10384,8 @@ "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { "enhancedDocumentElements": { - "description": "Apply additional enhanced OCR processing to a list of document elements. Supported values: * `table`: advanced table parsing model.", + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", "items": { "type": "string" }, @@ -10441,7 +10547,7 @@ "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Please use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" } }, @@ -10512,7 +10618,7 @@ "type": "array" }, "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, please check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", "enum": [ "SEARCH_TIER_UNSPECIFIED", "SEARCH_TIER_STANDARD", @@ -10601,7 +10707,7 @@ "type": "string" }, "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Please ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, "projectId": { @@ -11152,7 +11258,7 @@ "id": "GoogleCloudDiscoveryengineV1betaPageInfo", "properties": { "pageCategory": { - "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, please replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "The most specific category associated with a category page. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales \u003e 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" }, "pageviewId": { @@ -11341,7 +11447,7 @@ "type": "string" }, "records": { - "description": "Required. A list of records to rank. At most 100 records to rank.", + "description": "Required. A list of records to rank. At most 200 records to rank.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaRankingRecord" }, @@ -11842,7 +11948,7 @@ "type": "integer" }, "returnExtractiveSegmentScore": { - "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, please contact your Customer Engineer. The default value is `false`.", + "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", "type": "boolean" } }, @@ -11899,12 +12005,12 @@ "description": "If specified, the spec will be used to modify the model specification provided to the LLM." }, "summaryResultCount": { - "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results can be used to generate a summary.", + "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", "format": "int32", "type": "integer" }, "useSemanticChunks": { - "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Please note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", + "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", "type": "boolean" } }, @@ -12655,7 +12761,7 @@ "type": "string" }, "name": { - "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" }, "startTime": { @@ -13049,6 +13155,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", diff --git a/discoveryengine/v1beta/discoveryengine-gen.go b/discoveryengine/v1beta/discoveryengine-gen.go index 2fdb838c7ac..1802fb8ba16 100644 --- a/discoveryengine/v1beta/discoveryengine-gen.go +++ b/discoveryengine/v1beta/discoveryengine-gen.go @@ -177,6 +177,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.GroundingConfigs = NewProjectsLocationsGroundingConfigsService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.RankingConfigs = NewProjectsLocationsRankingConfigsService(s) + rs.UserEvents = NewProjectsLocationsUserEventsService(s) return rs } @@ -192,6 +193,8 @@ type ProjectsLocationsService struct { Operations *ProjectsLocationsOperationsService RankingConfigs *ProjectsLocationsRankingConfigsService + + UserEvents *ProjectsLocationsUserEventsService } func NewProjectsLocationsCollectionsService(s *Service) *ProjectsLocationsCollectionsService { @@ -755,6 +758,15 @@ type ProjectsLocationsRankingConfigsService struct { s *Service } +func NewProjectsLocationsUserEventsService(s *Service) *ProjectsLocationsUserEventsService { + rs := &ProjectsLocationsUserEventsService{s: s} + return rs +} + +type ProjectsLocationsUserEventsService struct { + s *Service +} + func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { rs := &ProjectsOperationsService{s: s} return rs @@ -1637,9 +1649,9 @@ type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalPar // GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrPa // rsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -1830,8 +1842,8 @@ type GoogleCloudDiscoveryengineV1EngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -1986,7 +1998,7 @@ type GoogleCloudDiscoveryengineV1EngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -2806,8 +2818,8 @@ type GoogleCloudDiscoveryengineV1alphaAnswer struct { CreateTime string `json:"createTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*/answers/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*/answers/*` Name string `json:"name,omitempty"` // QueryUnderstandingInfo: Query understanding information. @@ -4109,9 +4121,9 @@ type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayou // GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig // OcrParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -4316,8 +4328,8 @@ type GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -4650,7 +4662,7 @@ type GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -4758,6 +4770,20 @@ func (s *GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse) MarshalJSON( // fields of a schema. For example, configuring a field is indexable, or // searchable. type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { + // AdvancedSiteSearchDataSources: If this field is set, only the + // corresponding source will be indexed for this field. Otherwise, the + // values from different sources are merged. Assuming a page with `` in + // meta tag, and `` in page map: if this enum is set to METATAGS, we + // will only index ``; if this enum is not set, we will merge them and + // index ``. + // + // Possible values: + // "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED" - Value used when + // unset. + // "METATAGS" - Retrieve value from meta tag. + // "PAGEMAP" - Retrieve value from page map. + AdvancedSiteSearchDataSources []string `json:"advancedSiteSearchDataSources,omitempty"` + // CompletableOption: If completable_option is COMPLETABLE_ENABLED, // field values are directly used and returned as suggestions for // Autocomplete in CompletionService.CompleteQuery. If @@ -4896,21 +4922,22 @@ type GoogleCloudDiscoveryengineV1alphaFieldConfig struct { // field. SearchableOption string `json:"searchableOption,omitempty"` - // ForceSendFields is a list of field names (e.g. "CompletableOption") - // to unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CompletableOption") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. + // "AdvancedSiteSearchDataSources") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -4988,81 +5015,6 @@ func (s *GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig) MarshalJSO return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata: -// Metadata related to the progress of the ImportCompletionSuggestions -// operation. This will be returned by the -// google.longrunning.Operation.metadata field. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata struct { - // CreateTime: Operation create time. - CreateTime string `json:"createTime,omitempty"` - - // UpdateTime: Operation last update time. If the operation is done, - // this is also the finish time. - UpdateTime string `json:"updateTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse: -// Response of the CompletionService.ImportCompletionSuggestions method. -// If the long running operation is done, this message is returned by -// the google.longrunning.Operations.response field if the operation is -// successful. -type GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse struct { - // ErrorSamples: A sample of errors encountered while processing the - // request. - ErrorSamples []*GoogleRpcStatus `json:"errorSamples,omitempty"` - - // FailureCount: Count of CompletionSuggestions that failed to be - // imported. - FailureCount int64 `json:"failureCount,omitempty,string"` - - // SuccessCount: Count of CompletionSuggestions successfully imported. - SuccessCount int64 `json:"successCount,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "ErrorSamples") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ErrorSamples") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata: Metadata // related to the progress of the ImportDocuments operation. This is // returned by the google.longrunning.Operation.metadata field. @@ -5336,6 +5288,113 @@ func (s *GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse) MarshalJSON( return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDiscoveryengineV1alphaProject: Metadata and configurations +// for a Google Cloud project in the service. +type GoogleCloudDiscoveryengineV1alphaProject struct { + // CreateTime: Output only. The timestamp when this project is created. + CreateTime string `json:"createTime,omitempty"` + + // Name: Output only. Full resource name of the project, for example + // `projects/{project_number}`. Note that when making requests, project + // number and project id are both acceptable, but the server will always + // respond in project number. + Name string `json:"name,omitempty"` + + // ProvisionCompletionTime: Output only. The timestamp when this project + // is successfully provisioned. Empty value means this project is still + // provisioning and is not ready for use. + ProvisionCompletionTime string `json:"provisionCompletionTime,omitempty"` + + // ServiceTermsMap: Output only. A map of terms of services. The key is + // the `id` of ServiceTerms. + ServiceTermsMap map[string]GoogleCloudDiscoveryengineV1alphaProjectServiceTerms `json:"serviceTermsMap,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProject) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProject + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProjectServiceTerms: Metadata about +// the terms of service. +type GoogleCloudDiscoveryengineV1alphaProjectServiceTerms struct { + // AcceptTime: The last time when the project agreed to the terms of + // service. + AcceptTime string `json:"acceptTime,omitempty"` + + // DeclineTime: The last time when the project declined or revoked the + // agreement to terms of service. + DeclineTime string `json:"declineTime,omitempty"` + + // Id: The unique identifier of this terms of service. Available terms: + // * `GA_DATA_USE_TERMS`: Terms for data use + // (https://cloud.google.com/retail/data-use-terms). When using this as + // `id`, the acceptable version to provide is `2022-11-23`. + Id string `json:"id,omitempty"` + + // State: Whether the project has accepted/rejected the service terms or + // it is still pending. + // + // Possible values: + // "STATE_UNSPECIFIED" - The default value of the enum. This value is + // not actually used. + // "TERMS_ACCEPTED" - The project has given consent to the terms of + // service. + // "TERMS_PENDING" - The project is pending to review and accept the + // terms of service. + // "TERMS_DECLINED" - The project has declined or revoked the + // agreement to terms of service. + State string `json:"state,omitempty"` + + // Version: The version string of the terms of service. For acceptable + // values, see the comments for id above. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceptTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceptTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDiscoveryengineV1alphaProjectServiceTerms) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDiscoveryengineV1alphaProjectServiceTerms + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata: Metadata +// associated with a project provision operation. +type GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata struct { +} + // GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata: Metadata // related to the progress of the PurgeDocuments operation. This will be // returned by the google.longrunning.Operation.metadata field. @@ -5802,8 +5861,8 @@ type GoogleCloudDiscoveryengineV1alphaSession struct { EndTime string `json:"endTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*` Name string `json:"name,omitempty"` // StartTime: Output only. The time the session started. @@ -6283,8 +6342,8 @@ type GoogleCloudDiscoveryengineV1betaAnswer struct { CreateTime string `json:"createTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*/answers/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*/answers/*` Name string `json:"name,omitempty"` // QueryUnderstandingInfo: Query understanding information. @@ -6667,7 +6726,7 @@ type GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQue // Disable: Disable query rephraser. Disable bool `json:"disable,omitempty"` - // MaxRephraseSteps: Max rephrase steps. The max number is 10 steps. If + // MaxRephraseSteps: Max rephrase steps. The max number is 5 steps. If // not set or set to < 1, it will be set to 1 by default. MaxRephraseSteps int64 `json:"maxRephraseSteps,omitempty"` @@ -7092,6 +7151,9 @@ type GoogleCloudDiscoveryengineV1betaAnswerQueryResponse struct { // ConversationalSearchService.GetAnswer API. Answer *GoogleCloudDiscoveryengineV1betaAnswer `json:"answer,omitempty"` + // AnswerQueryToken: A global unique ID used for logging. + AnswerQueryToken string `json:"answerQueryToken,omitempty"` + // Session: Session resource object. It will be only available when // session field is set and valid in the AnswerQueryRequest request. Session *GoogleCloudDiscoveryengineV1betaSession `json:"session,omitempty"` @@ -8126,7 +8188,7 @@ type GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim struct { EndPos int64 `json:"endPos,omitempty"` // StartPos: Position indicating the start of the claim in the answer - // candidate, measured in bytes/unicode. + // candidate, measured in bytes. StartPos int64 `json:"startPos,omitempty"` // ForceSendFields is a list of field names (e.g. "CitationIndices") to @@ -8212,7 +8274,7 @@ type GoogleCloudDiscoveryengineV1betaCloudSqlSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Cloud SQL export to a specific Cloud Storage - // directory. Please ensure that the Cloud SQL service account has the + // directory. Ensure that the Cloud SQL service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -8383,10 +8445,10 @@ type GoogleCloudDiscoveryengineV1betaConversation struct { Messages []*GoogleCloudDiscoveryengineV1betaConversationMessage `json:"messages,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/dataStore/*/conve - // rsations/*` or - // `project/*/locations/global/collections/{collection}/engines/*/convers - // ations/*`. + // `projects/{project}/locations/global/collections/{collection}/dataStor + // e/*/conversations/*` or + // `projects/{project}/locations/global/collections/{collection}/engines/ + // */conversations/*`. Name string `json:"name,omitempty"` // StartTime: Output only. The time the conversation started. @@ -9419,9 +9481,9 @@ type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigita // GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigO // crParsingConfig: The OCR parsing configurations for documents. type GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig struct { - // EnhancedDocumentElements: Apply additional enhanced OCR processing to - // a list of document elements. Supported values: * `table`: advanced - // table parsing model. + // EnhancedDocumentElements: [DEPRECATED] This field is deprecated. To + // use the additional enhanced document elements processing, please + // switch to `layout_parsing_config`. EnhancedDocumentElements []string `json:"enhancedDocumentElements,omitempty"` // UseNativeText: If true, will use native text instead of OCR text on @@ -9696,8 +9758,8 @@ type GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig struct { // `dialogflow_agent_to_link` are one-time consumed by and passed to // Dialogflow service. It means they cannot be retrieved using // EngineService.GetEngine or EngineService.ListEngines API after engine - // creation. Please use ChatEngineMetadata.dialogflow_agent for actual - // agent association after Engine is created. + // creation. Use ChatEngineMetadata.dialogflow_agent for actual agent + // association after Engine is created. DialogflowAgentToLink string `json:"dialogflowAgentToLink,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentCreationConfig") @@ -9850,7 +9912,7 @@ type GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig struct { SearchAddOns []string `json:"searchAddOns,omitempty"` // SearchTier: The search feature tier of this engine. Different tiers - // might have different pricing. To learn more, please check the pricing + // might have different pricing. To learn more, check the pricing // documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not // specified. // @@ -10021,7 +10083,7 @@ type GoogleCloudDiscoveryengineV1betaFirestoreSource struct { // GcsStagingDir: Intermediate Cloud Storage directory used for the // import with a length limit of 2,000 characters. Can be specified if // one wants to have the Firestore export to a specific Cloud Storage - // directory. Please ensure that the Firestore service account has the + // directory. Ensure that the Firestore service account has the // necessary Cloud Storage Admin permissions to access the specified // Cloud Storage directory. GcsStagingDir string `json:"gcsStagingDir,omitempty"` @@ -11104,13 +11166,13 @@ func (s *GoogleCloudDiscoveryengineV1betaMediaInfo) UnmarshalJSON(data []byte) e type GoogleCloudDiscoveryengineV1betaPageInfo struct { // PageCategory: The most specific category associated with a category // page. To represent full path of category, use '>' sign to separate - // different hierarchies. If '>' is part of the category name, please - // replace it with other character(s). Category pages include special - // pages such as sales or promotions. For instance, a special sale page - // may have the category hierarchy: "pageCategory" : "Sales > 2017 - // Black Friday Deals". Required for `view-category-page` events. Other - // event types should not set this field. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // different hierarchies. If '>' is part of the category name, replace + // it with other character(s). Category pages include special pages such + // as sales or promotions. For instance, a special sale page may have + // the category hierarchy: "pageCategory" : "Sales > 2017 Black Friday + // Deals". Required for `view-category-page` events. Other event types + // should not set this field. Otherwise, an `INVALID_ARGUMENT` error is + // returned. PageCategory string `json:"pageCategory,omitempty"` // PageviewId: A unique ID of a web page view. This should be kept the @@ -11444,7 +11506,7 @@ type GoogleCloudDiscoveryengineV1betaRankRequest struct { // Query: The query to use. Query string `json:"query,omitempty"` - // Records: Required. A list of records to rank. At most 100 records to + // Records: Required. A list of records to rank. At most 200 records to // rank. Records []*GoogleCloudDiscoveryengineV1betaRankingRecord `json:"records,omitempty"` @@ -12456,7 +12518,7 @@ type GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveCon // ReturnExtractiveSegmentScore: Specifies whether to return the // confidence score from the extractive segments in each search result. // This feature is available only for new or allowlisted data stores. To - // allowlist your data store, please contact your Customer Engineer. The + // allowlist your data store, contact your Customer Engineer. The // default value is `false`. ReturnExtractiveSegmentScore bool `json:"returnExtractiveSegmentScore,omitempty"` @@ -12583,15 +12645,17 @@ type GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec s // SummaryResultCount: The number of top results to generate the summary // from. If the number of results returned is less than // `summaryResultCount`, the summary is generated from all of the - // results. At most 10 results can be used to generate a summary. + // results. At most 10 results for documents mode, or 50 for chunks + // mode, can be used to generate a summary. The chunks mode is used when + // SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS. SummaryResultCount int64 `json:"summaryResultCount,omitempty"` // UseSemanticChunks: If true, answer will be generated from most // relevant chunks from top search results. This feature will improve - // summary quality. Please note that with this feature enabled, not all - // top search results will be referenced and included in the reference - // list, so the citation source index only points to the search results - // listed in the reference list. + // summary quality. Note that with this feature enabled, not all top + // search results will be referenced and included in the reference list, + // so the citation source index only points to the search results listed + // in the reference list. UseSemanticChunks bool `json:"useSemanticChunks,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -13985,8 +14049,8 @@ type GoogleCloudDiscoveryengineV1betaSession struct { EndTime string `json:"endTime,omitempty"` // Name: Immutable. Fully qualified name - // `project/*/locations/global/collections/{collection}/engines/{engine}/ - // sessions/*` + // `projects/{project}/locations/global/collections/{collection}/engines/ + // {engine}/sessions/*` Name string `json:"name,omitempty"` // StartTime: Output only. The time the session started. @@ -14699,6 +14763,11 @@ func (s *GoogleCloudDiscoveryengineV1betaTuneEngineMetadata) MarshalJSON() ([]by type GoogleCloudDiscoveryengineV1betaTuneEngineRequest struct { } +// GoogleCloudDiscoveryengineV1betaTuneEngineResponse: Response +// associated with a tune operation. +type GoogleCloudDiscoveryengineV1betaTuneEngineResponse struct { +} + // GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata: Metadata for // UpdateSchema LRO. type GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata struct { @@ -17743,6 +17812,14 @@ func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) Allow return c } +// UpdateMask sets the optional parameter "updateMask": Indicates which +// fields in the provided imported 'document' to update. If not set, +// will by default update all fields. +func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -17855,6 +17932,12 @@ func (c *ProjectsLocationsCollectionsDataStoresBranchesDocumentsPatchCall) Do(op // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", // "required": true, // "type": "string" + // }, + // "updateMask": { + // "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v1beta/{+name}", @@ -19203,10 +19286,10 @@ type ProjectsLocationsCollectionsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1betaconversation *GoogleCloudDiscoveryengineV1betaConversation) *ProjectsLocationsCollectionsDataStoresConversationsPatchCall { c := &ProjectsLocationsCollectionsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -19325,7 +19408,7 @@ func (c *ProjectsLocationsCollectionsDataStoresConversationsPatchCall) Do(opts . // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -22881,8 +22964,8 @@ type ProjectsLocationsCollectionsDataStoresSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsCollectionsDataStoresSessionsService) Patch(name string, googleclouddiscoveryenginev1betasession *GoogleCloudDiscoveryengineV1betaSession) *ProjectsLocationsCollectionsDataStoresSessionsPatchCall { c := &ProjectsLocationsCollectionsDataStoresSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -23000,7 +23083,7 @@ func (c *ProjectsLocationsCollectionsDataStoresSessionsPatchCall) Do(opts ...goo // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", // "required": true, @@ -26257,9 +26340,13 @@ type ProjectsLocationsCollectionsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsCollectionsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1betauserevent *GoogleCloudDiscoveryengineV1betaUserEvent) *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall { c := &ProjectsLocationsCollectionsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -26369,7 +26456,7 @@ func (c *ProjectsLocationsCollectionsDataStoresUserEventsWriteCall) Do(opts ...g // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", // "required": true, @@ -28467,10 +28554,10 @@ type ProjectsLocationsCollectionsEnginesConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsCollectionsEnginesConversationsService) Patch(name string, googleclouddiscoveryenginev1betaconversation *GoogleCloudDiscoveryengineV1betaConversation) *ProjectsLocationsCollectionsEnginesConversationsPatchCall { c := &ProjectsLocationsCollectionsEnginesConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -28589,7 +28676,7 @@ func (c *ProjectsLocationsCollectionsEnginesConversationsPatchCall) Do(opts ...g // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", // "required": true, @@ -30633,8 +30720,8 @@ type ProjectsLocationsCollectionsEnginesSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsCollectionsEnginesSessionsService) Patch(name string, googleclouddiscoveryenginev1betasession *GoogleCloudDiscoveryengineV1betaSession) *ProjectsLocationsCollectionsEnginesSessionsPatchCall { c := &ProjectsLocationsCollectionsEnginesSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -30752,7 +30839,7 @@ func (c *ProjectsLocationsCollectionsEnginesSessionsPatchCall) Do(opts ...google // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", // "required": true, @@ -33343,6 +33430,14 @@ func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) AllowMissing(all return c } +// UpdateMask sets the optional parameter "updateMask": Indicates which +// fields in the provided imported 'document' to update. If not set, +// will by default update all fields. +func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDataStoresBranchesDocumentsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -33455,6 +33550,12 @@ func (c *ProjectsLocationsDataStoresBranchesDocumentsPatchCall) Do(opts ...googl // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", // "required": true, // "type": "string" + // }, + // "updateMask": { + // "description": "Indicates which fields in the provided imported 'document' to update. If not set, will by default update all fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v1beta/{+name}", @@ -34803,10 +34904,10 @@ type ProjectsLocationsDataStoresConversationsPatchCall struct { // error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/dataStore/*/con -// versations/*` or -// `project/*/locations/global/collections/{collection}/engines/*/conve -// rsations/*`. +// `projects/{project}/locations/global/collections/{collection}/dataSt +// ore/*/conversations/*` or +// `projects/{project}/locations/global/collections/{collection}/engine +// s/*/conversations/*`. func (r *ProjectsLocationsDataStoresConversationsService) Patch(name string, googleclouddiscoveryenginev1betaconversation *GoogleCloudDiscoveryengineV1betaConversation) *ProjectsLocationsDataStoresConversationsPatchCall { c := &ProjectsLocationsDataStoresConversationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -34925,7 +35026,7 @@ func (c *ProjectsLocationsDataStoresConversationsPatchCall) Do(opts ...googleapi // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*` or `project/*/locations/global/collections/{collection}/engines/*/conversations/*`.", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", // "required": true, @@ -38126,8 +38227,8 @@ type ProjectsLocationsDataStoresSessionsPatchCall struct { // the Session to update does not exist, a NOT_FOUND error is returned. // // - name: Immutable. Fully qualified name -// `project/*/locations/global/collections/{collection}/engines/{engine -// }/sessions/*`. +// `projects/{project}/locations/global/collections/{collection}/engine +// s/{engine}/sessions/*`. func (r *ProjectsLocationsDataStoresSessionsService) Patch(name string, googleclouddiscoveryenginev1betasession *GoogleCloudDiscoveryengineV1betaSession) *ProjectsLocationsDataStoresSessionsPatchCall { c := &ProjectsLocationsDataStoresSessionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -38245,7 +38346,7 @@ func (c *ProjectsLocationsDataStoresSessionsPatchCall) Do(opts ...googleapi.Call // ], // "parameters": { // "name": { - // "description": "Immutable. Fully qualified name `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*`", + // "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", // "required": true, @@ -40437,9 +40538,13 @@ type ProjectsLocationsDataStoresUserEventsWriteCall struct { // Write: Writes a single user event. // -// - parent: The parent DataStore resource name, such as +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: // `projects/{project}/locations/{location}/collections/{collection}/da -// taStores/{data_store}`. +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. func (r *ProjectsLocationsDataStoresUserEventsService) Write(parent string, googleclouddiscoveryenginev1betauserevent *GoogleCloudDiscoveryengineV1betaUserEvent) *ProjectsLocationsDataStoresUserEventsWriteCall { c := &ProjectsLocationsDataStoresUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -40549,7 +40654,7 @@ func (c *ProjectsLocationsDataStoresUserEventsWriteCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "parent": { - // "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", // "required": true, @@ -41219,6 +41324,156 @@ func (c *ProjectsLocationsRankingConfigsRankCall) Do(opts ...googleapi.CallOptio } +// method id "discoveryengine.projects.locations.userEvents.write": + +type ProjectsLocationsUserEventsWriteCall struct { + s *Service + parent string + googleclouddiscoveryenginev1betauserevent *GoogleCloudDiscoveryengineV1betaUserEvent + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Write: Writes a single user event. +// +// - parent: The parent resource name. If the write user event action is +// applied in DataStore level, the format is: +// `projects/{project}/locations/{location}/collections/{collection}/da +// taStores/{data_store}`. If the write user event action is applied +// in Location level, for example, the event with Document across +// multiple DataStore, the format is: +// `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsUserEventsService) Write(parent string, googleclouddiscoveryenginev1betauserevent *GoogleCloudDiscoveryengineV1betaUserEvent) *ProjectsLocationsUserEventsWriteCall { + c := &ProjectsLocationsUserEventsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googleclouddiscoveryenginev1betauserevent = googleclouddiscoveryenginev1betauserevent + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsUserEventsWriteCall) Fields(s ...googleapi.Field) *ProjectsLocationsUserEventsWriteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsUserEventsWriteCall) Context(ctx context.Context) *ProjectsLocationsUserEventsWriteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsUserEventsWriteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsUserEventsWriteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleclouddiscoveryenginev1betauserevent) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/userEvents:write") + 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{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "discoveryengine.projects.locations.userEvents.write" call. +// Exactly one of *GoogleCloudDiscoveryengineV1betaUserEvent or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleCloudDiscoveryengineV1betaUserEvent.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 *ProjectsLocationsUserEventsWriteCall) Do(opts ...googleapi.CallOption) (*GoogleCloudDiscoveryengineV1betaUserEvent, 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 := &GoogleCloudDiscoveryengineV1betaUserEvent{ + 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 + // { + // "description": "Writes a single user event.", + // "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:write", + // "httpMethod": "POST", + // "id": "discoveryengine.projects.locations.userEvents.write", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}/userEvents:write", + // "request": { + // "$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" + // }, + // "response": { + // "$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "discoveryengine.projects.operations.get": type ProjectsOperationsGetCall struct { diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index 82b9dee1088..7aacf66d204 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -2087,7 +2087,7 @@ } } }, - "revision": "20240401", + "revision": "20240411", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -3963,7 +3963,7 @@ "type": "array" }, "categories": { - "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden via pantheon UI. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", + "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", "items": { "type": "string" }, diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index 4b526545489..848d7281254 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -3977,9 +3977,9 @@ type GoogleCloudRetailV2Product struct { // "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > // Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product // otherwise an INVALID_ARGUMENT error is returned. At most 250 values - // are allowed per Product unless overridden via pantheon UI. Empty - // values are not allowed. Each value must be a UTF-8 encoded string - // with a length limit of 5,000 characters. Otherwise, an + // are allowed per Product unless overridden through the Google Cloud + // console. Empty values are not allowed. Each value must be a UTF-8 + // encoded string with a length limit of 5,000 characters. Otherwise, an // INVALID_ARGUMENT error is returned. Corresponding properties: Google // Merchant Center property google_product_category. Schema.org property // [Product.category] (https://schema.org/category). diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index d0193432ae3..60c436ae629 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -2475,7 +2475,7 @@ } } }, - "revision": "20240401", + "revision": "20240411", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5525,7 +5525,7 @@ "type": "array" }, "categories": { - "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden via pantheon UI. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", + "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", "items": { "type": "string" }, diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index 50db48c9b68..3ba2007669d 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -6165,9 +6165,9 @@ type GoogleCloudRetailV2alphaProduct struct { // "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > // Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product // otherwise an INVALID_ARGUMENT error is returned. At most 250 values - // are allowed per Product unless overridden via pantheon UI. Empty - // values are not allowed. Each value must be a UTF-8 encoded string - // with a length limit of 5,000 characters. Otherwise, an + // are allowed per Product unless overridden through the Google Cloud + // console. Empty values are not allowed. Each value must be a UTF-8 + // encoded string with a length limit of 5,000 characters. Otherwise, an // INVALID_ARGUMENT error is returned. Corresponding properties: Google // Merchant Center property google_product_category. Schema.org property // [Product.category] (https://schema.org/category). diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index 165d6a816c1..21d9489d002 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -2115,7 +2115,7 @@ } } }, - "revision": "20240401", + "revision": "20240411", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5656,7 +5656,7 @@ "type": "array" }, "categories": { - "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden via pantheon UI. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", + "description": "Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '\u003e' sign to separate different hierarchies. If '\u003e' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both [\"Shoes \u0026 Accessories\" -\u003e \"Shoes\"] and [\"Sports \u0026 Fitness\" -\u003e \"Athletic Clothing\" -\u003e \"Shoes\"], it could be represented as: \"categories\": [ \"Shoes \u0026 Accessories \u003e Shoes\", \"Sports \u0026 Fitness \u003e Athletic Clothing \u003e Shoes\" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436", "items": { "type": "string" }, diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index 674c38966e4..0658f6856bb 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -6944,9 +6944,9 @@ type GoogleCloudRetailV2betaProduct struct { // "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > // Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product // otherwise an INVALID_ARGUMENT error is returned. At most 250 values - // are allowed per Product unless overridden via pantheon UI. Empty - // values are not allowed. Each value must be a UTF-8 encoded string - // with a length limit of 5,000 characters. Otherwise, an + // are allowed per Product unless overridden through the Google Cloud + // console. Empty values are not allowed. Each value must be a UTF-8 + // encoded string with a length limit of 5,000 characters. Otherwise, an // INVALID_ARGUMENT error is returned. Corresponding properties: Google // Merchant Center property google_product_category. Schema.org property // [Product.category] (https://schema.org/category). diff --git a/searchads360/v0/searchads360-api.json b/searchads360/v0/searchads360-api.json index a24d7fdfdd3..7ac13f7a467 100644 --- a/searchads360/v0/searchads360-api.json +++ b/searchads360/v0/searchads360-api.json @@ -260,7 +260,7 @@ } } }, - "revision": "20240327", + "revision": "20240414", "rootUrl": "https://searchads360.googleapis.com/", "schemas": { "GoogleAdsSearchads360V0Common__AdScheduleInfo": { @@ -3076,6 +3076,121 @@ }, "type": "object" }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversionValue": { + "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversionValue", + "properties": { + "targetRoas": { + "description": "Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversions": { + "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversions", + "properties": { + "targetCpa": { + "description": "Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetCpaMicros": { + "description": "Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetCpa": { + "description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetCpa", + "properties": { + "targetCpaMicros": { + "description": "Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetImpressionShare": { + "description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetImpressionShare", + "properties": { + "cpcBidCeilingMicros": { + "description": "Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Output only. The targeted location on the search results page.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANYWHERE_ON_PAGE", + "TOP_OF_PAGE", + "ABSOLUTE_TOP_OF_PAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Any location on the web page.", + "Top box of ads.", + "Top slot in the top box of ads." + ], + "readOnly": true, + "type": "string" + }, + "locationFractionMicros": { + "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetRoas": { + "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetRoas", + "properties": { + "targetRoas": { + "description": "Output only. The chosen revenue (based on conversion data) per unit of spend.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetSpend": { + "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.", + "id": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetSpend", + "properties": { + "cpcBidCeilingMicros": { + "description": "Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetSpendMicros": { + "deprecated": true, + "description": "Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleAdsSearchads360V0Resources_AdGroupCriterion_PositionEstimates": { "description": "Estimates for criterion bids at various positions.", "id": "GoogleAdsSearchads360V0Resources_AdGroupCriterion_PositionEstimates", @@ -3582,6 +3697,117 @@ }, "type": "object" }, + "GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy": { + "description": "Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes.", + "id": "GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy", + "properties": { + "id": { + "description": "Output only. The ID of the bidding strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "maximizeConversionValue": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversionValue", + "description": "Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", + "readOnly": true + }, + "maximizeConversions": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_MaximizeConversions", + "description": "Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", + "readOnly": true + }, + "name": { + "description": "Output only. The name of the bidding strategy.", + "readOnly": true, + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the bidding strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ownerDescriptiveName": { + "description": "Output only. descriptive_name of the Customer which owns the bidding strategy.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`", + "readOnly": true, + "type": "string" + }, + "targetCpa": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetCpa", + "description": "Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "readOnly": true + }, + "targetImpressionShare": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetImpressionShare", + "description": "Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.", + "readOnly": true + }, + "targetRoas": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetRoas", + "description": "Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).", + "readOnly": true + }, + "targetSpend": { + "$ref": "GoogleAdsSearchads360V0Resources_AccessibleBiddingStrategy_TargetSpend", + "description": "Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.", + "readOnly": true + }, + "type": { + "description": "Output only. The type of the bidding strategy.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COMMISSION", + "ENHANCED_CPC", + "INVALID", + "MANUAL_CPA", + "MANUAL_CPC", + "MANUAL_CPM", + "MANUAL_CPV", + "MAXIMIZE_CONVERSIONS", + "MAXIMIZE_CONVERSION_VALUE", + "PAGE_ONE_PROMOTED", + "PERCENT_CPC", + "TARGET_CPA", + "TARGET_CPM", + "TARGET_IMPRESSION_SHARE", + "TARGET_OUTRANK_SHARE", + "TARGET_ROAS", + "TARGET_SPEND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", + "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", + "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "Manual click based bidding where user pays per click.", + "Manual impression based bidding where user pays per thousand impressions.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", + "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", + "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", + "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", + "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", + "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", + "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleAdsSearchads360V0Resources__Ad": { "description": "An ad.", "id": "GoogleAdsSearchads360V0Resources__Ad", @@ -4442,7 +4668,7 @@ }, "userList": { "$ref": "GoogleAdsSearchads360V0Common__UserListInfo", - "description": "Immutable. User List. The Similar Audiences sunset starts May 2023. Refer to https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html for other options." + "description": "Immutable. User List." }, "webpage": { "$ref": "GoogleAdsSearchads360V0Common__WebpageInfo", @@ -5236,6 +5462,11 @@ "description": "A campaign.", "id": "GoogleAdsSearchads360V0Resources__Campaign", "properties": { + "accessibleBiddingStrategy": { + "description": "Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.", + "readOnly": true, + "type": "string" + }, "adServingOptimizationStatus": { "description": "The ad serving optimization status of the campaign.", "enum": [ @@ -6036,7 +6267,7 @@ }, "userList": { "$ref": "GoogleAdsSearchads360V0Common__UserListInfo", - "description": "Immutable. User List. The Similar Audiences sunset starts May 2023. Refer to https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html for other options." + "description": "Immutable. User List." }, "webpage": { "$ref": "GoogleAdsSearchads360V0Common__WebpageInfo", @@ -7955,6 +8186,10 @@ "description": "A returned row from the query.", "id": "GoogleAdsSearchads360V0Services__SearchAds360Row", "properties": { + "accessibleBiddingStrategy": { + "$ref": "GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy", + "description": "The accessible bidding strategy referenced in the query." + }, "adGroup": { "$ref": "GoogleAdsSearchads360V0Resources__AdGroup", "description": "The ad group referenced in the query." diff --git a/searchads360/v0/searchads360-gen.go b/searchads360/v0/searchads360-gen.go index 702be541195..97de85bcdf4 100644 --- a/searchads360/v0/searchads360-gen.go +++ b/searchads360/v0/searchads360-gen.go @@ -4108,6 +4108,264 @@ func (s *GoogleAdsSearchads360V0Errors__SearchAds360Failure) MarshalJSON() ([]by return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConve +// rsionValue: An automated bidding strategy to help get the most +// conversion value for your campaigns while spending your budget. +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue struct { + // TargetRoas: Output only. The target return on ad spend (ROAS) option. + // If set, the bid strategy will maximize revenue while averaging the + // target return on ad spend. If the target ROAS is high, the bid + // strategy may not be able to spend the full budget. If the target ROAS + // is not set, the bid strategy will aim to achieve the highest possible + // ROAS for the budget. + TargetRoas float64 `json:"targetRoas,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TargetRoas") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TargetRoas") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue) UnmarshalJSON(data []byte) error { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue + var s1 struct { + TargetRoas gensupport.JSONFloat64 `json:"targetRoas"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.TargetRoas = float64(s1.TargetRoas) + return nil +} + +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConve +// rsions: An automated bidding strategy to help get the most +// conversions for your campaigns while spending your budget. +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions struct { + // TargetCpa: Output only. The target cost per acquisition (CPA) option. + // This is the average amount that you would like to spend per + // acquisition. + TargetCpa int64 `json:"targetCpa,omitempty,string"` + + // TargetCpaMicros: Output only. The target cost per acquisition (CPA) + // option. This is the average amount that you would like to spend per + // acquisition. + TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "TargetCpa") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TargetCpa") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa: +// An automated bid strategy that sets bids to help get as many +// conversions as possible at the target cost-per-acquisition (CPA) you +// set. +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa struct { + // TargetCpaMicros: Output only. Average CPA target. This target should + // be greater than or equal to minimum billable unit based on the + // currency for the account. + TargetCpaMicros int64 `json:"targetCpaMicros,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "TargetCpaMicros") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TargetCpaMicros") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpress +// ionShare: An automated bidding strategy that sets bids so that a +// certain percentage of search ads are shown at the top of the first +// page (or other targeted location). +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare struct { + // CpcBidCeilingMicros: Output only. The highest CPC bid the automated + // bidding system is permitted to specify. This is a required field + // entered by the advertiser that sets the ceiling and specified in + // local micros. + CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"` + + // Location: Output only. The targeted location on the search results + // page. + // + // Possible values: + // "UNSPECIFIED" - Not specified. + // "UNKNOWN" - Used for return value only. Represents value unknown in + // this version. + // "ANYWHERE_ON_PAGE" - Any location on the web page. + // "TOP_OF_PAGE" - Top box of ads. + // "ABSOLUTE_TOP_OF_PAGE" - Top slot in the top box of ads. + Location string `json:"location,omitempty"` + + // LocationFractionMicros: The chosen fraction of ads to be shown in the + // targeted location in micros. For example, 1% equals 10,000. + LocationFractionMicros int64 `json:"locationFractionMicros,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas: +// An automated bidding strategy that helps you maximize revenue while +// averaging a specific target return on ad spend (ROAS). +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas struct { + // TargetRoas: Output only. The chosen revenue (based on conversion + // data) per unit of spend. + TargetRoas float64 `json:"targetRoas,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TargetRoas") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TargetRoas") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas) UnmarshalJSON(data []byte) error { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas + var s1 struct { + TargetRoas gensupport.JSONFloat64 `json:"targetRoas"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.TargetRoas = float64(s1.TargetRoas) + return nil +} + +// GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend: +// An automated bid strategy that sets your bids to help get as many +// clicks as possible within your budget. +type GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend struct { + // CpcBidCeilingMicros: Output only. Maximum bid limit that can be set + // by the bid strategy. The limit applies to all keywords managed by the + // strategy. + CpcBidCeilingMicros int64 `json:"cpcBidCeilingMicros,omitempty,string"` + + // TargetSpendMicros: Output only. The spend target under which to + // maximize clicks. A TargetSpend bidder will attempt to spend the + // smaller of this value or the natural throttling spend amount. If not + // specified, the budget is used as the spend target. This field is + // deprecated and should no longer be used. See + // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html + // for details. + TargetSpendMicros int64 `json:"targetSpendMicros,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "CpcBidCeilingMicros") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CpcBidCeilingMicros") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates: // Estimates for criterion bids at various positions. type GoogleAdsSearchads360V0ResourcesAdGroupCriterionPositionEstimates struct { @@ -4972,6 +5230,142 @@ func (s *GoogleAdsSearchads360V0ResourcesListingGroupFilterDimensionProductType) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy: +// Represents a view of BiddingStrategies owned by and shared with the +// customer. In contrast to BiddingStrategy, this resource includes +// strategies owned by managers of the customer and shared with this +// customer - in addition to strategies owned by this customer. This +// resource does not provide metrics and only exposes a limited subset +// of the BiddingStrategy attributes. +type GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy struct { + // Id: Output only. The ID of the bidding strategy. + Id int64 `json:"id,omitempty,string"` + + // MaximizeConversionValue: Output only. An automated bidding strategy + // to help get the most conversion value for your campaigns while + // spending your budget. + MaximizeConversionValue *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversionValue `json:"maximizeConversionValue,omitempty"` + + // MaximizeConversions: Output only. An automated bidding strategy to + // help get the most conversions for your campaigns while spending your + // budget. + MaximizeConversions *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyMaximizeConversions `json:"maximizeConversions,omitempty"` + + // Name: Output only. The name of the bidding strategy. + Name string `json:"name,omitempty"` + + // OwnerCustomerId: Output only. The ID of the Customer which owns the + // bidding strategy. + OwnerCustomerId int64 `json:"ownerCustomerId,omitempty,string"` + + // OwnerDescriptiveName: Output only. descriptive_name of the Customer + // which owns the bidding strategy. + OwnerDescriptiveName string `json:"ownerDescriptiveName,omitempty"` + + // ResourceName: Output only. The resource name of the accessible + // bidding strategy. AccessibleBiddingStrategy resource names have the + // form: + // `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy + // _id}` + ResourceName string `json:"resourceName,omitempty"` + + // TargetCpa: Output only. A bidding strategy that sets bids to help get + // as many conversions as possible at the target cost-per-acquisition + // (CPA) you set. + TargetCpa *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetCpa `json:"targetCpa,omitempty"` + + // TargetImpressionShare: Output only. A bidding strategy that + // automatically optimizes towards a chosen percentage of impressions. + TargetImpressionShare *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetImpressionShare `json:"targetImpressionShare,omitempty"` + + // TargetRoas: Output only. A bidding strategy that helps you maximize + // revenue while averaging a specific target Return On Ad Spend (ROAS). + TargetRoas *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetRoas `json:"targetRoas,omitempty"` + + // TargetSpend: Output only. A bid strategy that sets your bids to help + // get as many clicks as possible within your budget. + TargetSpend *GoogleAdsSearchads360V0ResourcesAccessibleBiddingStrategyTargetSpend `json:"targetSpend,omitempty"` + + // Type: Output only. The type of the bidding strategy. + // + // Possible values: + // "UNSPECIFIED" - Not specified. + // "UNKNOWN" - Used for return value only. Represents value unknown in + // this version. + // "COMMISSION" - Commission is an automatic bidding strategy in which + // the advertiser pays a certain portion of the conversion value. + // "ENHANCED_CPC" - Enhanced CPC is a bidding strategy that raises + // bids for clicks that seem more likely to lead to a conversion and + // lowers them for clicks where they seem less likely. + // "INVALID" - Used for return value only. Indicates that a campaign + // does not have a bidding strategy. This prevents the campaign from + // serving. For example, a campaign may be attached to a manager bidding + // strategy and the serving account is subsequently unlinked from the + // manager account. In this case the campaign will automatically be + // detached from the now inaccessible manager bidding strategy and + // transition to the INVALID bidding strategy type. + // "MANUAL_CPA" - Manual bidding strategy that allows advertiser to + // set the bid per advertiser-specified action. + // "MANUAL_CPC" - Manual click based bidding where user pays per + // click. + // "MANUAL_CPM" - Manual impression based bidding where user pays per + // thousand impressions. + // "MANUAL_CPV" - A bidding strategy that pays a configurable amount + // per video view. + // "MAXIMIZE_CONVERSIONS" - A bidding strategy that automatically + // maximizes number of conversions given a daily budget. + // "MAXIMIZE_CONVERSION_VALUE" - An automated bidding strategy that + // automatically sets bids to maximize revenue while spending your + // budget. + // "PAGE_ONE_PROMOTED" - Page-One Promoted bidding scheme, which sets + // max cpc bids to target impressions on page one or page one promoted + // slots on google.com. This enum value is deprecated. + // "PERCENT_CPC" - Percent Cpc is bidding strategy where bids are a + // fraction of the advertised price for some good or service. + // "TARGET_CPA" - Target CPA is an automated bid strategy that sets + // bids to help get as many conversions as possible at the target + // cost-per-acquisition (CPA) you set. + // "TARGET_CPM" - Target CPM is an automated bid strategy that sets + // bids to help get as many impressions as possible at the target cost + // per one thousand impressions (CPM) you set. + // "TARGET_IMPRESSION_SHARE" - An automated bidding strategy that sets + // bids so that a certain percentage of search ads are shown at the top + // of the first page (or other targeted location). + // "TARGET_OUTRANK_SHARE" - Target Outrank Share is an automated + // bidding strategy that sets bids based on the target fraction of + // auctions where the advertiser should outrank a specific competitor. + // This enum value is deprecated. + // "TARGET_ROAS" - Target ROAS is an automated bidding strategy that + // helps you maximize revenue while averaging a specific target Return + // On Average Spend (ROAS). + // "TARGET_SPEND" - Target Spend is an automated bid strategy that + // sets your bids to help get as many clicks as possible within your + // budget. + Type string `json:"type,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleAdsSearchads360V0Resources__Ad: An ad. type GoogleAdsSearchads360V0Resources__Ad struct { // DisplayUrl: The URL that appears in the ad description for some ad @@ -5771,10 +6165,7 @@ type GoogleAdsSearchads360V0Resources__AdGroupCriterion struct { // "LIFE_EVENT" - Life Event Type string `json:"type,omitempty"` - // UserList: Immutable. User List. The Similar Audiences sunset starts - // May 2023. Refer to - // https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html - // for other options. + // UserList: Immutable. User List. UserList *GoogleAdsSearchads360V0Common__UserListInfo `json:"userList,omitempty"` // Webpage: Immutable. Webpage @@ -6750,6 +7141,18 @@ func (s *GoogleAdsSearchads360V0Resources__BiddingStrategy) MarshalJSON() ([]byt // GoogleAdsSearchads360V0Resources__Campaign: A campaign. type GoogleAdsSearchads360V0Resources__Campaign struct { + // AccessibleBiddingStrategy: Output only. Resource name of + // AccessibleBiddingStrategy, a read-only view of the unrestricted + // attributes of the attached portfolio bidding strategy identified by + // 'bidding_strategy'. Empty, if the campaign does not use a portfolio + // strategy. Unrestricted strategy attributes are available to all + // customers with whom the strategy is shared and are read from the + // AccessibleBiddingStrategy resource. In contrast, restricted + // attributes are only available to the owner customer of the strategy + // and their managers. Restricted attributes can only be read from the + // BiddingStrategy resource. + AccessibleBiddingStrategy string `json:"accessibleBiddingStrategy,omitempty"` + // AdServingOptimizationStatus: The ad serving optimization status of // the campaign. // @@ -7204,7 +7607,7 @@ type GoogleAdsSearchads360V0Resources__Campaign struct { UrlExpansionOptOut bool `json:"urlExpansionOptOut,omitempty"` // ForceSendFields is a list of field names (e.g. - // "AdServingOptimizationStatus") to unconditionally include in API + // "AccessibleBiddingStrategy") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of @@ -7213,10 +7616,10 @@ type GoogleAdsSearchads360V0Resources__Campaign struct { ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. - // "AdServingOptimizationStatus") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted - // from API requests. However, any field with an empty value appearing - // in NullFields will be sent to the server as null. It is an error if a + // "AccessibleBiddingStrategy") to include in API requests with the JSON + // null value. By default, fields with empty values are omitted from API + // requests. However, any field with an empty value appearing in + // NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` @@ -7539,10 +7942,7 @@ type GoogleAdsSearchads360V0Resources__CampaignCriterion struct { // "LIFE_EVENT" - Life Event Type string `json:"type,omitempty"` - // UserList: Immutable. User List. The Similar Audiences sunset starts - // May 2023. Refer to - // https://ads-developers.googleblog.com/2022/11/announcing-deprecation-and-sunset-of.html - // for other options. + // UserList: Immutable. User List. UserList *GoogleAdsSearchads360V0Common__UserListInfo `json:"userList,omitempty"` // Webpage: Immutable. Webpage. @@ -9893,6 +10293,10 @@ func (s *GoogleAdsSearchads360V0Services__RawEventConversionMetricHeader) Marsha // GoogleAdsSearchads360V0Services__SearchAds360Row: A returned row from // the query. type GoogleAdsSearchads360V0Services__SearchAds360Row struct { + // AccessibleBiddingStrategy: The accessible bidding strategy referenced + // in the query. + AccessibleBiddingStrategy *GoogleAdsSearchads360V0Resources__AccessibleBiddingStrategy `json:"accessibleBiddingStrategy,omitempty"` + // AdGroup: The ad group referenced in the query. AdGroup *GoogleAdsSearchads360V0Resources__AdGroup `json:"adGroup,omitempty"` @@ -10061,20 +10465,22 @@ type GoogleAdsSearchads360V0Services__SearchAds360Row struct { // WebpageView: The webpage view referenced in the query. WebpageView *GoogleAdsSearchads360V0Resources__WebpageView `json:"webpageView,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdGroup") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AccessibleBiddingStrategy") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdGroup") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AccessibleBiddingStrategy") to include in API requests with the JSON + // null value. By default, fields with empty values are omitted from API + // requests. However, any field with an empty value appearing in + // NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } diff --git a/securitycenter/v1/securitycenter-api.json b/securitycenter/v1/securitycenter-api.json index d89c831ec62..25e9744411d 100644 --- a/securitycenter/v1/securitycenter-api.json +++ b/securitycenter/v1/securitycenter-api.json @@ -5820,7 +5820,7 @@ } } }, - "revision": "20240226", + "revision": "20240415", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -5912,6 +5912,18 @@ }, "type": "object" }, + "AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "Application": { "description": "Represents an application associated with a finding.", "id": "Application", @@ -6006,6 +6018,27 @@ }, "type": "object" }, + "Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", @@ -6225,6 +6258,69 @@ }, "type": "object" }, + "AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "AwsMetadata", + "properties": { + "account": { + "$ref": "AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -6348,6 +6444,38 @@ }, "type": "object" }, + "CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", @@ -6451,6 +6579,22 @@ "description": "The category of Findings matching.", "type": "string" }, + "cloudProvider": { + "description": "The cloud provider for the compliance snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "complianceStandard": { "description": "The compliance standard (ie CIS).", "type": "string" @@ -6472,10 +6616,6 @@ "description": "The compliance snapshot name. Format: //sources//complianceSnapshots/", "type": "string" }, - "projectDisplayName": { - "description": "The CRM resource display name that is closest to the snapshot the Findings belong to.", - "type": "string" - }, "snapshotTime": { "description": "The snapshot time of the snapshot.", "format": "google-datetime", @@ -7176,6 +7316,10 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -7351,6 +7495,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -7448,6 +7596,41 @@ }, "type": "object" }, + "GcpMetadata": { + "description": "GCP metadata associated with the resource, only applicable if the finding's cloud provider is Google Cloud Platform.", + "id": "GcpMetadata", + "properties": { + "folders": { + "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2Folder" + }, + "readOnly": true, + "type": "array" + }, + "organization": { + "description": "The name of the organization that the resource belongs to.", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "The human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "The project ID that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "Geolocation": { "description": "Represents a geographical location for a given access.", "id": "Geolocation", @@ -7792,6 +7975,26 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "awsMetadata": { + "$ref": "AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the resource resides in.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" @@ -7804,10 +8007,18 @@ "readOnly": true, "type": "array" }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "organization": { + "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", + "type": "string" + }, "parent": { "description": "The full resource name of resource's parent.", "type": "string" @@ -7824,6 +8035,18 @@ "description": "The project ID that the resource belongs to.", "type": "string" }, + "resourcePath": { + "$ref": "ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -7849,6 +8072,22 @@ "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -8359,6 +8598,18 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Application": { "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", @@ -8374,6 +8625,27 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "GoogleCloudSecuritycenterV2Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", @@ -8425,6 +8697,69 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "GoogleCloudSecuritycenterV2AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "GoogleCloudSecuritycenterV2AwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "GoogleCloudSecuritycenterV2AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -8559,6 +8894,38 @@ "properties": {}, "type": "object" }, + "GoogleCloudSecuritycenterV2CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "GoogleCloudSecuritycenterV2CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "GoogleCloudSecuritycenterV2Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "GoogleCloudSecuritycenterV2Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", @@ -9211,6 +9578,10 @@ "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "GoogleCloudSecuritycenterV2CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -9387,6 +9758,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "GoogleCloudSecuritycenterV2Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -9470,6 +9845,21 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Folder": { + "description": "Message that contains the resource name and display name of a folder resource.", + "id": "GoogleCloudSecuritycenterV2Folder", + "properties": { + "resourceFolder": { + "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "resourceFolderDisplayName": { + "description": "The user defined display name for this folder.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Geolocation": { "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", @@ -9757,6 +10147,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -9818,6 +10209,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -9924,6 +10316,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -9985,6 +10378,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -10124,6 +10518,30 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "GoogleCloudSecuritycenterV2Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2NotificationMessage": { "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", @@ -10357,18 +10775,85 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Resource": { "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the finding is from.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" }, + "gcpMetadata": { + "$ref": "GcpMetadata", + "description": "The GCP metadata associated with the finding." + }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "resourcePath": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The service or resource provider associated with the resource.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -10376,10 +10861,83 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "GoogleCloudSecuritycenterV2ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "GoogleCloudSecuritycenterV2ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -10501,7 +11059,7 @@ "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/assets/{asset_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/assets/{asset_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\"", + "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { @@ -10518,6 +11076,25 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", @@ -11519,6 +12096,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -11580,6 +12158,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -11686,6 +12265,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -11747,6 +12327,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -11838,6 +12419,30 @@ }, "type": "object" }, + "Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "NotificationConfig": { "description": "Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.", "id": "NotificationConfig", @@ -12199,10 +12804,57 @@ }, "type": "object" }, + "Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Resource": { "description": "Information related to the Google Cloud resource that is associated with this finding.", "id": "Resource", "properties": { + "awsMetadata": { + "$ref": "AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the finding is from.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" @@ -12214,10 +12866,18 @@ }, "type": "array" }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "organization": { + "description": "Indicates which organization / tenant the finding is for.", + "type": "string" + }, "parentDisplayName": { "description": "The human readable name of resource's parent.", "type": "string" @@ -12234,6 +12894,18 @@ "description": "The full resource name of project that the resource belongs to.", "type": "string" }, + "resourcePath": { + "$ref": "ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The service or resource provider associated with the resource.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -12241,6 +12913,63 @@ }, "type": "object" }, + "ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "ResourceValueConfigMetadata": { "description": "Metadata about a ResourceValueConfig. For example, id and name.", "id": "ResourceValueConfigMetadata", @@ -12378,6 +13107,25 @@ }, "type": "object" }, + "SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", @@ -12572,6 +13320,22 @@ "description": "Attack path simulation", "id": "Simulation", "properties": { + "cloudProvider": { + "description": "Indicates which cloud provider was used in this simulation.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Time simulation was created", "format": "google-datetime", @@ -12844,6 +13608,57 @@ }, "type": "object" }, + "VulnerabilityCountBySeverity": { + "description": "Vulnerability count by severity.", + "id": "VulnerabilityCountBySeverity", + "properties": { + "severityToFindingCount": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Key is the Severity enum.", + "type": "object" + } + }, + "type": "object" + }, + "VulnerabilitySnapshot": { + "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", + "id": "VulnerabilitySnapshot", + "properties": { + "cloudProvider": { + "description": "The cloud provider for the vulnerability snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, + "findingCount": { + "$ref": "VulnerabilityCountBySeverity", + "description": "The vulnerability count by severity." + }, + "name": { + "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", + "type": "string" + }, + "snapshotTime": { + "description": "The time that the snapshot was taken.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "YaraRuleSignature": { "description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go index 1f8ca1c1e84..34c06ed0a61 100644 --- a/securitycenter/v1/securitycenter-gen.go +++ b/securitycenter/v1/securitycenter-gen.go @@ -1016,6 +1016,55 @@ func (s *AccessReview) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AdaptiveProtection: Information about Google Cloud Armor Adaptive +// Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod AdaptiveProtection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + // Application: Represents an application associated with a finding. type Application struct { // BaseUri: The base URI that identifies the network location of the @@ -1165,6 +1214,42 @@ func (s *AssetDiscoveryConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Attack: Information about DDoS attack volume and classification. +type Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Attack) MarshalJSON() ([]byte, error) { + type NoMethod Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AttackExposure: An attack exposure contains the results of an attack // path simulation run. type AttackExposure struct { @@ -1507,6 +1592,147 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AwsAccount: An AWS account that is a member of an organization. +type AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsMetadata: AWS metadata associated with the resource, only +// applicable if the finding's cloud provider is Amazon Web Services. +type AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganization: An organization is a collection of accounts that are +// centrally managed together using consolidated billing, organized +// hierarchically with organizational units (OUs), and controlled with +// policies. +type AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganizationalUnit: An Organizational Unit (OU) is a container of +// AWS accounts within a root of an organization. Policies that are +// attached to an OU apply to all accounts contained in that OU and in +// any child OUs. +type AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup // and DR Service findings. type BackupDisasterRecovery struct { @@ -1814,6 +2040,59 @@ func (s *BulkMuteFindingsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CloudArmor: Fields related to Google Cloud Armor findings. +type CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -1984,6 +2263,16 @@ type ComplianceSnapshot struct { // Category: The category of Findings matching. Category string `json:"category,omitempty"` + // CloudProvider: The cloud provider for the compliance snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // ComplianceStandard: The compliance standard (ie CIS). ComplianceStandard string `json:"complianceStandard,omitempty"` @@ -2001,10 +2290,6 @@ type ComplianceSnapshot struct { // //sources//complianceSnapshots/ Name string `json:"name,omitempty"` - // ProjectDisplayName: The CRM resource display name that is closest to - // the snapshot the Findings belong to. - ProjectDisplayName string `json:"projectDisplayName,omitempty"` - // SnapshotTime: The snapshot time of the snapshot. SnapshotTime string `json:"snapshotTime,omitempty"` @@ -3094,6 +3379,9 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -3243,6 +3531,9 @@ type Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*OrgPolicy `json:"orgPolicies,omitempty"` @@ -3406,6 +3697,54 @@ func (s *Folder) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GcpMetadata: GCP metadata associated with the resource, only +// applicable if the finding's cloud provider is Google Cloud Platform. +type GcpMetadata struct { + // Folders: Output only. Contains a Folder message for each folder in + // the assets ancestry. The first folder is the deepest nested folder, + // and the last folder is the folder directly under the Organization. + Folders []*GoogleCloudSecuritycenterV2Folder `json:"folders,omitempty"` + + // Organization: The name of the organization that the resource belongs + // to. + Organization string `json:"organization,omitempty"` + + // Parent: The full resource name of resource's parent. + Parent string `json:"parent,omitempty"` + + // ParentDisplayName: The human readable name of resource's parent. + ParentDisplayName string `json:"parentDisplayName,omitempty"` + + // Project: The full resource name of project that the resource belongs + // to. + Project string `json:"project,omitempty"` + + // ProjectDisplayName: The project ID that the resource belongs to. + ProjectDisplayName string `json:"projectDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Folders") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Folders") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GcpMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GcpMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Geolocation: Represents a geographical location for a given access. type Geolocation struct { // RegionCode: A CLDR. @@ -4018,6 +4357,20 @@ func (s *GoogleCloudSecuritycenterV1Property) MarshalJSON() ([]byte, error) { // GoogleCloudSecuritycenterV1Resource: Information related to the // Google Cloud resource. type GoogleCloudSecuritycenterV1Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the resource resides + // in. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // DisplayName: The human readable name of the resource. DisplayName string `json:"displayName,omitempty"` @@ -4026,10 +4379,17 @@ type GoogleCloudSecuritycenterV1Resource struct { // and the last folder is the folder directly under the Organization. Folders []*Folder `json:"folders,omitempty"` + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + // Name: The full resource name of the resource. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name Name string `json:"name,omitempty"` + // Organization: Indicates which organization or tenant in the cloud + // provider the finding applies to. + Organization string `json:"organization,omitempty"` + // Parent: The full resource name of resource's parent. Parent string `json:"parent,omitempty"` @@ -4043,10 +4403,31 @@ type GoogleCloudSecuritycenterV1Resource struct { // ProjectDisplayName: The project ID that the resource belongs to. ProjectDisplayName string `json:"projectDisplayName,omitempty"` + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The parent service or product from which the resource is + // provided, for example, GKE or SNS. + Service string `json:"service,omitempty"` + // Type: The full resource type of the resource. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4054,7 +4435,7 @@ type GoogleCloudSecuritycenterV1Resource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "AwsMetadata") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -4102,6 +4483,16 @@ func (s *GoogleCloudSecuritycenterV1ResourceSelector) MarshalJSON() ([]byte, err // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV1ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -4162,7 +4553,7 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4170,10 +4561,10 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -4880,19 +5271,19 @@ func (s *GoogleCloudSecuritycenterV2AccessReview) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Application: Represents an application -// associated with a finding. -type GoogleCloudSecuritycenterV2Application struct { - // BaseUri: The base URI that identifies the network location of the - // application in which the vulnerability was detected. For example, - // `http://example.com`. - BaseUri string `json:"baseUri,omitempty"` - - // FullUri: The full URI with payload that could be used to reproduce - // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - FullUri string `json:"fullUri,omitempty"` +// GoogleCloudSecuritycenterV2AdaptiveProtection: Information about +// Google Cloud Armor Adaptive Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type GoogleCloudSecuritycenterV2AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseUri") to + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4900,7 +5291,7 @@ type GoogleCloudSecuritycenterV2Application struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseUri") to include in + // NullFields is a list of field names (e.g. "Confidence") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -4909,16 +5300,102 @@ type GoogleCloudSecuritycenterV2Application struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Application +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure -// contains the results of an attack path simulation run. -type GoogleCloudSecuritycenterV2AttackExposure struct { - // AttackExposureResult: The resource name of the attack path simulation +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudSecuritycenterV2Application: Represents an application +// associated with a finding. +type GoogleCloudSecuritycenterV2Application struct { + // BaseUri: The base URI that identifies the network location of the + // application in which the vulnerability was detected. For example, + // `http://example.com`. + BaseUri string `json:"baseUri,omitempty"` + + // FullUri: The full URI with payload that could be used to reproduce + // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + FullUri string `json:"fullUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseUri") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Application + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2Attack: Information about DDoS attack +// volume and classification. +type GoogleCloudSecuritycenterV2Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Attack) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure +// contains the results of an attack path simulation run. +type GoogleCloudSecuritycenterV2AttackExposure struct { + // AttackExposureResult: The resource name of the attack path simulation // result that contains the details regarding this attack exposure // score. Example: // organizations/123/simulations/456/attackExposureResults/789 @@ -4994,6 +5471,149 @@ func (s *GoogleCloudSecuritycenterV2AttackExposure) UnmarshalJSON(data []byte) e return nil } +// GoogleCloudSecuritycenterV2AwsAccount: An AWS account that is a +// member of an organization. +type GoogleCloudSecuritycenterV2AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsMetadata: AWS metadata associated with +// the resource, only applicable if the finding's cloud provider is +// Amazon Web Services. +type GoogleCloudSecuritycenterV2AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *GoogleCloudSecuritycenterV2AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *GoogleCloudSecuritycenterV2AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*GoogleCloudSecuritycenterV2AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganization: An organization is a +// collection of accounts that are centrally managed together using +// consolidated billing, organized hierarchically with organizational +// units (OUs), and controlled with policies. +type GoogleCloudSecuritycenterV2AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganizationalUnit: An Organizational +// Unit (OU) is a container of AWS accounts within a root of an +// organization. Policies that are attached to an OU apply to all +// accounts contained in that OU and in any child OUs. +type GoogleCloudSecuritycenterV2AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information // related to Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -5205,6 +5825,60 @@ func (s *GoogleCloudSecuritycenterV2Binding) MarshalJSON() ([]byte, error) { type GoogleCloudSecuritycenterV2BulkMuteFindingsResponse struct { } +// GoogleCloudSecuritycenterV2CloudArmor: Fields related to Google Cloud +// Armor findings. +type GoogleCloudSecuritycenterV2CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *GoogleCloudSecuritycenterV2AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *GoogleCloudSecuritycenterV2Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *GoogleCloudSecuritycenterV2Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *GoogleCloudSecuritycenterV2SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -6195,6 +6869,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // from a given source. Example: "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *GoogleCloudSecuritycenterV2CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *GoogleCloudSecuritycenterV2CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -6350,6 +7027,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *GoogleCloudSecuritycenterV2Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*GoogleCloudSecuritycenterV2OrgPolicy `json:"orgPolicies,omitempty"` @@ -6481,6 +7161,41 @@ func (s *GoogleCloudSecuritycenterV2Finding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Folder: Message that contains the resource +// name and display name of a folder resource. +type GoogleCloudSecuritycenterV2Folder struct { + // ResourceFolder: Full resource name of this folder. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + ResourceFolder string `json:"resourceFolder,omitempty"` + + // ResourceFolderDisplayName: The user defined display name for this + // folder. + ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResourceFolder") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResourceFolder") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Folder) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Folder + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Geolocation: Represents a geographical // location for a given access. type GoogleCloudSecuritycenterV2Geolocation struct { @@ -6884,6 +7599,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -6975,6 +7691,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -7197,6 +7914,47 @@ func (s *GoogleCloudSecuritycenterV2NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Notebook: Represents a Jupyter notebook +// IPYNB file, such as a Colab Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type GoogleCloudSecuritycenterV2Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Notebook) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2NotificationMessage: Cloud SCC's // Notification type GoogleCloudSecuritycenterV2NotificationMessage struct { @@ -7562,18 +8320,197 @@ func (s *GoogleCloudSecuritycenterV2Reference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Resource: Information related to the -// Google Cloud resource. -type GoogleCloudSecuritycenterV2Resource struct { - // DisplayName: The human readable name of the resource. +// GoogleCloudSecuritycenterV2Requests: Information about the requests +// relevant to the finding. +type GoogleCloudSecuritycenterV2Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` + + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` + + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` + + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Requests) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudSecuritycenterV2Requests) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + +// GoogleCloudSecuritycenterV2Resource: Information related to the +// Google Cloud resource. +type GoogleCloudSecuritycenterV2Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *GoogleCloudSecuritycenterV2AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the finding is from. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // DisplayName: The human readable name of the resource. + DisplayName string `json:"displayName,omitempty"` + + // GcpMetadata: The GCP metadata associated with the finding. + GcpMetadata *GcpMetadata `json:"gcpMetadata,omitempty"` + + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + + // Name: The full resource name of the resource. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + Name string `json:"name,omitempty"` + + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *GoogleCloudSecuritycenterV2ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The service or resource provider associated with the + // resource. + Service string `json:"service,omitempty"` + + // Type: The full resource type of the resource. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AwsMetadata") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Resource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2ResourcePath: Represents the path of +// resources leading up to the resource this finding is about. +type GoogleCloudSecuritycenterV2ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*GoogleCloudSecuritycenterV2ResourcePathNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2ResourcePathNode: A node within the +// resource path. Each node represents a resource within the resource +// hierarchy. +type GoogleCloudSecuritycenterV2ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. DisplayName string `json:"displayName,omitempty"` - // Name: The full resource name of the resource. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name - Name string `json:"name,omitempty"` + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` - // Type: The full resource type of the resource. - Type string `json:"type,omitempty"` + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with @@ -7592,8 +8529,8 @@ type GoogleCloudSecuritycenterV2Resource struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Resource +func (s *GoogleCloudSecuritycenterV2ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePathNode raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -7602,6 +8539,16 @@ func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV2ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -7658,7 +8605,7 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // last updated. UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -7666,10 +8613,10 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -7765,21 +8712,21 @@ func (s *GoogleCloudSecuritycenterV2SecurityBulletin) MarshalJSON() ([]byte, err type GoogleCloudSecuritycenterV2SecurityMarks struct { // CanonicalName: The canonical name of the marks. The following list // shows some examples: + - // `organizations/{organization_id}/assets/{asset_id}/securityMarks" + + // `organizations/{organization_id}/assets/{asset_id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/findings/{finding - // _id}/securityMarks" + + // _id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/locations/{locati - // on}/findings/{finding_id}/securityMarks" + - // `folders/{folder_id}/assets/{asset_id}/securityMarks" + + // on}/findings/{finding_id}/securityMarks` + + // `folders/{folder_id}/assets/{asset_id}/securityMarks` + // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securit - // yMarks" + + // yMarks` + // `folders/{folder_id}/sources/{source_id}/locations/{location}/findings - // /{finding_id}/securityMarks" + - // `projects/{project_number}/assets/{asset_id}/securityMarks" + + // /{finding_id}/securityMarks` + + // `projects/{project_number}/assets/{asset_id}/securityMarks` + // `projects/{project_number}/sources/{source_id}/findings/{finding_id}/s - // ecurityMarks" + + // ecurityMarks` + // `projects/{project_number}/sources/{source_id}/locations/{location}/fi - // ndings/{finding_id}/securityMarks" + // ndings/{finding_id}/securityMarks` CanonicalName string `json:"canonicalName,omitempty"` // Marks: Mutable user specified security marks belonging to the parent @@ -7823,6 +8770,47 @@ func (s *GoogleCloudSecuritycenterV2SecurityMarks) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2SecurityPolicy: Information about the +// Google Cloud Armor security policy +// (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type GoogleCloudSecuritycenterV2SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2SecurityPosture: Represents a posture that // is deployed on Google Cloud by the Security Command Center Posture // Management service. A posture contains one or more policy sets. A @@ -9594,6 +10582,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -9685,6 +10674,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -9826,6 +10816,47 @@ func (s *NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Notebook: Represents a Jupyter notebook IPYNB file, such as a Colab +// Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Notebook) MarshalJSON() ([]byte, error) { + type NoMethod Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NotificationConfig: Cloud Security Command Center (Cloud SCC) // notification configs. A notification config is a Cloud SCC resource // that contains the configuration to send notifications for @@ -10493,9 +11524,79 @@ func (s *Reference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Requests: Information about the requests relevant to the finding. +type Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` + + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` + + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` + + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Requests) MarshalJSON() ([]byte, error) { + type NoMethod Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Requests) UnmarshalJSON(data []byte) error { + type NoMethod Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + // Resource: Information related to the Google Cloud resource that is // associated with this finding. type Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the finding is from. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // DisplayName: The human readable name of the resource. DisplayName string `json:"displayName,omitempty"` @@ -10504,10 +11605,17 @@ type Resource struct { // folder is the folder directly under the Organization. Folders []*Folder `json:"folders,omitempty"` + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + // Name: The full resource name of the resource. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name Name string `json:"name,omitempty"` + // Organization: Indicates which organization / tenant the finding is + // for. + Organization string `json:"organization,omitempty"` + // ParentDisplayName: The human readable name of resource's parent. ParentDisplayName string `json:"parentDisplayName,omitempty"` @@ -10521,10 +11629,31 @@ type Resource struct { // belongs to. ProjectName string `json:"projectName,omitempty"` + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{p + // roject_id} where there can be any number of folders. For AWS, it has + // the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The service or resource provider associated with the + // resource. + Service string `json:"service,omitempty"` + // Type: The full resource type of the resource. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -10532,7 +11661,7 @@ type Resource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "AwsMetadata") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -10547,6 +11676,86 @@ func (s *Resource) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ResourcePath: Represents the path of resources leading up to the +// resource this finding is about. +type ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*ResourcePathNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResourcePathNode: A node within the resource path. Each node +// represents a resource within the resource hierarchy. +type ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. + DisplayName string `json:"displayName,omitempty"` + + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` + + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePathNode + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ResourceValueConfigMetadata: Metadata about a ResourceValueConfig. // For example, id and name. type ResourceValueConfigMetadata struct { @@ -10786,6 +11995,46 @@ func (s *SecurityMarks) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SecurityPolicy: Information about the Google Cloud Armor security +// policy (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SecurityPosture: Represents a posture that is deployed on Google // Cloud by the Security Command Center Posture Management service. A // posture contains one or more policy sets. A policy set is a group of @@ -11141,6 +12390,17 @@ func (s *SimulatedResult) MarshalJSON() ([]byte, error) { // Simulation: Attack path simulation type Simulation struct { + // CloudProvider: Indicates which cloud provider was used in this + // simulation. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Time simulation was created CreateTime string `json:"createTime,omitempty"` @@ -11156,7 +12416,7 @@ type Simulation struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -11164,10 +12424,10 @@ type Simulation struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -11660,6 +12920,82 @@ func (s *Vulnerability) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VulnerabilityCountBySeverity: Vulnerability count by severity. +type VulnerabilityCountBySeverity struct { + // SeverityToFindingCount: Key is the Severity enum. + SeverityToFindingCount map[string]string `json:"severityToFindingCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "SeverityToFindingCount") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SeverityToFindingCount") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilityCountBySeverity) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilityCountBySeverity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// VulnerabilitySnapshot: Result containing the properties and count of +// a VulnerabilitySnapshot request. +type VulnerabilitySnapshot struct { + // CloudProvider: The cloud provider for the vulnerability snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // FindingCount: The vulnerability count by severity. + FindingCount *VulnerabilityCountBySeverity `json:"findingCount,omitempty"` + + // Name: Identifier. The vulnerability snapshot name. Format: + // //locations//vulnerabilitySnapshots/ + Name string `json:"name,omitempty"` + + // SnapshotTime: The time that the snapshot was taken. + SnapshotTime string `json:"snapshotTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CloudProvider") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilitySnapshot) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilitySnapshot + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // YaraRuleSignature: A signature corresponding to a YARA rule. type YaraRuleSignature struct { // YaraRule: The name of the YARA rule. diff --git a/securitycenter/v1beta1/securitycenter-api.json b/securitycenter/v1beta1/securitycenter-api.json index 8675c2f96ef..af3c12e3007 100644 --- a/securitycenter/v1beta1/securitycenter-api.json +++ b/securitycenter/v1beta1/securitycenter-api.json @@ -896,7 +896,7 @@ } } }, - "revision": "20240226", + "revision": "20240415", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -988,6 +988,18 @@ }, "type": "object" }, + "AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "Application": { "description": "Represents an application associated with a finding.", "id": "Application", @@ -1067,6 +1079,27 @@ }, "type": "object" }, + "Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", @@ -1165,6 +1198,69 @@ }, "type": "object" }, + "AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "AwsMetadata", + "properties": { + "account": { + "$ref": "AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -1250,6 +1346,38 @@ "properties": {}, "type": "object" }, + "CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", @@ -1353,6 +1481,22 @@ "description": "The category of Findings matching.", "type": "string" }, + "cloudProvider": { + "description": "The cloud provider for the compliance snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "complianceStandard": { "description": "The compliance standard (ie CIS).", "type": "string" @@ -1374,10 +1518,6 @@ "description": "The compliance snapshot name. Format: //sources//complianceSnapshots/", "type": "string" }, - "projectDisplayName": { - "description": "The CRM resource display name that is closest to the snapshot the Findings belong to.", - "type": "string" - }, "snapshotTime": { "description": "The snapshot time of the snapshot.", "format": "google-datetime", @@ -1913,6 +2053,10 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -2088,6 +2232,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -2185,6 +2333,41 @@ }, "type": "object" }, + "GcpMetadata": { + "description": "GCP metadata associated with the resource, only applicable if the finding's cloud provider is Google Cloud Platform.", + "id": "GcpMetadata", + "properties": { + "folders": { + "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2Folder" + }, + "readOnly": true, + "type": "array" + }, + "organization": { + "description": "The name of the organization that the resource belongs to.", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "The human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "The project ID that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "Geolocation": { "description": "Represents a geographical location for a given access.", "id": "Geolocation", @@ -2529,6 +2712,26 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "awsMetadata": { + "$ref": "AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the resource resides in.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" @@ -2541,10 +2744,18 @@ "readOnly": true, "type": "array" }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "organization": { + "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", + "type": "string" + }, "parent": { "description": "The full resource name of resource's parent.", "type": "string" @@ -2561,6 +2772,18 @@ "description": "The project ID that the resource belongs to.", "type": "string" }, + "resourcePath": { + "$ref": "ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -2586,6 +2809,22 @@ "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -3177,6 +3416,18 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Application": { "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", @@ -3192,6 +3443,27 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "GoogleCloudSecuritycenterV2Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", @@ -3243,6 +3515,69 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "GoogleCloudSecuritycenterV2AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "GoogleCloudSecuritycenterV2AwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "GoogleCloudSecuritycenterV2AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -3377,6 +3712,38 @@ "properties": {}, "type": "object" }, + "GoogleCloudSecuritycenterV2CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "GoogleCloudSecuritycenterV2CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "GoogleCloudSecuritycenterV2Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "GoogleCloudSecuritycenterV2Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", @@ -4029,6 +4396,10 @@ "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "GoogleCloudSecuritycenterV2CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -4205,6 +4576,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "GoogleCloudSecuritycenterV2Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -4288,6 +4663,21 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Folder": { + "description": "Message that contains the resource name and display name of a folder resource.", + "id": "GoogleCloudSecuritycenterV2Folder", + "properties": { + "resourceFolder": { + "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "resourceFolderDisplayName": { + "description": "The user defined display name for this folder.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Geolocation": { "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", @@ -4575,6 +4965,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -4636,6 +5027,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -4742,6 +5134,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -4803,6 +5196,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -4942,6 +5336,30 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "GoogleCloudSecuritycenterV2Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2NotificationMessage": { "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", @@ -5175,18 +5593,85 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Resource": { "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the finding is from.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" }, + "gcpMetadata": { + "$ref": "GcpMetadata", + "description": "The GCP metadata associated with the finding." + }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "resourcePath": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The service or resource provider associated with the resource.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -5194,10 +5679,83 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "GoogleCloudSecuritycenterV2ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "GoogleCloudSecuritycenterV2ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -5319,7 +5877,7 @@ "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/assets/{asset_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/assets/{asset_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\"", + "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { @@ -5336,6 +5894,25 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", @@ -6058,6 +6635,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -6119,6 +6697,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -6225,6 +6804,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -6286,6 +6866,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -6377,6 +6958,30 @@ }, "type": "object" }, + "Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "Object": { "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", @@ -6676,6 +7281,90 @@ }, "type": "object" }, + "Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "Role": { "description": "Kubernetes Role or ClusterRole.", "id": "Role", @@ -6783,6 +7472,25 @@ }, "type": "object" }, + "SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", @@ -7042,6 +7750,57 @@ }, "type": "object" }, + "VulnerabilityCountBySeverity": { + "description": "Vulnerability count by severity.", + "id": "VulnerabilityCountBySeverity", + "properties": { + "severityToFindingCount": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Key is the Severity enum.", + "type": "object" + } + }, + "type": "object" + }, + "VulnerabilitySnapshot": { + "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", + "id": "VulnerabilitySnapshot", + "properties": { + "cloudProvider": { + "description": "The cloud provider for the vulnerability snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, + "findingCount": { + "$ref": "VulnerabilityCountBySeverity", + "description": "The vulnerability count by severity." + }, + "name": { + "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", + "type": "string" + }, + "snapshotTime": { + "description": "The time that the snapshot was taken.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "YaraRuleSignature": { "description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go index 9eb8df93f98..58a5d9b71d1 100644 --- a/securitycenter/v1beta1/securitycenter-gen.go +++ b/securitycenter/v1beta1/securitycenter-gen.go @@ -356,6 +356,55 @@ func (s *AccessReview) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AdaptiveProtection: Information about Google Cloud Armor Adaptive +// Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod AdaptiveProtection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + // Application: Represents an application associated with a finding. type Application struct { // BaseUri: The base URI that identifies the network location of the @@ -488,6 +537,42 @@ func (s *AssetDiscoveryConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Attack: Information about DDoS attack volume and classification. +type Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Attack) MarshalJSON() ([]byte, error) { + type NoMethod Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AttackExposure: An attack exposure contains the results of an attack // path simulation run. type AttackExposure struct { @@ -663,6 +748,147 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AwsAccount: An AWS account that is a member of an organization. +type AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsMetadata: AWS metadata associated with the resource, only +// applicable if the finding's cloud provider is Amazon Web Services. +type AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganization: An organization is a collection of accounts that are +// centrally managed together using consolidated billing, organized +// hierarchically with organizational units (OUs), and controlled with +// policies. +type AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganizationalUnit: An Organizational Unit (OU) is a container of +// AWS accounts within a root of an organization. Policies that are +// attached to an OU apply to all accounts contained in that OU and in +// any child OUs. +type AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup // and DR Service findings. type BackupDisasterRecovery struct { @@ -866,6 +1092,59 @@ func (s *Binding) MarshalJSON() ([]byte, error) { type CancelOperationRequest struct { } +// CloudArmor: Fields related to Google Cloud Armor findings. +type CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -1036,6 +1315,16 @@ type ComplianceSnapshot struct { // Category: The category of Findings matching. Category string `json:"category,omitempty"` + // CloudProvider: The cloud provider for the compliance snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // ComplianceStandard: The compliance standard (ie CIS). ComplianceStandard string `json:"complianceStandard,omitempty"` @@ -1053,10 +1342,6 @@ type ComplianceSnapshot struct { // //sources//complianceSnapshots/ Name string `json:"name,omitempty"` - // ProjectDisplayName: The CRM resource display name that is closest to - // the snapshot the Findings belong to. - ProjectDisplayName string `json:"projectDisplayName,omitempty"` - // SnapshotTime: The snapshot time of the snapshot. SnapshotTime string `json:"snapshotTime,omitempty"` @@ -1885,6 +2170,9 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -2034,6 +2322,9 @@ type Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*OrgPolicy `json:"orgPolicies,omitempty"` @@ -2193,6 +2484,54 @@ func (s *Folder) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GcpMetadata: GCP metadata associated with the resource, only +// applicable if the finding's cloud provider is Google Cloud Platform. +type GcpMetadata struct { + // Folders: Output only. Contains a Folder message for each folder in + // the assets ancestry. The first folder is the deepest nested folder, + // and the last folder is the folder directly under the Organization. + Folders []*GoogleCloudSecuritycenterV2Folder `json:"folders,omitempty"` + + // Organization: The name of the organization that the resource belongs + // to. + Organization string `json:"organization,omitempty"` + + // Parent: The full resource name of resource's parent. + Parent string `json:"parent,omitempty"` + + // ParentDisplayName: The human readable name of resource's parent. + ParentDisplayName string `json:"parentDisplayName,omitempty"` + + // Project: The full resource name of project that the resource belongs + // to. + Project string `json:"project,omitempty"` + + // ProjectDisplayName: The project ID that the resource belongs to. + ProjectDisplayName string `json:"projectDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Folders") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Folders") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GcpMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GcpMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Geolocation: Represents a geographical location for a given access. type Geolocation struct { // RegionCode: A CLDR. @@ -2789,6 +3128,20 @@ func (s *GoogleCloudSecuritycenterV1Property) MarshalJSON() ([]byte, error) { // GoogleCloudSecuritycenterV1Resource: Information related to the // Google Cloud resource. type GoogleCloudSecuritycenterV1Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the resource resides + // in. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // DisplayName: The human readable name of the resource. DisplayName string `json:"displayName,omitempty"` @@ -2797,10 +3150,17 @@ type GoogleCloudSecuritycenterV1Resource struct { // and the last folder is the folder directly under the Organization. Folders []*Folder `json:"folders,omitempty"` + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + // Name: The full resource name of the resource. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name Name string `json:"name,omitempty"` + // Organization: Indicates which organization or tenant in the cloud + // provider the finding applies to. + Organization string `json:"organization,omitempty"` + // Parent: The full resource name of resource's parent. Parent string `json:"parent,omitempty"` @@ -2814,10 +3174,31 @@ type GoogleCloudSecuritycenterV1Resource struct { // ProjectDisplayName: The project ID that the resource belongs to. ProjectDisplayName string `json:"projectDisplayName,omitempty"` + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The parent service or product from which the resource is + // provided, for example, GKE or SNS. + Service string `json:"service,omitempty"` + // Type: The full resource type of the resource. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2825,7 +3206,7 @@ type GoogleCloudSecuritycenterV1Resource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "AwsMetadata") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -2873,6 +3254,16 @@ func (s *GoogleCloudSecuritycenterV1ResourceSelector) MarshalJSON() ([]byte, err // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV1ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -2929,7 +3320,7 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // last updated. UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2937,10 +3328,10 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -3793,19 +4184,19 @@ func (s *GoogleCloudSecuritycenterV2AccessReview) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Application: Represents an application -// associated with a finding. -type GoogleCloudSecuritycenterV2Application struct { - // BaseUri: The base URI that identifies the network location of the - // application in which the vulnerability was detected. For example, - // `http://example.com`. - BaseUri string `json:"baseUri,omitempty"` - - // FullUri: The full URI with payload that could be used to reproduce - // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - FullUri string `json:"fullUri,omitempty"` +// GoogleCloudSecuritycenterV2AdaptiveProtection: Information about +// Google Cloud Armor Adaptive Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type GoogleCloudSecuritycenterV2AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseUri") to + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -3813,7 +4204,7 @@ type GoogleCloudSecuritycenterV2Application struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseUri") to include in + // NullFields is a list of field names (e.g. "Confidence") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -3822,15 +4213,101 @@ type GoogleCloudSecuritycenterV2Application struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Application +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure -// contains the results of an attack path simulation run. -type GoogleCloudSecuritycenterV2AttackExposure struct { +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudSecuritycenterV2Application: Represents an application +// associated with a finding. +type GoogleCloudSecuritycenterV2Application struct { + // BaseUri: The base URI that identifies the network location of the + // application in which the vulnerability was detected. For example, + // `http://example.com`. + BaseUri string `json:"baseUri,omitempty"` + + // FullUri: The full URI with payload that could be used to reproduce + // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + FullUri string `json:"fullUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseUri") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Application + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2Attack: Information about DDoS attack +// volume and classification. +type GoogleCloudSecuritycenterV2Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Attack) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure +// contains the results of an attack path simulation run. +type GoogleCloudSecuritycenterV2AttackExposure struct { // AttackExposureResult: The resource name of the attack path simulation // result that contains the details regarding this attack exposure // score. Example: @@ -3907,6 +4384,149 @@ func (s *GoogleCloudSecuritycenterV2AttackExposure) UnmarshalJSON(data []byte) e return nil } +// GoogleCloudSecuritycenterV2AwsAccount: An AWS account that is a +// member of an organization. +type GoogleCloudSecuritycenterV2AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsMetadata: AWS metadata associated with +// the resource, only applicable if the finding's cloud provider is +// Amazon Web Services. +type GoogleCloudSecuritycenterV2AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *GoogleCloudSecuritycenterV2AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *GoogleCloudSecuritycenterV2AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*GoogleCloudSecuritycenterV2AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganization: An organization is a +// collection of accounts that are centrally managed together using +// consolidated billing, organized hierarchically with organizational +// units (OUs), and controlled with policies. +type GoogleCloudSecuritycenterV2AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganizationalUnit: An Organizational +// Unit (OU) is a container of AWS accounts within a root of an +// organization. Policies that are attached to an OU apply to all +// accounts contained in that OU and in any child OUs. +type GoogleCloudSecuritycenterV2AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information // related to Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -4118,6 +4738,60 @@ func (s *GoogleCloudSecuritycenterV2Binding) MarshalJSON() ([]byte, error) { type GoogleCloudSecuritycenterV2BulkMuteFindingsResponse struct { } +// GoogleCloudSecuritycenterV2CloudArmor: Fields related to Google Cloud +// Armor findings. +type GoogleCloudSecuritycenterV2CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *GoogleCloudSecuritycenterV2AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *GoogleCloudSecuritycenterV2Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *GoogleCloudSecuritycenterV2Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *GoogleCloudSecuritycenterV2SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -5108,6 +5782,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // from a given source. Example: "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *GoogleCloudSecuritycenterV2CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *GoogleCloudSecuritycenterV2CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -5263,6 +5940,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *GoogleCloudSecuritycenterV2Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*GoogleCloudSecuritycenterV2OrgPolicy `json:"orgPolicies,omitempty"` @@ -5394,6 +6074,41 @@ func (s *GoogleCloudSecuritycenterV2Finding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Folder: Message that contains the resource +// name and display name of a folder resource. +type GoogleCloudSecuritycenterV2Folder struct { + // ResourceFolder: Full resource name of this folder. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + ResourceFolder string `json:"resourceFolder,omitempty"` + + // ResourceFolderDisplayName: The user defined display name for this + // folder. + ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResourceFolder") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResourceFolder") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Folder) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Folder + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Geolocation: Represents a geographical // location for a given access. type GoogleCloudSecuritycenterV2Geolocation struct { @@ -5797,6 +6512,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -5888,6 +6604,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -6110,6 +6827,47 @@ func (s *GoogleCloudSecuritycenterV2NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Notebook: Represents a Jupyter notebook +// IPYNB file, such as a Colab Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type GoogleCloudSecuritycenterV2Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Notebook) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2NotificationMessage: Cloud SCC's // Notification type GoogleCloudSecuritycenterV2NotificationMessage struct { @@ -6437,22 +7195,186 @@ type GoogleCloudSecuritycenterV2ProcessSignature struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2ProcessSignature) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2ProcessSignature +func (s *GoogleCloudSecuritycenterV2ProcessSignature) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ProcessSignature + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2Reference: Additional Links +type GoogleCloudSecuritycenterV2Reference struct { + // Source: Source of the reference e.g. NVD + Source string `json:"source,omitempty"` + + // Uri: Uri for the mentioned source e.g. + // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Source") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Source") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Reference) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Reference + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2Requests: Information about the requests +// relevant to the finding. +type GoogleCloudSecuritycenterV2Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` + + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` + + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` + + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Requests) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudSecuritycenterV2Requests) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + +// GoogleCloudSecuritycenterV2Resource: Information related to the +// Google Cloud resource. +type GoogleCloudSecuritycenterV2Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *GoogleCloudSecuritycenterV2AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the finding is from. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // DisplayName: The human readable name of the resource. + DisplayName string `json:"displayName,omitempty"` + + // GcpMetadata: The GCP metadata associated with the finding. + GcpMetadata *GcpMetadata `json:"gcpMetadata,omitempty"` + + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + + // Name: The full resource name of the resource. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + Name string `json:"name,omitempty"` + + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *GoogleCloudSecuritycenterV2ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The service or resource provider associated with the + // resource. + Service string `json:"service,omitempty"` + + // Type: The full resource type of the resource. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AwsMetadata") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Resource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Reference: Additional Links -type GoogleCloudSecuritycenterV2Reference struct { - // Source: Source of the reference e.g. NVD - Source string `json:"source,omitempty"` - - // Uri: Uri for the mentioned source e.g. - // https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - Uri string `json:"uri,omitempty"` +// GoogleCloudSecuritycenterV2ResourcePath: Represents the path of +// resources leading up to the resource this finding is about. +type GoogleCloudSecuritycenterV2ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*GoogleCloudSecuritycenterV2ResourcePathNode `json:"nodes,omitempty"` - // ForceSendFields is a list of field names (e.g. "Source") to + // ForceSendFields is a list of field names (e.g. "Nodes") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6460,7 +7382,7 @@ type GoogleCloudSecuritycenterV2Reference struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Source") to include in API + // NullFields is a list of field names (e.g. "Nodes") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -6469,24 +7391,39 @@ type GoogleCloudSecuritycenterV2Reference struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Reference) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Reference +func (s *GoogleCloudSecuritycenterV2ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePath raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Resource: Information related to the -// Google Cloud resource. -type GoogleCloudSecuritycenterV2Resource struct { - // DisplayName: The human readable name of the resource. +// GoogleCloudSecuritycenterV2ResourcePathNode: A node within the +// resource path. Each node represents a resource within the resource +// hierarchy. +type GoogleCloudSecuritycenterV2ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. DisplayName string `json:"displayName,omitempty"` - // Name: The full resource name of the resource. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name - Name string `json:"name,omitempty"` + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` - // Type: The full resource type of the resource. - Type string `json:"type,omitempty"` + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with @@ -6505,8 +7442,8 @@ type GoogleCloudSecuritycenterV2Resource struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Resource +func (s *GoogleCloudSecuritycenterV2ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePathNode raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -6515,6 +7452,16 @@ func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV2ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -6571,7 +7518,7 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // last updated. UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6579,10 +7526,10 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -6678,21 +7625,21 @@ func (s *GoogleCloudSecuritycenterV2SecurityBulletin) MarshalJSON() ([]byte, err type GoogleCloudSecuritycenterV2SecurityMarks struct { // CanonicalName: The canonical name of the marks. The following list // shows some examples: + - // `organizations/{organization_id}/assets/{asset_id}/securityMarks" + + // `organizations/{organization_id}/assets/{asset_id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/findings/{finding - // _id}/securityMarks" + + // _id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/locations/{locati - // on}/findings/{finding_id}/securityMarks" + - // `folders/{folder_id}/assets/{asset_id}/securityMarks" + + // on}/findings/{finding_id}/securityMarks` + + // `folders/{folder_id}/assets/{asset_id}/securityMarks` + // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securit - // yMarks" + + // yMarks` + // `folders/{folder_id}/sources/{source_id}/locations/{location}/findings - // /{finding_id}/securityMarks" + - // `projects/{project_number}/assets/{asset_id}/securityMarks" + + // /{finding_id}/securityMarks` + + // `projects/{project_number}/assets/{asset_id}/securityMarks` + // `projects/{project_number}/sources/{source_id}/findings/{finding_id}/s - // ecurityMarks" + + // ecurityMarks` + // `projects/{project_number}/sources/{source_id}/locations/{location}/fi - // ndings/{finding_id}/securityMarks" + // ndings/{finding_id}/securityMarks` CanonicalName string `json:"canonicalName,omitempty"` // Marks: Mutable user specified security marks belonging to the parent @@ -6736,6 +7683,47 @@ func (s *GoogleCloudSecuritycenterV2SecurityMarks) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2SecurityPolicy: Information about the +// Google Cloud Armor security policy +// (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type GoogleCloudSecuritycenterV2SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2SecurityPosture: Represents a posture that // is deployed on Google Cloud by the Security Command Center Posture // Management service. A posture contains one or more policy sets. A @@ -7877,6 +8865,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -7968,6 +8957,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -8109,6 +9099,47 @@ func (s *NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Notebook: Represents a Jupyter notebook IPYNB file, such as a Colab +// Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Notebook) MarshalJSON() ([]byte, error) { + type NoMethod Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Object: Kubernetes object related to the finding, uniquely identified // by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, // Binding, or AccessReview. @@ -8653,6 +9684,143 @@ func (s *Reference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Requests: Information about the requests relevant to the finding. +type Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` + + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` + + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` + + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Requests) MarshalJSON() ([]byte, error) { + type NoMethod Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Requests) UnmarshalJSON(data []byte) error { + type NoMethod Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + +// ResourcePath: Represents the path of resources leading up to the +// resource this finding is about. +type ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*ResourcePathNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResourcePathNode: A node within the resource path. Each node +// represents a resource within the resource hierarchy. +type ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. + DisplayName string `json:"displayName,omitempty"` + + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` + + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePathNode + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Role: Kubernetes Role or ClusterRole. type Role struct { // Kind: Role type. @@ -8843,6 +10011,46 @@ func (s *SecurityMarks) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SecurityPolicy: Information about the Google Cloud Armor security +// policy (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SecurityPosture: Represents a posture that is deployed on Google // Cloud by the Security Command Center Posture Management service. A // posture contains one or more policy sets. A policy set is a group of @@ -9307,6 +10515,82 @@ func (s *Vulnerability) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VulnerabilityCountBySeverity: Vulnerability count by severity. +type VulnerabilityCountBySeverity struct { + // SeverityToFindingCount: Key is the Severity enum. + SeverityToFindingCount map[string]string `json:"severityToFindingCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "SeverityToFindingCount") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SeverityToFindingCount") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilityCountBySeverity) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilityCountBySeverity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// VulnerabilitySnapshot: Result containing the properties and count of +// a VulnerabilitySnapshot request. +type VulnerabilitySnapshot struct { + // CloudProvider: The cloud provider for the vulnerability snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // FindingCount: The vulnerability count by severity. + FindingCount *VulnerabilityCountBySeverity `json:"findingCount,omitempty"` + + // Name: Identifier. The vulnerability snapshot name. Format: + // //locations//vulnerabilitySnapshots/ + Name string `json:"name,omitempty"` + + // SnapshotTime: The time that the snapshot was taken. + SnapshotTime string `json:"snapshotTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CloudProvider") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilitySnapshot) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilitySnapshot + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // YaraRuleSignature: A signature corresponding to a YARA rule. type YaraRuleSignature struct { // YaraRule: The name of the YARA rule. diff --git a/securitycenter/v1beta2/securitycenter-api.json b/securitycenter/v1beta2/securitycenter-api.json index d0f875f8db3..398025c35ff 100644 --- a/securitycenter/v1beta2/securitycenter-api.json +++ b/securitycenter/v1beta2/securitycenter-api.json @@ -1906,7 +1906,7 @@ } } }, - "revision": "20240226", + "revision": "20240415", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1998,6 +1998,18 @@ }, "type": "object" }, + "AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "Application": { "description": "Represents an application associated with a finding.", "id": "Application", @@ -2013,6 +2025,27 @@ }, "type": "object" }, + "Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", @@ -2063,6 +2096,69 @@ }, "type": "object" }, + "AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "AwsMetadata", + "properties": { + "account": { + "$ref": "AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", @@ -2120,6 +2216,38 @@ }, "type": "object" }, + "CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", @@ -2223,6 +2351,22 @@ "description": "The category of Findings matching.", "type": "string" }, + "cloudProvider": { + "description": "The cloud provider for the compliance snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "complianceStandard": { "description": "The compliance standard (ie CIS).", "type": "string" @@ -2244,10 +2388,6 @@ "description": "The compliance snapshot name. Format: //sources//complianceSnapshots/", "type": "string" }, - "projectDisplayName": { - "description": "The CRM resource display name that is closest to the snapshot the Findings belong to.", - "type": "string" - }, "snapshotTime": { "description": "The snapshot time of the snapshot.", "format": "google-datetime", @@ -2930,6 +3070,10 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -3105,6 +3249,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -3202,6 +3350,41 @@ }, "type": "object" }, + "GcpMetadata": { + "description": "GCP metadata associated with the resource, only applicable if the finding's cloud provider is Google Cloud Platform.", + "id": "GcpMetadata", + "properties": { + "folders": { + "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2Folder" + }, + "readOnly": true, + "type": "array" + }, + "organization": { + "description": "The name of the organization that the resource belongs to.", + "type": "string" + }, + "parent": { + "description": "The full resource name of resource's parent.", + "type": "string" + }, + "parentDisplayName": { + "description": "The human readable name of resource's parent.", + "type": "string" + }, + "project": { + "description": "The full resource name of project that the resource belongs to.", + "type": "string" + }, + "projectDisplayName": { + "description": "The project ID that the resource belongs to.", + "type": "string" + } + }, + "type": "object" + }, "Geolocation": { "description": "Represents a geographical location for a given access.", "id": "Geolocation", @@ -3523,6 +3706,26 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "awsMetadata": { + "$ref": "AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the resource resides in.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" @@ -3535,10 +3738,18 @@ "readOnly": true, "type": "array" }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "organization": { + "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", + "type": "string" + }, "parent": { "description": "The full resource name of resource's parent.", "type": "string" @@ -3555,6 +3766,18 @@ "description": "The project ID that the resource belongs to.", "type": "string" }, + "resourcePath": { + "$ref": "ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -3580,6 +3803,22 @@ "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -4090,6 +4329,18 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AdaptiveProtection": { + "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", + "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "properties": { + "confidence": { + "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Application": { "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", @@ -4105,6 +4356,27 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Attack": { + "description": "Information about DDoS attack volume and classification.", + "id": "GoogleCloudSecuritycenterV2Attack", + "properties": { + "classification": { + "description": "Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.", + "type": "string" + }, + "volumeBps": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int32", + "type": "integer" + }, + "volumePps": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2AttackExposure": { "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", @@ -4156,6 +4428,69 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2AwsAccount": { + "description": "An AWS account that is a member of an organization.", + "id": "GoogleCloudSecuritycenterV2AwsAccount", + "properties": { + "id": { + "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", + "type": "string" + }, + "name": { + "description": "The friendly name of this account.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsMetadata": { + "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", + "id": "GoogleCloudSecuritycenterV2AwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2AwsAccount", + "description": "The AWS account associated with the resource." + }, + "organization": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", + "description": "The AWS organization associated with the resource." + }, + "organizationalUnits": { + "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganization": { + "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", + "id": "GoogleCloudSecuritycenterV2AwsOrganization", + "properties": { + "id": { + "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { + "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", + "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", + "properties": { + "id": { + "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", + "type": "string" + }, + "name": { + "description": "The friendly name of the OU.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", @@ -4290,6 +4625,38 @@ "properties": {}, "type": "object" }, + "GoogleCloudSecuritycenterV2CloudArmor": { + "description": "Fields related to Google Cloud Armor findings.", + "id": "GoogleCloudSecuritycenterV2CloudArmor", + "properties": { + "adaptiveProtection": { + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", + "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + }, + "attack": { + "$ref": "GoogleCloudSecuritycenterV2Attack", + "description": "Information about DDoS attack volume and classification." + }, + "duration": { + "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", + "format": "google-duration", + "type": "string" + }, + "requests": { + "$ref": "GoogleCloudSecuritycenterV2Requests", + "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + }, + "securityPolicy": { + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + }, + "threatVector": { + "description": "Distinguish between volumetric \u0026 protocol DDoS attack and application layer attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", @@ -4942,6 +5309,10 @@ "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "cloudArmor": { + "$ref": "GoogleCloudSecuritycenterV2CloudArmor", + "description": "Fields related to Cloud Armor findings." + }, "cloudDlpDataProfile": { "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "description": "Cloud DLP data profile that is associated with the finding." @@ -5118,6 +5489,10 @@ "description": "Steps to address the finding.", "type": "string" }, + "notebook": { + "$ref": "GoogleCloudSecuritycenterV2Notebook", + "description": "Notebook associated with the finding." + }, "orgPolicies": { "description": "Contains information about the org policies associated with the finding.", "items": { @@ -5201,6 +5576,21 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Folder": { + "description": "Message that contains the resource name and display name of a folder resource.", + "id": "GoogleCloudSecuritycenterV2Folder", + "properties": { + "resourceFolder": { + "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", + "type": "string" + }, + "resourceFolderDisplayName": { + "description": "The user defined display name for this folder.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Geolocation": { "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", @@ -5488,6 +5878,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -5549,6 +5940,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -5655,6 +6047,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -5716,6 +6109,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -5855,6 +6249,30 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "GoogleCloudSecuritycenterV2Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2NotificationMessage": { "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", @@ -6088,18 +6506,85 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Resource": { "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", + "description": "The AWS metadata associated with the finding." + }, + "cloudProvider": { + "description": "Indicates which cloud provider the finding is from.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "displayName": { "description": "The human readable name of the resource.", "type": "string" }, + "gcpMetadata": { + "$ref": "GcpMetadata", + "description": "The GCP metadata associated with the finding." + }, + "location": { + "description": "The region or location of the service (if applicable).", + "type": "string" + }, "name": { "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, + "resourcePath": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePath", + "description": "Provides the path to the resource within the resource hierarchy." + }, + "resourcePathString": { + "description": "A string representation of the resource path. For GCP, it has the format of: organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id} where there can be any number of folders. For AWS, it has the format of: org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id} where there can be any number of organizational units. For Azure, it has the format of: mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name} where there can be any number of management groups.", + "type": "string" + }, + "service": { + "description": "The service or resource provider associated with the resource.", + "type": "string" + }, "type": { "description": "The full resource type of the resource.", "type": "string" @@ -6107,10 +6592,83 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "GoogleCloudSecuritycenterV2ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "GoogleCloudSecuritycenterV2ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { + "cloudProvider": { + "description": "Cloud provider this configuration applies to", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, "createTime": { "description": "Output only. Timestamp this resource value config was created.", "format": "google-datetime", @@ -6232,7 +6790,7 @@ "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/assets/{asset_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/assets/{asset_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\" + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks\"", + "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { @@ -6249,6 +6807,25 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "GoogleCloudSecuritycenterV2SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", @@ -6722,6 +7299,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -6783,6 +7361,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -6889,6 +7468,7 @@ "PROCESS_DISCOVERY", "COMMAND_AND_SCRIPTING_INTERPRETER", "UNIX_SHELL", + "PYTHON", "PERMISSION_GROUPS_DISCOVERY", "CLOUD_GROUPS", "APPLICATION_LAYER_PROTOCOL", @@ -6950,6 +7530,7 @@ "T1057", "T1059", "T1059.004", + "T1059.006", "T1069", "T1069.003", "T1071", @@ -7041,6 +7622,30 @@ }, "type": "object" }, + "Notebook": { + "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", + "id": "Notebook", + "properties": { + "lastAuthor": { + "description": "The user ID of the latest author to modify the notebook.", + "type": "string" + }, + "name": { + "description": "The name of the notebook.", + "type": "string" + }, + "notebookUpdateTime": { + "description": "The most recent time the notebook was updated.", + "format": "google-datetime", + "type": "string" + }, + "service": { + "description": "The source notebook service, for example, \"Colab Enterprise\".", + "type": "string" + } + }, + "type": "object" + }, "Object": { "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", @@ -7295,6 +7900,90 @@ }, "type": "object" }, + "Requests": { + "description": "Information about the requests relevant to the finding.", + "id": "Requests", + "properties": { + "longTermAllowed": { + "description": "Allowed RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "longTermDenied": { + "description": "Denied RPS (requests per second) over the long term.", + "format": "int32", + "type": "integer" + }, + "ratio": { + "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", + "format": "double", + "type": "number" + }, + "shortTermAllowed": { + "description": "Allowed RPS (requests per second) in the short term.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResourcePath": { + "description": "Represents the path of resources leading up to the resource this finding is about.", + "id": "ResourcePath", + "properties": { + "nodes": { + "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", + "items": { + "$ref": "ResourcePathNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourcePathNode": { + "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", + "id": "ResourcePathNode", + "properties": { + "displayName": { + "description": "The display name of the resource this node represents.", + "type": "string" + }, + "id": { + "description": "The ID of the resource this node represents.", + "type": "string" + }, + "nodeType": { + "description": "The type of resource this node represents.", + "enum": [ + "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", + "GCP_ORGANIZATION", + "GCP_FOLDER", + "GCP_PROJECT", + "AWS_ORGANIZATION", + "AWS_ORGANIZATIONAL_UNIT", + "AWS_ACCOUNT", + "AZURE_MANAGEMENT_GROUP", + "AZURE_SUBSCRIPTION", + "AZURE_RESOURCE_GROUP" + ], + "enumDescriptions": [ + "Node type is unspecified.", + "The node represents a GCP organization.", + "The node represents a GCP folder.", + "The node represents a GCP project.", + "The node represents an AWS organization.", + "The node represents an AWS organizational unit.", + "The node represents an AWS account.", + "The node represents an Azure management group.", + "The node represents an Azure subscription.", + "The node represents an Azure resource group." + ], + "type": "string" + } + }, + "type": "object" + }, "Role": { "description": "Kubernetes Role or ClusterRole.", "id": "Role", @@ -7437,6 +8126,25 @@ }, "type": "object" }, + "SecurityPolicy": { + "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", + "id": "SecurityPolicy", + "properties": { + "name": { + "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", + "type": "string" + }, + "preview": { + "description": "Whether or not the associated rule or policy is in preview mode.", + "type": "boolean" + }, + "type": { + "description": "The type of Google Cloud Armor security policy for example, ‘backend security policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on DDoS protection’.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPosture": { "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", @@ -7658,6 +8366,57 @@ }, "type": "object" }, + "VulnerabilityCountBySeverity": { + "description": "Vulnerability count by severity.", + "id": "VulnerabilityCountBySeverity", + "properties": { + "severityToFindingCount": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Key is the Severity enum.", + "type": "object" + } + }, + "type": "object" + }, + "VulnerabilitySnapshot": { + "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", + "id": "VulnerabilitySnapshot", + "properties": { + "cloudProvider": { + "description": "The cloud provider for the vulnerability snapshot.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "The cloud provider is unspecified.", + "The cloud provider is Google Cloud Platform.", + "The cloud provider is Amazon Web Services.", + "The cloud provider is Microsoft Azure." + ], + "type": "string" + }, + "findingCount": { + "$ref": "VulnerabilityCountBySeverity", + "description": "The vulnerability count by severity." + }, + "name": { + "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", + "type": "string" + }, + "snapshotTime": { + "description": "The time that the snapshot was taken.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "WebSecurityScannerSettings": { "description": "Resource capturing the settings for the Web Security Scanner service.", "id": "WebSecurityScannerSettings", diff --git a/securitycenter/v1beta2/securitycenter-gen.go b/securitycenter/v1beta2/securitycenter-gen.go index dbd0f3e5621..fd131a529f0 100644 --- a/securitycenter/v1beta2/securitycenter-gen.go +++ b/securitycenter/v1beta2/securitycenter-gen.go @@ -584,6 +584,55 @@ func (s *AccessReview) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AdaptiveProtection: Information about Google Cloud Armor Adaptive +// Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod AdaptiveProtection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + // Application: Represents an application associated with a finding. type Application struct { // BaseUri: The base URI that identifies the network location of the @@ -618,6 +667,42 @@ func (s *Application) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Attack: Information about DDoS attack volume and classification. +type Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Attack) MarshalJSON() ([]byte, error) { + type NoMethod Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AttackExposure: An attack exposure contains the results of an attack // path simulation run. type AttackExposure struct { @@ -696,6 +781,147 @@ func (s *AttackExposure) UnmarshalJSON(data []byte) error { return nil } +// AwsAccount: An AWS account that is a member of an organization. +type AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsMetadata: AWS metadata associated with the resource, only +// applicable if the finding's cloud provider is Amazon Web Services. +type AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganization: An organization is a collection of accounts that are +// centrally managed together using consolidated billing, organized +// hierarchically with organizational units (OUs), and controlled with +// policies. +type AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AwsOrganizationalUnit: An Organizational Unit (OU) is a container of +// AWS accounts within a root of an organization. Policies that are +// attached to an OU apply to all accounts contained in that OU and in +// any child OUs. +type AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackupDisasterRecovery: Information related to Google Cloud Backup // and DR Service findings. type BackupDisasterRecovery struct { @@ -784,6 +1010,59 @@ func (s *BackupDisasterRecovery) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CloudArmor: Fields related to Google Cloud Armor findings. +type CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -954,6 +1233,16 @@ type ComplianceSnapshot struct { // Category: The category of Findings matching. Category string `json:"category,omitempty"` + // CloudProvider: The cloud provider for the compliance snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // ComplianceStandard: The compliance standard (ie CIS). ComplianceStandard string `json:"complianceStandard,omitempty"` @@ -971,10 +1260,6 @@ type ComplianceSnapshot struct { // //sources//complianceSnapshots/ Name string `json:"name,omitempty"` - // ProjectDisplayName: The CRM resource display name that is closest to - // the snapshot the Findings belong to. - ProjectDisplayName string `json:"projectDisplayName,omitempty"` - // SnapshotTime: The snapshot time of the snapshot. SnapshotTime string `json:"snapshotTime,omitempty"` @@ -1997,6 +2282,9 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -2146,6 +2434,9 @@ type Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*OrgPolicy `json:"orgPolicies,omitempty"` @@ -2305,6 +2596,54 @@ func (s *Folder) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GcpMetadata: GCP metadata associated with the resource, only +// applicable if the finding's cloud provider is Google Cloud Platform. +type GcpMetadata struct { + // Folders: Output only. Contains a Folder message for each folder in + // the assets ancestry. The first folder is the deepest nested folder, + // and the last folder is the folder directly under the Organization. + Folders []*GoogleCloudSecuritycenterV2Folder `json:"folders,omitempty"` + + // Organization: The name of the organization that the resource belongs + // to. + Organization string `json:"organization,omitempty"` + + // Parent: The full resource name of resource's parent. + Parent string `json:"parent,omitempty"` + + // ParentDisplayName: The human readable name of resource's parent. + ParentDisplayName string `json:"parentDisplayName,omitempty"` + + // Project: The full resource name of project that the resource belongs + // to. + Project string `json:"project,omitempty"` + + // ProjectDisplayName: The project ID that the resource belongs to. + ProjectDisplayName string `json:"projectDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Folders") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Folders") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GcpMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GcpMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Geolocation: Represents a geographical location for a given access. type Geolocation struct { // RegionCode: A CLDR. @@ -2831,6 +3170,20 @@ func (s *GoogleCloudSecuritycenterV1Property) MarshalJSON() ([]byte, error) { // GoogleCloudSecuritycenterV1Resource: Information related to the // Google Cloud resource. type GoogleCloudSecuritycenterV1Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the resource resides + // in. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // DisplayName: The human readable name of the resource. DisplayName string `json:"displayName,omitempty"` @@ -2839,10 +3192,17 @@ type GoogleCloudSecuritycenterV1Resource struct { // and the last folder is the folder directly under the Organization. Folders []*Folder `json:"folders,omitempty"` + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + // Name: The full resource name of the resource. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name Name string `json:"name,omitempty"` + // Organization: Indicates which organization or tenant in the cloud + // provider the finding applies to. + Organization string `json:"organization,omitempty"` + // Parent: The full resource name of resource's parent. Parent string `json:"parent,omitempty"` @@ -2856,10 +3216,31 @@ type GoogleCloudSecuritycenterV1Resource struct { // ProjectDisplayName: The project ID that the resource belongs to. ProjectDisplayName string `json:"projectDisplayName,omitempty"` + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The parent service or product from which the resource is + // provided, for example, GKE or SNS. + Service string `json:"service,omitempty"` + // Type: The full resource type of the resource. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2867,7 +3248,7 @@ type GoogleCloudSecuritycenterV1Resource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "AwsMetadata") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -2915,6 +3296,16 @@ func (s *GoogleCloudSecuritycenterV1ResourceSelector) MarshalJSON() ([]byte, err // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV1ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -2971,7 +3362,7 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // last updated. UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2979,10 +3370,10 @@ type GoogleCloudSecuritycenterV1ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -3685,19 +4076,19 @@ func (s *GoogleCloudSecuritycenterV2AccessReview) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Application: Represents an application -// associated with a finding. -type GoogleCloudSecuritycenterV2Application struct { - // BaseUri: The base URI that identifies the network location of the - // application in which the vulnerability was detected. For example, - // `http://example.com`. - BaseUri string `json:"baseUri,omitempty"` - - // FullUri: The full URI with payload that could be used to reproduce - // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - FullUri string `json:"fullUri,omitempty"` +// GoogleCloudSecuritycenterV2AdaptiveProtection: Information about +// Google Cloud Armor Adaptive Protection +// (https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). +type GoogleCloudSecuritycenterV2AdaptiveProtection struct { + // Confidence: A score of 0 means that there is low confidence that the + // detected event is an actual attack. A score of 1 means that there is + // high confidence that the detected event is an attack. See the + // Adaptive Protection documentation + // (https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + // for further explanation. + Confidence float64 `json:"confidence,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseUri") to + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -3705,7 +4096,7 @@ type GoogleCloudSecuritycenterV2Application struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseUri") to include in + // NullFields is a list of field names (e.g. "Confidence") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -3714,17 +4105,103 @@ type GoogleCloudSecuritycenterV2Application struct { NullFields []string `json:"-"` } -func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudSecuritycenterV2Application +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure -// contains the results of an attack path simulation run. -type GoogleCloudSecuritycenterV2AttackExposure struct { - // AttackExposureResult: The resource name of the attack path simulation - // result that contains the details regarding this attack exposure +func (s *GoogleCloudSecuritycenterV2AdaptiveProtection) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2AdaptiveProtection + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudSecuritycenterV2Application: Represents an application +// associated with a finding. +type GoogleCloudSecuritycenterV2Application struct { + // BaseUri: The base URI that identifies the network location of the + // application in which the vulnerability was detected. For example, + // `http://example.com`. + BaseUri string `json:"baseUri,omitempty"` + + // FullUri: The full URI with payload that could be used to reproduce + // the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + FullUri string `json:"fullUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseUri") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Application) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Application + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2Attack: Information about DDoS attack +// volume and classification. +type GoogleCloudSecuritycenterV2Attack struct { + // Classification: Type of attack, for example, ‘SYN-flood’, + // ‘NTP-udp’, or ‘CHARGEN-udp’. + Classification string `json:"classification,omitempty"` + + // VolumeBps: Total BPS (bytes per second) volume of attack. + VolumeBps int64 `json:"volumeBps,omitempty"` + + // VolumePps: Total PPS (packets per second) volume of attack. + VolumePps int64 `json:"volumePps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Classification") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Classification") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Attack) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Attack + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AttackExposure: An attack exposure +// contains the results of an attack path simulation run. +type GoogleCloudSecuritycenterV2AttackExposure struct { + // AttackExposureResult: The resource name of the attack path simulation + // result that contains the details regarding this attack exposure // score. Example: // organizations/123/simulations/456/attackExposureResults/789 AttackExposureResult string `json:"attackExposureResult,omitempty"` @@ -3799,6 +4276,149 @@ func (s *GoogleCloudSecuritycenterV2AttackExposure) UnmarshalJSON(data []byte) e return nil } +// GoogleCloudSecuritycenterV2AwsAccount: An AWS account that is a +// member of an organization. +type GoogleCloudSecuritycenterV2AwsAccount struct { + // Id: The unique identifier (ID) of the account, containing exactly 12 + // digits. + Id string `json:"id,omitempty"` + + // Name: The friendly name of this account. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsAccount) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsAccount + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsMetadata: AWS metadata associated with +// the resource, only applicable if the finding's cloud provider is +// Amazon Web Services. +type GoogleCloudSecuritycenterV2AwsMetadata struct { + // Account: The AWS account associated with the resource. + Account *GoogleCloudSecuritycenterV2AwsAccount `json:"account,omitempty"` + + // Organization: The AWS organization associated with the resource. + Organization *GoogleCloudSecuritycenterV2AwsOrganization `json:"organization,omitempty"` + + // OrganizationalUnits: A list of AWS organizational units associated + // with the resource, ordered from lowest level (closest to the account) + // to highest level. + OrganizationalUnits []*GoogleCloudSecuritycenterV2AwsOrganizationalUnit `json:"organizationalUnits,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganization: An organization is a +// collection of accounts that are centrally managed together using +// consolidated billing, organized hierarchically with organizational +// units (OUs), and controlled with policies. +type GoogleCloudSecuritycenterV2AwsOrganization struct { + // Id: The unique identifier (ID) for the organization. The regex + // pattern for an organization ID string requires "o-" followed by from + // 10 to 32 lowercase letters or digits. + 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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganization) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganization + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2AwsOrganizationalUnit: An Organizational +// Unit (OU) is a container of AWS accounts within a root of an +// organization. Policies that are attached to an OU apply to all +// accounts contained in that OU and in any child OUs. +type GoogleCloudSecuritycenterV2AwsOrganizationalUnit struct { + // Id: The unique identifier (ID) associated with this OU. The regex + // pattern for an organizational unit ID string requires "ou-" followed + // by from 4 to 32 lowercase letters or digits (the ID of the root that + // contains the OU). This string is followed by a second "-" dash and + // from 8 to 32 additional lowercase letters or digits. For example, + // "ou-ab12-cd34ef56". + Id string `json:"id,omitempty"` + + // Name: The friendly name of the OU. + Name string `json:"name,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2AwsOrganizationalUnit) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2AwsOrganizationalUnit + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2BackupDisasterRecovery: Information // related to Google Cloud Backup and DR Service findings. type GoogleCloudSecuritycenterV2BackupDisasterRecovery struct { @@ -4010,6 +4630,60 @@ func (s *GoogleCloudSecuritycenterV2Binding) MarshalJSON() ([]byte, error) { type GoogleCloudSecuritycenterV2BulkMuteFindingsResponse struct { } +// GoogleCloudSecuritycenterV2CloudArmor: Fields related to Google Cloud +// Armor findings. +type GoogleCloudSecuritycenterV2CloudArmor struct { + // AdaptiveProtection: Information about potential Layer 7 DDoS attacks + // identified by Google Cloud Armor Adaptive Protection + // (https://cloud.google.com/armor/docs/adaptive-protection-overview). + AdaptiveProtection *GoogleCloudSecuritycenterV2AdaptiveProtection `json:"adaptiveProtection,omitempty"` + + // Attack: Information about DDoS attack volume and classification. + Attack *GoogleCloudSecuritycenterV2Attack `json:"attack,omitempty"` + + // Duration: Duration of attack from the start until the current moment + // (updated every 5 minutes). + Duration string `json:"duration,omitempty"` + + // Requests: Information about incoming requests evaluated by Google + // Cloud Armor security policies + // (https://cloud.google.com/armor/docs/security-policy-overview). + Requests *GoogleCloudSecuritycenterV2Requests `json:"requests,omitempty"` + + // SecurityPolicy: Information about the Google Cloud Armor security + // policy (https://cloud.google.com/armor/docs/security-policy-overview) + // relevant to the finding. + SecurityPolicy *GoogleCloudSecuritycenterV2SecurityPolicy `json:"securityPolicy,omitempty"` + + // ThreatVector: Distinguish between volumetric & protocol DDoS attack + // and application layer attacks. For example, “L3_4” for Layer 3 + // and Layer 4 DDoS attacks, or “L_7” for Layer 7 DDoS attacks. + ThreatVector string `json:"threatVector,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdaptiveProtection") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdaptiveProtection") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2CloudArmor) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2CloudArmor + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2CloudDlpDataProfile: The data profile // (https://cloud.google.com/dlp/docs/data-profiles) associated with the // finding. @@ -5000,6 +5674,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // from a given source. Example: "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // CloudArmor: Fields related to Cloud Armor findings. + CloudArmor *GoogleCloudSecuritycenterV2CloudArmor `json:"cloudArmor,omitempty"` + // CloudDlpDataProfile: Cloud DLP data profile that is associated with // the finding. CloudDlpDataProfile *GoogleCloudSecuritycenterV2CloudDlpDataProfile `json:"cloudDlpDataProfile,omitempty"` @@ -5155,6 +5832,9 @@ type GoogleCloudSecuritycenterV2Finding struct { // NextSteps: Steps to address the finding. NextSteps string `json:"nextSteps,omitempty"` + // Notebook: Notebook associated with the finding. + Notebook *GoogleCloudSecuritycenterV2Notebook `json:"notebook,omitempty"` + // OrgPolicies: Contains information about the org policies associated // with the finding. OrgPolicies []*GoogleCloudSecuritycenterV2OrgPolicy `json:"orgPolicies,omitempty"` @@ -5286,6 +5966,41 @@ func (s *GoogleCloudSecuritycenterV2Finding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Folder: Message that contains the resource +// name and display name of a folder resource. +type GoogleCloudSecuritycenterV2Folder struct { + // ResourceFolder: Full resource name of this folder. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + ResourceFolder string `json:"resourceFolder,omitempty"` + + // ResourceFolderDisplayName: The user defined display name for this + // folder. + ResourceFolderDisplayName string `json:"resourceFolderDisplayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResourceFolder") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResourceFolder") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Folder) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Folder + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2Geolocation: Represents a geographical // location for a given access. type GoogleCloudSecuritycenterV2Geolocation struct { @@ -5689,6 +6404,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -5780,6 +6496,7 @@ type GoogleCloudSecuritycenterV2MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -6002,6 +6719,47 @@ func (s *GoogleCloudSecuritycenterV2NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2Notebook: Represents a Jupyter notebook +// IPYNB file, such as a Colab Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type GoogleCloudSecuritycenterV2Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Notebook) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2NotificationMessage: Cloud SCC's // Notification type GoogleCloudSecuritycenterV2NotificationMessage struct { @@ -6367,20 +7125,27 @@ func (s *GoogleCloudSecuritycenterV2Reference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudSecuritycenterV2Resource: Information related to the -// Google Cloud resource. -type GoogleCloudSecuritycenterV2Resource struct { - // DisplayName: The human readable name of the resource. - DisplayName string `json:"displayName,omitempty"` +// GoogleCloudSecuritycenterV2Requests: Information about the requests +// relevant to the finding. +type GoogleCloudSecuritycenterV2Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` - // Name: The full resource name of the resource. See: - // https://cloud.google.com/apis/design/resource_names#full_resource_name - Name string `json:"name,omitempty"` + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` - // Type: The full resource type of the resource. - Type string `json:"type,omitempty"` + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6388,7 +7153,98 @@ type GoogleCloudSecuritycenterV2Resource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2Requests) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudSecuritycenterV2Requests) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudSecuritycenterV2Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + +// GoogleCloudSecuritycenterV2Resource: Information related to the +// Google Cloud resource. +type GoogleCloudSecuritycenterV2Resource struct { + // AwsMetadata: The AWS metadata associated with the finding. + AwsMetadata *GoogleCloudSecuritycenterV2AwsMetadata `json:"awsMetadata,omitempty"` + + // CloudProvider: Indicates which cloud provider the finding is from. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // DisplayName: The human readable name of the resource. + DisplayName string `json:"displayName,omitempty"` + + // GcpMetadata: The GCP metadata associated with the finding. + GcpMetadata *GcpMetadata `json:"gcpMetadata,omitempty"` + + // Location: The region or location of the service (if applicable). + Location string `json:"location,omitempty"` + + // Name: The full resource name of the resource. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name + Name string `json:"name,omitempty"` + + // ResourcePath: Provides the path to the resource within the resource + // hierarchy. + ResourcePath *GoogleCloudSecuritycenterV2ResourcePath `json:"resourcePath,omitempty"` + + // ResourcePathString: A string representation of the resource path. For + // GCP, it has the format of: + // organizations/{organization_id}/folders/{folder_id}/folders/{folder_id + // }/projects/{project_id} where there can be any number of folders. For + // AWS, it has the format of: + // org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_u + // nit_id}/account/{account_id} where there can be any number of + // organizational units. For Azure, it has the format of: + // mg/{management_group_id}/mg/{management_group_id}/subscription/{subscr + // iption_id}/rg/{resource_group_name} where there can be any number of + // management groups. + ResourcePathString string `json:"resourcePathString,omitempty"` + + // Service: The service or resource provider associated with the + // resource. + Service string `json:"service,omitempty"` + + // Type: The full resource type of the resource. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AwsMetadata") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AwsMetadata") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -6403,10 +7259,101 @@ func (s *GoogleCloudSecuritycenterV2Resource) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2ResourcePath: Represents the path of +// resources leading up to the resource this finding is about. +type GoogleCloudSecuritycenterV2ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*GoogleCloudSecuritycenterV2ResourcePathNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudSecuritycenterV2ResourcePathNode: A node within the +// resource path. Each node represents a resource within the resource +// hierarchy. +type GoogleCloudSecuritycenterV2ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. + DisplayName string `json:"displayName,omitempty"` + + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` + + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2ResourcePathNode + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2ResourceValueConfig: A resource value // config (RVC) is a mapping configuration of user's resources to // resource values. Used in Attack path simulations. type GoogleCloudSecuritycenterV2ResourceValueConfig struct { + // CloudProvider: Cloud provider this configuration applies to + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + // CreateTime: Output only. Timestamp this resource value config was // created. CreateTime string `json:"createTime,omitempty"` @@ -6463,7 +7410,7 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // last updated. UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // ForceSendFields is a list of field names (e.g. "CloudProvider") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6471,10 +7418,10 @@ type GoogleCloudSecuritycenterV2ResourceValueConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -6570,21 +7517,21 @@ func (s *GoogleCloudSecuritycenterV2SecurityBulletin) MarshalJSON() ([]byte, err type GoogleCloudSecuritycenterV2SecurityMarks struct { // CanonicalName: The canonical name of the marks. The following list // shows some examples: + - // `organizations/{organization_id}/assets/{asset_id}/securityMarks" + + // `organizations/{organization_id}/assets/{asset_id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/findings/{finding - // _id}/securityMarks" + + // _id}/securityMarks` + // `organizations/{organization_id}/sources/{source_id}/locations/{locati - // on}/findings/{finding_id}/securityMarks" + - // `folders/{folder_id}/assets/{asset_id}/securityMarks" + + // on}/findings/{finding_id}/securityMarks` + + // `folders/{folder_id}/assets/{asset_id}/securityMarks` + // `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securit - // yMarks" + + // yMarks` + // `folders/{folder_id}/sources/{source_id}/locations/{location}/findings - // /{finding_id}/securityMarks" + - // `projects/{project_number}/assets/{asset_id}/securityMarks" + + // /{finding_id}/securityMarks` + + // `projects/{project_number}/assets/{asset_id}/securityMarks` + // `projects/{project_number}/sources/{source_id}/findings/{finding_id}/s - // ecurityMarks" + + // ecurityMarks` + // `projects/{project_number}/sources/{source_id}/locations/{location}/fi - // ndings/{finding_id}/securityMarks" + // ndings/{finding_id}/securityMarks` CanonicalName string `json:"canonicalName,omitempty"` // Marks: Mutable user specified security marks belonging to the parent @@ -6628,6 +7575,47 @@ func (s *GoogleCloudSecuritycenterV2SecurityMarks) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSecuritycenterV2SecurityPolicy: Information about the +// Google Cloud Armor security policy +// (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type GoogleCloudSecuritycenterV2SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSecuritycenterV2SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSecuritycenterV2SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSecuritycenterV2SecurityPosture: Represents a posture that // is deployed on Google Cloud by the Security Command Center Posture // Management service. A posture contains one or more policy sets. A @@ -7307,6 +8295,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -7398,6 +8387,7 @@ type MitreAttack struct { // "PROCESS_DISCOVERY" - T1057 // "COMMAND_AND_SCRIPTING_INTERPRETER" - T1059 // "UNIX_SHELL" - T1059.004 + // "PYTHON" - T1059.006 // "PERMISSION_GROUPS_DISCOVERY" - T1069 // "CLOUD_GROUPS" - T1069.003 // "APPLICATION_LAYER_PROTOCOL" - T1071 @@ -7539,6 +8529,47 @@ func (s *NodePool) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Notebook: Represents a Jupyter notebook IPYNB file, such as a Colab +// Enterprise notebook +// (https://cloud.google.com/colab/docs/introduction) file, that is +// associated with a finding. +type Notebook struct { + // LastAuthor: The user ID of the latest author to modify the notebook. + LastAuthor string `json:"lastAuthor,omitempty"` + + // Name: The name of the notebook. + Name string `json:"name,omitempty"` + + // NotebookUpdateTime: The most recent time the notebook was updated. + NotebookUpdateTime string `json:"notebookUpdateTime,omitempty"` + + // Service: The source notebook service, for example, "Colab + // Enterprise". + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastAuthor") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastAuthor") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Notebook) MarshalJSON() ([]byte, error) { + type NoMethod Notebook + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Object: Kubernetes object related to the finding, uniquely identified // by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, // Binding, or AccessReview. @@ -7921,6 +8952,143 @@ func (s *Reference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Requests: Information about the requests relevant to the finding. +type Requests struct { + // LongTermAllowed: Allowed RPS (requests per second) over the long + // term. + LongTermAllowed int64 `json:"longTermAllowed,omitempty"` + + // LongTermDenied: Denied RPS (requests per second) over the long term. + LongTermDenied int64 `json:"longTermDenied,omitempty"` + + // Ratio: For 'Increasing deny ratio', the ratio is the denied traffic + // divided by the allowed traffic. For 'Allowed traffic spike', the + // ratio is the allowed traffic in the short term divided by allowed + // traffic in the long term. + Ratio float64 `json:"ratio,omitempty"` + + // ShortTermAllowed: Allowed RPS (requests per second) in the short + // term. + ShortTermAllowed int64 `json:"shortTermAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LongTermAllowed") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LongTermAllowed") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Requests) MarshalJSON() ([]byte, error) { + type NoMethod Requests + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Requests) UnmarshalJSON(data []byte) error { + type NoMethod Requests + var s1 struct { + Ratio gensupport.JSONFloat64 `json:"ratio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Ratio = float64(s1.Ratio) + return nil +} + +// ResourcePath: Represents the path of resources leading up to the +// resource this finding is about. +type ResourcePath struct { + // Nodes: The list of nodes that make the up resource path, ordered from + // lowest level to highest level. + Nodes []*ResourcePathNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePath) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResourcePathNode: A node within the resource path. Each node +// represents a resource within the resource hierarchy. +type ResourcePathNode struct { + // DisplayName: The display name of the resource this node represents. + DisplayName string `json:"displayName,omitempty"` + + // Id: The ID of the resource this node represents. + Id string `json:"id,omitempty"` + + // NodeType: The type of resource this node represents. + // + // Possible values: + // "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED" - Node type is unspecified. + // "GCP_ORGANIZATION" - The node represents a GCP organization. + // "GCP_FOLDER" - The node represents a GCP folder. + // "GCP_PROJECT" - The node represents a GCP project. + // "AWS_ORGANIZATION" - The node represents an AWS organization. + // "AWS_ORGANIZATIONAL_UNIT" - The node represents an AWS + // organizational unit. + // "AWS_ACCOUNT" - The node represents an AWS account. + // "AZURE_MANAGEMENT_GROUP" - The node represents an Azure management + // group. + // "AZURE_SUBSCRIPTION" - The node represents an Azure subscription. + // "AZURE_RESOURCE_GROUP" - The node represents an Azure resource + // group. + NodeType string `json:"nodeType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourcePathNode) MarshalJSON() ([]byte, error) { + type NoMethod ResourcePathNode + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Role: Kubernetes Role or ClusterRole. type Role struct { // Kind: Role type. @@ -8169,6 +9337,46 @@ func (s *SecurityMarks) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SecurityPolicy: Information about the Google Cloud Armor security +// policy (https://cloud.google.com/armor/docs/security-policy-overview) +// relevant to the finding. +type SecurityPolicy struct { + // Name: The name of the Google Cloud Armor security policy, for + // example, "my-security-policy". + Name string `json:"name,omitempty"` + + // Preview: Whether or not the associated rule or policy is in preview + // mode. + Preview bool `json:"preview,omitempty"` + + // Type: The type of Google Cloud Armor security policy for example, + // ‘backend security policy’, ‘edge security policy’, ‘network + // edge security policy’, or ‘always-on DDoS protection’. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SecurityPosture: Represents a posture that is deployed on Google // Cloud by the Security Command Center Posture Management service. A // posture contains one or more policy sets. A policy set is a group of @@ -8505,6 +9713,82 @@ func (s *Vulnerability) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VulnerabilityCountBySeverity: Vulnerability count by severity. +type VulnerabilityCountBySeverity struct { + // SeverityToFindingCount: Key is the Severity enum. + SeverityToFindingCount map[string]string `json:"severityToFindingCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "SeverityToFindingCount") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SeverityToFindingCount") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilityCountBySeverity) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilityCountBySeverity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// VulnerabilitySnapshot: Result containing the properties and count of +// a VulnerabilitySnapshot request. +type VulnerabilitySnapshot struct { + // CloudProvider: The cloud provider for the vulnerability snapshot. + // + // Possible values: + // "CLOUD_PROVIDER_UNSPECIFIED" - The cloud provider is unspecified. + // "GOOGLE_CLOUD_PLATFORM" - The cloud provider is Google Cloud + // Platform. + // "AMAZON_WEB_SERVICES" - The cloud provider is Amazon Web Services. + // "MICROSOFT_AZURE" - The cloud provider is Microsoft Azure. + CloudProvider string `json:"cloudProvider,omitempty"` + + // FindingCount: The vulnerability count by severity. + FindingCount *VulnerabilityCountBySeverity `json:"findingCount,omitempty"` + + // Name: Identifier. The vulnerability snapshot name. Format: + // //locations//vulnerabilitySnapshots/ + Name string `json:"name,omitempty"` + + // SnapshotTime: The time that the snapshot was taken. + SnapshotTime string `json:"snapshotTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CloudProvider") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudProvider") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VulnerabilitySnapshot) MarshalJSON() ([]byte, error) { + type NoMethod VulnerabilitySnapshot + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // WebSecurityScannerSettings: Resource capturing the settings for the // Web Security Scanner service. type WebSecurityScannerSettings struct { diff --git a/servicenetworking/v1/servicenetworking-api.json b/servicenetworking/v1/servicenetworking-api.json index a4c5e7b060b..aefc80c7883 100644 --- a/servicenetworking/v1/servicenetworking-api.json +++ b/servicenetworking/v1/servicenetworking-api.json @@ -1029,7 +1029,7 @@ } } }, - "revision": "20231219", + "revision": "20240414", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -2790,10 +2790,10 @@ }, "longRunning": { "$ref": "LongRunning", - "description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes" + "description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes" }, "selector": { - "description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options.", + "description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder...", "type": "string" } }, diff --git a/servicenetworking/v1/servicenetworking-gen.go b/servicenetworking/v1/servicenetworking-gen.go index 197333d7eb7..c9836ab004f 100644 --- a/servicenetworking/v1/servicenetworking-gen.go +++ b/servicenetworking/v1/servicenetworking-gen.go @@ -3577,14 +3577,16 @@ type MethodSettings struct { // annotations in google/longrunning/operations.proto. Example of a YAML // configuration:: publishing: method_settings: - selector: // google.cloud.speech.v2.Speech.BatchRecognize long_running: - // initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 - // max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: - // 54000 # 90 minutes + // initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 + // max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 + // minutes LongRunning *LongRunning `json:"longRunning,omitempty"` // Selector: The fully qualified name of the method, for which the // options below apply. This is used to find the method to apply the - // options. + // options. Example: publishing: method_settings: - selector: + // google.storage.control.v2.StorageControl.CreateFolder # method + // settings for CreateFolder... Selector string `json:"selector,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoPopulatedFields") diff --git a/servicenetworking/v1beta/servicenetworking-api.json b/servicenetworking/v1beta/servicenetworking-api.json index b48d139c2b9..27aa4ec7b2c 100644 --- a/servicenetworking/v1beta/servicenetworking-api.json +++ b/servicenetworking/v1beta/servicenetworking-api.json @@ -307,7 +307,7 @@ } } }, - "revision": "20231219", + "revision": "20240414", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1814,10 +1814,10 @@ }, "longRunning": { "$ref": "LongRunning", - "description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes" + "description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes" }, "selector": { - "description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options.", + "description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder...", "type": "string" } }, diff --git a/servicenetworking/v1beta/servicenetworking-gen.go b/servicenetworking/v1beta/servicenetworking-gen.go index 7809396ca63..f39da32a4ac 100644 --- a/servicenetworking/v1beta/servicenetworking-gen.go +++ b/servicenetworking/v1beta/servicenetworking-gen.go @@ -2911,14 +2911,16 @@ type MethodSettings struct { // annotations in google/longrunning/operations.proto. Example of a YAML // configuration:: publishing: method_settings: - selector: // google.cloud.speech.v2.Speech.BatchRecognize long_running: - // initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 - // max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: - // 54000 # 90 minutes + // initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 + // max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 + // minutes LongRunning *LongRunning `json:"longRunning,omitempty"` // Selector: The fully qualified name of the method, for which the // options below apply. This is used to find the method to apply the - // options. + // options. Example: publishing: method_settings: - selector: + // google.storage.control.v2.StorageControl.CreateFolder # method + // settings for CreateFolder... Selector string `json:"selector,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoPopulatedFields") diff --git a/sheets/v4/sheets-api.json b/sheets/v4/sheets-api.json index 000ba8936d6..fed6dc81321 100644 --- a/sheets/v4/sheets-api.json +++ b/sheets/v4/sheets-api.json @@ -870,7 +870,7 @@ } } }, - "revision": "20240319", + "revision": "20240402", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -5737,7 +5737,8 @@ "STDEVP", "VAR", "VARP", - "CUSTOM" + "CUSTOM", + "NONE" ], "enumDescriptions": [ "The default, do not use.", @@ -5754,7 +5755,8 @@ "Corresponds to the `STDEVP` function.", "Corresponds to the `VAR` function.", "Corresponds to the `VARP` function.", - "Indicates the formula should be used as-is. Only valid if PivotValue.formula was set." + "Indicates the formula should be used as-is. Only valid if PivotValue.formula was set.", + "Indicates that the value is already summarized, and the summarization function is not explicitly specified. Used for Looker data source pivot tables where the value is already summarized." ], "type": "string" } diff --git a/sheets/v4/sheets-gen.go b/sheets/v4/sheets-gen.go index 61ad6d29e05..f439698c813 100644 --- a/sheets/v4/sheets-gen.go +++ b/sheets/v4/sheets-gen.go @@ -8403,6 +8403,9 @@ type PivotValue struct { // "VARP" - Corresponds to the `VARP` function. // "CUSTOM" - Indicates the formula should be used as-is. Only valid // if PivotValue.formula was set. + // "NONE" - Indicates that the value is already summarized, and the + // summarization function is not explicitly specified. Used for Looker + // data source pivot tables where the value is already summarized. SummarizeFunction string `json:"summarizeFunction,omitempty"` // ForceSendFields is a list of field names (e.g. diff --git a/storagetransfer/v1/storagetransfer-api.json b/storagetransfer/v1/storagetransfer-api.json index f3602e0929a..80ecb376f16 100644 --- a/storagetransfer/v1/storagetransfer-api.json +++ b/storagetransfer/v1/storagetransfer-api.json @@ -632,11 +632,11 @@ } } }, - "revision": "20240311", + "revision": "20240412", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AgentPool": { - "description": "Represents an On-Premises Agent pool.", + "description": "Represents an agent pool.", "id": "AgentPool", "properties": { "bandwidthLimit": { @@ -661,7 +661,7 @@ ], "enumDescriptions": [ "Default value. This value is unused.", - "This is an initialization state. During this stage, the resources such as Pub/Sub topics are allocated for the AgentPool.", + "This is an initialization state. During this stage, resources are allocated for the AgentPool.", "Determines that the AgentPool is created for use. At this state, Agents can join the AgentPool and participate in the transfer jobs in that pool.", "Determines that the AgentPool deletion has been initiated, and all the resources are scheduled to be cleaned up and freed." ], @@ -1196,7 +1196,7 @@ "type": "string" }, "timeCreated": { - "description": "Specifies how each object's `timeCreated` metadata is preserved for transfers. If unspecified, the default behavior is the same as TIME_CREATED_SKIP.", + "description": "Specifies how each object's `timeCreated` metadata is preserved for transfers. If unspecified, the default behavior is the same as TIME_CREATED_SKIP. This behavior is supported for transfers to GCS buckets from GCS, S3, Azure, S3 Compatible, and Azure sources.", "enum": [ "TIME_CREATED_UNSPECIFIED", "TIME_CREATED_SKIP", @@ -1704,7 +1704,7 @@ }, "notificationConfig": { "$ref": "NotificationConfig", - "description": "Notification configuration. This is not supported for transfers involving PosixFilesystem." + "description": "Notification configuration." }, "projectId": { "description": "The ID of the Google Cloud project that owns the job.", diff --git a/storagetransfer/v1/storagetransfer-gen.go b/storagetransfer/v1/storagetransfer-gen.go index e2af8bc8165..dce3a8f22f9 100644 --- a/storagetransfer/v1/storagetransfer-gen.go +++ b/storagetransfer/v1/storagetransfer-gen.go @@ -212,7 +212,7 @@ type TransferOperationsService struct { s *Service } -// AgentPool: Represents an On-Premises Agent pool. +// AgentPool: Represents an agent pool. type AgentPool struct { // BandwidthLimit: Specifies the bandwidth limit details. If this field // is unspecified, the default value is set as 'No Limit'. @@ -230,7 +230,7 @@ type AgentPool struct { // Possible values: // "STATE_UNSPECIFIED" - Default value. This value is unused. // "CREATING" - This is an initialization state. During this stage, - // the resources such as Pub/Sub topics are allocated for the AgentPool. + // resources are allocated for the AgentPool. // "CREATED" - Determines that the AgentPool is created for use. At // this state, Agents can join the AgentPool and participate in the // transfer jobs in that pool. @@ -1253,7 +1253,8 @@ type MetadataOptions struct { // TimeCreated: Specifies how each object's `timeCreated` metadata is // preserved for transfers. If unspecified, the default behavior is the - // same as TIME_CREATED_SKIP. + // same as TIME_CREATED_SKIP. This behavior is supported for transfers + // to GCS buckets from GCS, S3, Azure, S3 Compatible, and Azure sources. // // Possible values: // "TIME_CREATED_UNSPECIFIED" - TimeCreated behavior is unspecified. @@ -2043,8 +2044,7 @@ type TransferJob struct { // involving OPI. Invalid job names fail with an INVALID_ARGUMENT error. Name string `json:"name,omitempty"` - // NotificationConfig: Notification configuration. This is not supported - // for transfers involving PosixFilesystem. + // NotificationConfig: Notification configuration. NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"` // ProjectId: The ID of the Google Cloud project that owns the job. diff --git a/youtube/v3/youtube-api.json b/youtube/v3/youtube-api.json index 18ad1a8737d..e649f11e904 100644 --- a/youtube/v3/youtube-api.json +++ b/youtube/v3/youtube-api.json @@ -4037,7 +4037,7 @@ } } }, - "revision": "20240310", + "revision": "20240414", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -7679,11 +7679,13 @@ "type": "string" }, "repeatIntervalSecs": { + "deprecated": true, "description": "Interval frequency in seconds that api uses to insert cuepoints automatically.", "format": "int32", "type": "integer" }, "scheduleStrategy": { + "deprecated": true, "description": "The strategy to use when scheduling cuepoints.", "enum": [ "scheduleStrategyUnspecified",