From 6aad43898977685fbbf7b964ad5a7d9764cbcd3b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 26 Jan 2023 07:44:23 -0800 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#1825) --- admin/directory/v1/admin-api.json | 28 +- admin/directory/v1/admin-gen.go | 66 +- batch/v1/batch-api.json | 13 +- batch/v1/batch-gen.go | 18 +- chat/v1/chat-api.json | 12 +- chat/v1/chat-gen.go | 35 +- chromemanagement/v1/chromemanagement-api.json | 183 +- chromemanagement/v1/chromemanagement-gen.go | 548 +++++ clouddeploy/v1/clouddeploy-api.json | 7 +- clouddeploy/v1/clouddeploy-gen.go | 13 + cloudtrace/v2/cloudtrace-api.json | 4 +- cloudtrace/v2/cloudtrace-gen.go | 5 +- composer/v1/composer-api.json | 4 +- composer/v1/composer-gen.go | 4 +- composer/v1beta1/composer-api.json | 4 +- composer/v1beta1/composer-gen.go | 4 +- compute/v0.alpha/compute-api.json | 251 ++- compute/v0.alpha/compute-gen.go | 873 +++++++- compute/v0.beta/compute-api.json | 108 +- compute/v0.beta/compute-gen.go | 309 ++- compute/v1/compute-api.json | 42 +- compute/v1/compute-gen.go | 98 +- contentwarehouse/v1/contentwarehouse-api.json | 685 +++++-- contentwarehouse/v1/contentwarehouse-gen.go | 972 +++++---- dataflow/v1b3/dataflow-api.json | 114 +- dataflow/v1b3/dataflow-gen.go | 325 +-- gmail/v1/gmail-api.json | 4 +- gmail/v1/gmail-gen.go | 5 +- logging/v2/logging-api.json | 6 +- logging/v2/logging-gen.go | 6 +- memcache/v1/memcache-api.json | 7 +- memcache/v1/memcache-gen.go | 39 +- .../v1/mybusinesslodging-api.json | 4 +- mybusinesslodging/v1/mybusinesslodging-gen.go | 4 +- notebooks/v1/notebooks-api.json | 102 +- notebooks/v1/notebooks-gen.go | 307 ++- retail/v2/retail-api.json | 473 ++++- retail/v2/retail-gen.go | 1756 +++++++++++++++-- retail/v2alpha/retail-api.json | 221 ++- retail/v2alpha/retail-gen.go | 376 +++- retail/v2beta/retail-api.json | 221 ++- retail/v2beta/retail-gen.go | 376 +++- run/v1/run-api.json | 4 +- run/v1/run-gen.go | 5 +- safebrowsing/v4/safebrowsing-api.json | 86 +- safebrowsing/v4/safebrowsing-gen.go | 108 +- sourcerepo/v1/sourcerepo-api.json | 4 +- sourcerepo/v1/sourcerepo-gen.go | 8 +- sts/v1/sts-api.json | 8 +- sts/v1/sts-gen.go | 7 +- testing/v1/testing-api.json | 74 +- testing/v1/testing-gen.go | 125 ++ vmmigration/v1/vmmigration-api.json | 4 +- vmmigration/v1/vmmigration-gen.go | 4 +- 54 files changed, 7451 insertions(+), 1618 deletions(-) diff --git a/admin/directory/v1/admin-api.json b/admin/directory/v1/admin-api.json index 02c92e85f01..cacfb7e1800 100644 --- a/admin/directory/v1/admin-api.json +++ b/admin/directory/v1/admin-api.json @@ -4072,7 +4072,7 @@ ] }, "patch": { - "description": "Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead.", + "description": "Updates a user using patch semantics. The update method should be used instead, because it also supports patch semantics and has better performance. If you're mapping an external identity to a Google identity, use the [`update`](https://developers.google.com/admin-sdk/directory/v1/reference/users/update) method instead of the `patch` method. This method is unable to clear fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead.", "flatPath": "admin/directory/v1/users/{userKey}", "httpMethod": "PATCH", "id": "directory.users.patch", @@ -4630,7 +4630,7 @@ } } }, - "revision": "20230103", + "revision": "20230124", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -5357,16 +5357,16 @@ ], "enumDescriptions": [ "The deprovision reason is unknown.", - "Same model replacement.", - "Device upgrade.", - "Domain move.", - "Service expiration.", - "Other.", - "Different model replacement.", - "Retiring device.", - "Transferring perpetual upgrade to a new device.", - "No reason required, i.e. licenses returned to customer's license pool.", - "Deprovisioned by a RMA (service center) caller." + "The device was replaced by a device with the same model.", + "The device was upgraded.", + "The device's domain was changed.", + "Service expired for the device.", + "The device was deprovisioned for a legacy reason that is no longer supported.", + "The device was replaced by a device with a different model.", + "The device was retired.", + "The device's perpetual upgrade was transferred to a new device.", + "A reason was not required. For example, the licenses were returned to the customer's license pool.", + "The device was deprovisioned by a repair service center." ], "type": "string" }, @@ -5916,7 +5916,7 @@ "id": "DirectoryChromeosdevicesCommandResult", "properties": { "commandResultPayload": { - "description": "The payload for the command result. The following commands respond with a payload: - DEVICE_START_CRD_SESSION: Payload is a stringified JSON object in the form: { \"url\": url }. The URL provides a link to the CRD session.", + "description": "The payload for the command result. The following commands respond with a payload: * `DEVICE_START_CRD_SESSION`: Payload is a stringified JSON object in the form: { \"url\": url }. The URL provides a link to the Chrome Remote Desktop session.", "type": "string" }, "errorMessage": { @@ -5974,7 +5974,7 @@ "type": "string" }, "payload": { - "description": "The payload for the command, provide it only if command supports it. The following commands support adding payload: - SET_VOLUME: Payload is a stringified JSON object in the form: { \"volume\": 50 }. The volume has to be an integer in the range [0,100]. - DEVICE_START_CRD_SESSION: Payload is optionally a stringified JSON object in the form: { \"ackedUserPresence\": true }. ackedUserPresence is a boolean. If a device is being used, ackedUserPresence must be set to true to acknowledge that you want to start a CRD session anyways. It is false by default, so a CRD command will fail if used on an active device without this field.", + "description": "The payload for the command, provide it only if command supports it. The following commands support adding payload: * `SET_VOLUME`: Payload is a stringified JSON object in the form: { \"volume\": 50 }. The volume has to be an integer in the range [0,100]. * `DEVICE_START_CRD_SESSION`: Payload is optionally a stringified JSON object in the form: { \"ackedUserPresence\": true }. `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is set to `false`. To start a Chrome Remote Desktop session for an active device, set `ackedUserPresence` to `true`.", "type": "string" } }, diff --git a/admin/directory/v1/admin-gen.go b/admin/directory/v1/admin-gen.go index dcdadb07124..1c802ae5d69 100644 --- a/admin/directory/v1/admin-gen.go +++ b/admin/directory/v1/admin-gen.go @@ -1565,20 +1565,23 @@ type ChromeOsDevice struct { // // Possible values: // "deprovisionReasonUnspecified" - The deprovision reason is unknown. - // "deprovisionReasonSameModelReplacement" - Same model replacement. - // "deprovisionReasonUpgrade" - Device upgrade. - // "deprovisionReasonDomainMove" - Domain move. - // "deprovisionReasonServiceExpiration" - Service expiration. - // "deprovisionReasonOther" - Other. - // "deprovisionReasonDifferentModelReplacement" - Different model - // replacement. - // "deprovisionReasonRetiringDevice" - Retiring device. - // "deprovisionReasonUpgradeTransfer" - Transferring perpetual upgrade - // to a new device. - // "deprovisionReasonNotRequired" - No reason required, i.e. licenses - // returned to customer's license pool. - // "deprovisionReasonRepairCenter" - Deprovisioned by a RMA (service - // center) caller. + // "deprovisionReasonSameModelReplacement" - The device was replaced + // by a device with the same model. + // "deprovisionReasonUpgrade" - The device was upgraded. + // "deprovisionReasonDomainMove" - The device's domain was changed. + // "deprovisionReasonServiceExpiration" - Service expired for the + // device. + // "deprovisionReasonOther" - The device was deprovisioned for a + // legacy reason that is no longer supported. + // "deprovisionReasonDifferentModelReplacement" - The device was + // replaced by a device with a different model. + // "deprovisionReasonRetiringDevice" - The device was retired. + // "deprovisionReasonUpgradeTransfer" - The device's perpetual upgrade + // was transferred to a new device. + // "deprovisionReasonNotRequired" - A reason was not required. For + // example, the licenses were returned to the customer's license pool. + // "deprovisionReasonRepairCenter" - The device was deprovisioned by a + // repair service center. DeprovisionReason string `json:"deprovisionReason,omitempty"` // DeviceFiles: A list of device files to download (Read-only) @@ -2630,9 +2633,10 @@ func (s *DirectoryChromeosdevicesCommand) MarshalJSON() ([]byte, error) { // command. type DirectoryChromeosdevicesCommandResult struct { // CommandResultPayload: The payload for the command result. The - // following commands respond with a payload: - - // DEVICE_START_CRD_SESSION: Payload is a stringified JSON object in the - // form: { "url": url }. The URL provides a link to the CRD session. + // following commands respond with a payload: * + // `DEVICE_START_CRD_SESSION`: Payload is a stringified JSON object in + // the form: { "url": url }. The URL provides a link to the Chrome + // Remote Desktop session. CommandResultPayload string `json:"commandResultPayload,omitempty"` // ErrorMessage: The error message with a short explanation as to why @@ -2705,15 +2709,14 @@ type DirectoryChromeosdevicesIssueCommandRequest struct { CommandType string `json:"commandType,omitempty"` // Payload: The payload for the command, provide it only if command - // supports it. The following commands support adding payload: - - // SET_VOLUME: Payload is a stringified JSON object in the form: { + // supports it. The following commands support adding payload: * + // `SET_VOLUME`: Payload is a stringified JSON object in the form: { // "volume": 50 }. The volume has to be an integer in the range [0,100]. - // - DEVICE_START_CRD_SESSION: Payload is optionally a stringified JSON - // object in the form: { "ackedUserPresence": true }. ackedUserPresence - // is a boolean. If a device is being used, ackedUserPresence must be - // set to true to acknowledge that you want to start a CRD session - // anyways. It is false by default, so a CRD command will fail if used - // on an active device without this field. + // * `DEVICE_START_CRD_SESSION`: Payload is optionally a stringified + // JSON object in the form: { "ackedUserPresence": true }. + // `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is + // set to `false`. To start a Chrome Remote Desktop session for an + // active device, set `ackedUserPresence` to `true`. Payload string `json:"payload,omitempty"` // ForceSendFields is a list of field names (e.g. "CommandType") to @@ -23700,10 +23703,13 @@ type UsersPatchCall struct { } // Patch: Updates a user using patch semantics. The update method should -// be used instead, since it also supports patch semantics and has -// better performance. This method is unable to clear fields that -// contain repeated objects (`addresses`, `phones`, etc). Use the update -// method instead. +// be used instead, because it also supports patch semantics and has +// better performance. If you're mapping an external identity to a +// Google identity, use the `update` +// (https://developers.google.com/admin-sdk/directory/v1/reference/users/update) +// method instead of the `patch` method. This method is unable to clear +// fields that contain repeated objects (`addresses`, `phones`, etc). +// Use the update method instead. // // - userKey: Identifies the user in the API request. The value can be // the user's primary email address, alias email address, or unique @@ -23806,7 +23812,7 @@ func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) { } return ret, nil // { - // "description": "Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead.", + // "description": "Updates a user using patch semantics. The update method should be used instead, because it also supports patch semantics and has better performance. If you're mapping an external identity to a Google identity, use the [`update`](https://developers.google.com/admin-sdk/directory/v1/reference/users/update) method instead of the `patch` method. This method is unable to clear fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead.", // "flatPath": "admin/directory/v1/users/{userKey}", // "httpMethod": "PATCH", // "id": "directory.users.patch", diff --git a/batch/v1/batch-api.json b/batch/v1/batch-api.json index 374b9786e57..683d24f8972 100644 --- a/batch/v1/batch-api.json +++ b/batch/v1/batch-api.json @@ -643,7 +643,7 @@ } } }, - "revision": "20230105", + "revision": "20230118", "rootUrl": "https://batch.googleapis.com/", "schemas": { "Accelerator": { @@ -1224,6 +1224,10 @@ "description": "VM instance status.", "id": "InstanceStatus", "properties": { + "bootDisk": { + "$ref": "Disk", + "description": "The VM boot disk." + }, "machineType": { "description": "The Compute Engine machine type.", "type": "string" @@ -1906,6 +1910,13 @@ "email": { "description": "Email address of the service account. If not specified, the default Compute Engine service account for the project will be used. If instance template is being used, the service account has to be specified in the instance template and it has to match the email field here.", "type": "string" + }, + "scopes": { + "description": "List of scopes to be enabled for this service account on the VM, in addition to the cloud-platform API scope that will be added by default.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/batch/v1/batch-gen.go b/batch/v1/batch-gen.go index 5ed88f58731..3af381a233d 100644 --- a/batch/v1/batch-gen.go +++ b/batch/v1/batch-gen.go @@ -1206,6 +1206,9 @@ func (s *InstancePolicyOrTemplate) MarshalJSON() ([]byte, error) { // InstanceStatus: VM instance status. type InstanceStatus struct { + // BootDisk: The VM boot disk. + BootDisk *Disk `json:"bootDisk,omitempty"` + // MachineType: The Compute Engine machine type. MachineType string `json:"machineType,omitempty"` @@ -1226,7 +1229,7 @@ type InstanceStatus struct { // type. TaskPack int64 `json:"taskPack,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "MachineType") to + // ForceSendFields is a list of field names (e.g. "BootDisk") 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 @@ -1234,10 +1237,10 @@ type InstanceStatus struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MachineType") 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. "BootDisk") 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:"-"` @@ -2339,6 +2342,11 @@ type ServiceAccount struct { // field here. Email string `json:"email,omitempty"` + // Scopes: List of scopes to be enabled for this service account on the + // VM, in addition to the cloud-platform API scope that will be added by + // default. + Scopes []string `json:"scopes,omitempty"` + // ForceSendFields is a list of field names (e.g. "Email") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any diff --git a/chat/v1/chat-api.json b/chat/v1/chat-api.json index 801911cea96..b426f5f6c7b 100644 --- a/chat/v1/chat-api.json +++ b/chat/v1/chat-api.json @@ -502,7 +502,7 @@ } } }, - "revision": "20230115", + "revision": "20230119", "rootUrl": "https://chat.googleapis.com/", "schemas": { "ActionParameter": { @@ -1206,11 +1206,11 @@ "type": "object" }, "GoogleAppsCardV1Button": { - "description": "A text, icon, or text + icon button that users can click. To make an image a clickable button, specify an Image (not an ImageComponent) and set an `onClick` action.", + "description": "A text, icon, or text + icon button that users can click. To make an image a clickable button, specify an Image (not an ImageComponent) and set an `onClick` action. Currently supported in Chat apps (including [dialogs] (https://developers.google.com/chat/how-tos/dialogs) and [card messages] (https://developers.google.com/chat/api/guides/message-formats/cards)) and Google Workspace Add-ons.", "id": "GoogleAppsCardV1Button", "properties": { "altText": { - "description": "The alternative text used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat\". Has no effect when an icon is set; use `icon.alt_text` instead.", + "description": "The alternative text used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat\".", "type": "string" }, "color": { @@ -1223,11 +1223,11 @@ }, "icon": { "$ref": "GoogleAppsCardV1Icon", - "description": "The icon image. If both `icon` and `text` are set, then the icon appears in place of the text. Support for both an icon and text is coming soon." + "description": "The icon image. If both `icon` and `text` are set, then the icon appears before the text." }, "onClick": { "$ref": "GoogleAppsCardV1OnClick", - "description": "The action to perform when the button is clicked, such as opening a hyperlink or running a custom function." + "description": "Required. The action to perform when the button is clicked, such as opening a hyperlink or running a custom function." }, "text": { "description": "The text displayed inside the button.", @@ -1535,7 +1535,7 @@ "id": "GoogleAppsCardV1Icon", "properties": { "altText": { - "description": "Optional. A description of the icon used for accessibility. If unspecified, a default value is provided. As a best practice, you should set a helpful description. For example, if an icon displays a user's account portrait, you could describe it as \"A user's account portrait.\" If the icon displays in a Button, this alt text takes precedence and overwrites the button's alt text, so you should write alt text for the button: Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat\".", + "description": "Optional. A description of the icon used for accessibility. If unspecified, the default value \"Button\" is provided. As a best practice, you should set a helpful description for what the icon displays, and if applicable, what it does. For example, `A user's account portrait`, or `Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/chat`. If the icon is set in a Button, the `altText` appears as helper text when the user hovers over the button. However, if the button also sets `text`, the icon's `altText` is ignored.", "type": "string" }, "iconUrl": { diff --git a/chat/v1/chat-gen.go b/chat/v1/chat-gen.go index 849b4fe6301..40cf404ed06 100644 --- a/chat/v1/chat-gen.go +++ b/chat/v1/chat-gen.go @@ -1479,14 +1479,18 @@ func (s *GoogleAppsCardV1BorderStyle) MarshalJSON() ([]byte, error) { // GoogleAppsCardV1Button: A text, icon, or text + icon button that // users can click. To make an image a clickable button, specify an -// Image (not an ImageComponent) and set an `onClick` action. +// Image (not an ImageComponent) and set an `onClick` action. Currently +// supported in Chat apps (including [dialogs] +// (https://developers.google.com/chat/how-tos/dialogs) and [card +// messages] +// (https://developers.google.com/chat/api/guides/message-formats/cards)) +// and Google Workspace Add-ons. type GoogleAppsCardV1Button struct { // AltText: The alternative text used for accessibility. Set descriptive // text that lets users know what the button does. For example, if a // button opens a hyperlink, you might write: "Opens a new browser tab // and navigates to the Google Chat developer documentation at - // https://developers.google.com/chat". Has no effect when an icon is - // set; use `icon.alt_text` instead. + // https://developers.google.com/chat". AltText string `json:"altText,omitempty"` // Color: If set, the button is filled with a solid background color and @@ -1512,12 +1516,11 @@ type GoogleAppsCardV1Button struct { Disabled bool `json:"disabled,omitempty"` // Icon: The icon image. If both `icon` and `text` are set, then the - // icon appears in place of the text. Support for both an icon and text - // is coming soon. + // icon appears before the text. Icon *GoogleAppsCardV1Icon `json:"icon,omitempty"` - // OnClick: The action to perform when the button is clicked, such as - // opening a hyperlink or running a custom function. + // OnClick: Required. The action to perform when the button is clicked, + // such as opening a hyperlink or running a custom function. OnClick *GoogleAppsCardV1OnClick `json:"onClick,omitempty"` // Text: The text displayed inside the button. @@ -2072,15 +2075,15 @@ func (s *GoogleAppsCardV1GridItem) MarshalJSON() ([]byte, error) { // icons. type GoogleAppsCardV1Icon struct { // AltText: Optional. A description of the icon used for accessibility. - // If unspecified, a default value is provided. As a best practice, you - // should set a helpful description. For example, if an icon displays a - // user's account portrait, you could describe it as "A user's account - // portrait." If the icon displays in a Button, this alt text takes - // precedence and overwrites the button's alt text, so you should write - // alt text for the button: Set descriptive text that lets users know - // what the button does. For example, if a button opens a hyperlink, you - // might write: "Opens a new browser tab and navigates to the Google - // Chat developer documentation at https://developers.google.com/chat". + // If unspecified, the default value "Button" is provided. As a best + // practice, you should set a helpful description for what the icon + // displays, and if applicable, what it does. For example, `A user's + // account portrait`, or `Opens a new browser tab and navigates to the + // Google Chat developer documentation at + // https://developers.google.com/chat`. If the icon is set in a Button, + // the `altText` appears as helper text when the user hovers over the + // button. However, if the button also sets `text`, the icon's `altText` + // is ignored. AltText string `json:"altText,omitempty"` // IconUrl: Display a custom icon hosted at an HTTPS URL. For example: diff --git a/chromemanagement/v1/chromemanagement-api.json b/chromemanagement/v1/chromemanagement-api.json index 847a5f243a8..fa66eb3cccb 100644 --- a/chromemanagement/v1/chromemanagement-api.json +++ b/chromemanagement/v1/chromemanagement-api.json @@ -676,13 +676,95 @@ ] } } + }, + "users": { + "methods": { + "get": { + "description": "Get telemetry user.", + "flatPath": "v1/customers/{customersId}/telemetry/users/{usersId}", + "httpMethod": "GET", + "id": "chromemanagement.customers.telemetry.users.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `TelemetryUser` to return.", + "location": "path", + "pattern": "^customers/[^/]+/telemetry/users/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Read mask to specify which fields to return.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleChromeManagementV1TelemetryUser" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.telemetry.readonly" + ] + }, + "list": { + "description": "List all telemetry users.", + "flatPath": "v1/customers/{customersId}/telemetry/users", + "httpMethod": "GET", + "id": "chromemanagement.customers.telemetry.users.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Only include resources that match the filter. Supported filter fields: * user_id * user_org_unit_id", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return. Default value is 100. Maximum value is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token to specify next page in the list.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Read mask to specify which fields to return.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/telemetry/users", + "response": { + "$ref": "GoogleChromeManagementV1ListTelemetryUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.telemetry.readonly" + ] + } + } } } } } } }, - "revision": "20230122", + "revision": "20230124", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -2006,6 +2088,24 @@ }, "type": "object" }, + "GoogleChromeManagementV1ListTelemetryUsersResponse": { + "description": "Response message for listing telemetry users for a customer.", + "id": "GoogleChromeManagementV1ListTelemetryUsersResponse", + "properties": { + "nextPageToken": { + "description": "Token to specify next page in the list.", + "type": "string" + }, + "telemetryUsers": { + "description": "Telemetry users returned in the response.", + "items": { + "$ref": "GoogleChromeManagementV1TelemetryUser" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleChromeManagementV1MemoryInfo": { "description": "Memory information of a device. * This field has both telemetry and device information: - `totalRamBytes` - Device information - `availableRamBytes` - Telemetry information - `totalMemoryEncryption` - Device information * Data for this field is controlled via policy: [ReportDeviceMemoryInfo](https://chromeenterprise.google/policies/#ReportDeviceMemoryInfo) * Data Collection Frequency: - `totalRamBytes` - Only at upload - `availableRamBytes` - Every 10 minutes - `totalMemoryEncryption` - at device startup * Default Data Reporting Frequency: - `totalRamBytes` - 3 hours - `availableRamBytes` - 3 hours - `totalMemoryEncryption` - at device startup - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: only for `totalMemoryEncryption` * Reported for affiliated users only: N/A", "id": "GoogleChromeManagementV1MemoryInfo", @@ -2311,6 +2411,26 @@ }, "type": "object" }, + "GoogleChromeManagementV1PeripheralsReport": { + "description": "Peripherals report.", + "id": "GoogleChromeManagementV1PeripheralsReport", + "properties": { + "reportTime": { + "description": "Output only. Timestamp of when the report was collected.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "usbPeripheralReport": { + "description": "Reports of all usb connected devices.", + "items": { + "$ref": "GoogleChromeManagementV1UsbPeripheralReport" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleChromeManagementV1StorageInfo": { "description": "Status data for storage. * This field is telemetry information and this will change over time as the device is utilized. * Data for this field is controlled via policy: [ReportDeviceStorageStatus](https://chromeenterprise.google/policies/#ReportDeviceStorageStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A", "id": "GoogleChromeManagementV1StorageInfo", @@ -2657,6 +2777,67 @@ }, "type": "object" }, + "GoogleChromeManagementV1TelemetryUser": { + "description": "Telemetry data collected from a managed user.", + "id": "GoogleChromeManagementV1TelemetryUser", + "properties": { + "customer": { + "description": "G Suite Customer whose enterprise enrolled the device.", + "type": "string" + }, + "name": { + "description": "Resource name of the user.", + "type": "string" + }, + "orgUnitId": { + "description": "Organization unit of the user.", + "type": "string" + }, + "userDevice": { + "description": "Telemetry data collected from a managed user and device.", + "items": { + "$ref": "GoogleChromeManagementV1TelemetryUserDevice" + }, + "type": "array" + }, + "userEmail": { + "description": "Email address of the user.", + "type": "string" + }, + "userId": { + "description": "Directory ID of the user.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1TelemetryUserDevice": { + "description": "Telemetry data collected for a managed user and device.", + "id": "GoogleChromeManagementV1TelemetryUserDevice", + "properties": { + "audioStatusReport": { + "description": "Output only. Audio reports collected periodically sorted in a decreasing order of report_time.", + "items": { + "$ref": "GoogleChromeManagementV1AudioStatusReport" + }, + "readOnly": true, + "type": "array" + }, + "deviceId": { + "description": "The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", + "type": "string" + }, + "peripheralsReport": { + "description": "Output only. Peripherals reports collected periodically sorted in a decreasing order of report_time.", + "items": { + "$ref": "GoogleChromeManagementV1PeripheralsReport" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "GoogleChromeManagementV1TelemetryUserInfo": { "description": "Information about a user associated with telemetry data.", "id": "GoogleChromeManagementV1TelemetryUserInfo", diff --git a/chromemanagement/v1/chromemanagement-gen.go b/chromemanagement/v1/chromemanagement-gen.go index 39d2b7602cc..0e285e9686d 100644 --- a/chromemanagement/v1/chromemanagement-gen.go +++ b/chromemanagement/v1/chromemanagement-gen.go @@ -227,6 +227,7 @@ func NewCustomersTelemetryService(s *Service) *CustomersTelemetryService { rs := &CustomersTelemetryService{s: s} rs.Devices = NewCustomersTelemetryDevicesService(s) rs.Events = NewCustomersTelemetryEventsService(s) + rs.Users = NewCustomersTelemetryUsersService(s) return rs } @@ -236,6 +237,8 @@ type CustomersTelemetryService struct { Devices *CustomersTelemetryDevicesService Events *CustomersTelemetryEventsService + + Users *CustomersTelemetryUsersService } func NewCustomersTelemetryDevicesService(s *Service) *CustomersTelemetryDevicesService { @@ -256,6 +259,15 @@ type CustomersTelemetryEventsService struct { s *Service } +func NewCustomersTelemetryUsersService(s *Service) *CustomersTelemetryUsersService { + rs := &CustomersTelemetryUsersService{s: s} + return rs +} + +type CustomersTelemetryUsersService struct { + s *Service +} + // GoogleChromeManagementV1AndroidAppInfo: Android app information. type GoogleChromeManagementV1AndroidAppInfo struct { // Permissions: Output only. Permissions requested by an Android app. @@ -2001,6 +2013,42 @@ func (s *GoogleChromeManagementV1ListTelemetryEventsResponse) MarshalJSON() ([]b return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleChromeManagementV1ListTelemetryUsersResponse: Response message +// for listing telemetry users for a customer. +type GoogleChromeManagementV1ListTelemetryUsersResponse struct { + // NextPageToken: Token to specify next page in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // TelemetryUsers: Telemetry users returned in the response. + TelemetryUsers []*GoogleChromeManagementV1TelemetryUser `json:"telemetryUsers,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *GoogleChromeManagementV1ListTelemetryUsersResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChromeManagementV1ListTelemetryUsersResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleChromeManagementV1MemoryInfo: Memory information of a device. * // This field has both telemetry and device information: - // `totalRamBytes` - Device information - `availableRamBytes` - @@ -2408,6 +2456,37 @@ func (s *GoogleChromeManagementV1OsUpdateStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleChromeManagementV1PeripheralsReport: Peripherals report. +type GoogleChromeManagementV1PeripheralsReport struct { + // ReportTime: Output only. Timestamp of when the report was collected. + ReportTime string `json:"reportTime,omitempty"` + + // UsbPeripheralReport: Reports of all usb connected devices. + UsbPeripheralReport []*GoogleChromeManagementV1UsbPeripheralReport `json:"usbPeripheralReport,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ReportTime") 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. "ReportTime") 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 *GoogleChromeManagementV1PeripheralsReport) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChromeManagementV1PeripheralsReport + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleChromeManagementV1StorageInfo: Status data for storage. * This // field is telemetry information and this will change over time as the // device is utilized. * Data for this field is controlled via policy: @@ -2834,6 +2913,94 @@ func (s *GoogleChromeManagementV1TelemetryUsbPeripheralsEvent) MarshalJSON() ([] return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleChromeManagementV1TelemetryUser: Telemetry data collected from +// a managed user. +type GoogleChromeManagementV1TelemetryUser struct { + // Customer: G Suite Customer whose enterprise enrolled the device. + Customer string `json:"customer,omitempty"` + + // Name: Resource name of the user. + Name string `json:"name,omitempty"` + + // OrgUnitId: Organization unit of the user. + OrgUnitId string `json:"orgUnitId,omitempty"` + + // UserDevice: Telemetry data collected from a managed user and device. + UserDevice []*GoogleChromeManagementV1TelemetryUserDevice `json:"userDevice,omitempty"` + + // UserEmail: Email address of the user. + UserEmail string `json:"userEmail,omitempty"` + + // UserId: Directory ID of the user. + UserId string `json:"userId,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Customer") 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. "Customer") 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 *GoogleChromeManagementV1TelemetryUser) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChromeManagementV1TelemetryUser + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChromeManagementV1TelemetryUserDevice: Telemetry data collected +// for a managed user and device. +type GoogleChromeManagementV1TelemetryUserDevice struct { + // AudioStatusReport: Output only. Audio reports collected periodically + // sorted in a decreasing order of report_time. + AudioStatusReport []*GoogleChromeManagementV1AudioStatusReport `json:"audioStatusReport,omitempty"` + + // DeviceId: The unique Directory API ID of the device. This value is + // the same as the Admin Console's Directory API ID in the ChromeOS + // Devices tab. + DeviceId string `json:"deviceId,omitempty"` + + // PeripheralsReport: Output only. Peripherals reports collected + // periodically sorted in a decreasing order of report_time. + PeripheralsReport []*GoogleChromeManagementV1PeripheralsReport `json:"peripheralsReport,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AudioStatusReport") + // 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. "AudioStatusReport") 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 *GoogleChromeManagementV1TelemetryUserDevice) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChromeManagementV1TelemetryUserDevice + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleChromeManagementV1TelemetryUserInfo: Information about a user // associated with telemetry data. type GoogleChromeManagementV1TelemetryUserInfo struct { @@ -5702,3 +5869,384 @@ func (c *CustomersTelemetryEventsListCall) Pages(ctx context.Context, f func(*Go c.PageToken(x.NextPageToken) } } + +// method id "chromemanagement.customers.telemetry.users.get": + +type CustomersTelemetryUsersGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Get telemetry user. +// +// - name: Name of the `TelemetryUser` to return. +func (r *CustomersTelemetryUsersService) Get(name string) *CustomersTelemetryUsersGetCall { + c := &CustomersTelemetryUsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ReadMask sets the optional parameter "readMask": Read mask to specify +// which fields to return. +func (c *CustomersTelemetryUsersGetCall) ReadMask(readMask string) *CustomersTelemetryUsersGetCall { + c.urlParams_.Set("readMask", readMask) + 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 *CustomersTelemetryUsersGetCall) Fields(s ...googleapi.Field) *CustomersTelemetryUsersGetCall { + 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 *CustomersTelemetryUsersGetCall) IfNoneMatch(entityTag string) *CustomersTelemetryUsersGetCall { + 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 *CustomersTelemetryUsersGetCall) Context(ctx context.Context) *CustomersTelemetryUsersGetCall { + 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 *CustomersTelemetryUsersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CustomersTelemetryUsersGetCall) 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, "v1/{+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 "chromemanagement.customers.telemetry.users.get" call. +// Exactly one of *GoogleChromeManagementV1TelemetryUser or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleChromeManagementV1TelemetryUser.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 *CustomersTelemetryUsersGetCall) Do(opts ...googleapi.CallOption) (*GoogleChromeManagementV1TelemetryUser, 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 := &GoogleChromeManagementV1TelemetryUser{ + 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": "Get telemetry user.", + // "flatPath": "v1/customers/{customersId}/telemetry/users/{usersId}", + // "httpMethod": "GET", + // "id": "chromemanagement.customers.telemetry.users.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the `TelemetryUser` to return.", + // "location": "path", + // "pattern": "^customers/[^/]+/telemetry/users/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "readMask": { + // "description": "Read mask to specify which fields to return.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleChromeManagementV1TelemetryUser" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/chrome.management.telemetry.readonly" + // ] + // } + +} + +// method id "chromemanagement.customers.telemetry.users.list": + +type CustomersTelemetryUsersListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List all telemetry users. +// +// - parent: Customer id or "my_customer" to use the customer associated +// to the account making the request. +func (r *CustomersTelemetryUsersService) List(parent string) *CustomersTelemetryUsersListCall { + c := &CustomersTelemetryUsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Only include resources +// that match the filter. Supported filter fields: * user_id * +// user_org_unit_id +func (c *CustomersTelemetryUsersListCall) Filter(filter string) *CustomersTelemetryUsersListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// results to return. Default value is 100. Maximum value is 1000. +func (c *CustomersTelemetryUsersListCall) PageSize(pageSize int64) *CustomersTelemetryUsersListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Token to specify +// next page in the list. +func (c *CustomersTelemetryUsersListCall) PageToken(pageToken string) *CustomersTelemetryUsersListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReadMask sets the optional parameter "readMask": Read mask to specify +// which fields to return. +func (c *CustomersTelemetryUsersListCall) ReadMask(readMask string) *CustomersTelemetryUsersListCall { + c.urlParams_.Set("readMask", readMask) + 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 *CustomersTelemetryUsersListCall) Fields(s ...googleapi.Field) *CustomersTelemetryUsersListCall { + 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 *CustomersTelemetryUsersListCall) IfNoneMatch(entityTag string) *CustomersTelemetryUsersListCall { + 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 *CustomersTelemetryUsersListCall) Context(ctx context.Context) *CustomersTelemetryUsersListCall { + 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 *CustomersTelemetryUsersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CustomersTelemetryUsersListCall) 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, "v1/{+parent}/telemetry/users") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "chromemanagement.customers.telemetry.users.list" call. +// Exactly one of *GoogleChromeManagementV1ListTelemetryUsersResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleChromeManagementV1ListTelemetryUsersResponse.ServerResponse.Hea +// der 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 *CustomersTelemetryUsersListCall) Do(opts ...googleapi.CallOption) (*GoogleChromeManagementV1ListTelemetryUsersResponse, 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 := &GoogleChromeManagementV1ListTelemetryUsersResponse{ + 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": "List all telemetry users.", + // "flatPath": "v1/customers/{customersId}/telemetry/users", + // "httpMethod": "GET", + // "id": "chromemanagement.customers.telemetry.users.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "filter": { + // "description": "Only include resources that match the filter. Supported filter fields: * user_id * user_org_unit_id", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum number of results to return. Default value is 100. Maximum value is 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Token to specify next page in the list.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", + // "location": "path", + // "pattern": "^customers/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "readMask": { + // "description": "Read mask to specify which fields to return.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/telemetry/users", + // "response": { + // "$ref": "GoogleChromeManagementV1ListTelemetryUsersResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/chrome.management.telemetry.readonly" + // ] + // } + +} + +// 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 *CustomersTelemetryUsersListCall) Pages(ctx context.Context, f func(*GoogleChromeManagementV1ListTelemetryUsersResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("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.PageToken(x.NextPageToken) + } +} diff --git a/clouddeploy/v1/clouddeploy-api.json b/clouddeploy/v1/clouddeploy-api.json index e8c129f301d..671e1711f73 100644 --- a/clouddeploy/v1/clouddeploy-api.json +++ b/clouddeploy/v1/clouddeploy-api.json @@ -708,6 +708,11 @@ "location": "query", "type": "string" }, + "startingPhaseId": { + "description": "Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` will start at the first phase.", + "location": "query", + "type": "string" + }, "validateOnly": { "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", "location": "query", @@ -1334,7 +1339,7 @@ } } }, - "revision": "20230105", + "revision": "20230118", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { diff --git a/clouddeploy/v1/clouddeploy-gen.go b/clouddeploy/v1/clouddeploy-gen.go index d1232e4106b..18d12537df4 100644 --- a/clouddeploy/v1/clouddeploy-gen.go +++ b/clouddeploy/v1/clouddeploy-gen.go @@ -6048,6 +6048,14 @@ func (c *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall) RolloutId return c } +// StartingPhaseId sets the optional parameter "startingPhaseId": The +// starting phase ID for the `Rollout`. If empty the `Rollout` will +// start at the first phase. +func (c *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall) StartingPhaseId(startingPhaseId string) *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall { + c.urlParams_.Set("startingPhaseId", startingPhaseId) + return c +} + // ValidateOnly sets the optional parameter "validateOnly": If set to // true, the request is validated and the user is provided with an // expected result, but no actual change is made. @@ -6172,6 +6180,11 @@ func (c *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall) Do(opts . // "location": "query", // "type": "string" // }, + // "startingPhaseId": { + // "description": "Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` will start at the first phase.", + // "location": "query", + // "type": "string" + // }, // "validateOnly": { // "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", // "location": "query", diff --git a/cloudtrace/v2/cloudtrace-api.json b/cloudtrace/v2/cloudtrace-api.json index b3cab4eb165..0ad5de07a78 100644 --- a/cloudtrace/v2/cloudtrace-api.json +++ b/cloudtrace/v2/cloudtrace-api.json @@ -181,7 +181,7 @@ } } }, - "revision": "20220512", + "revision": "20230118", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { @@ -471,7 +471,7 @@ }, "originalFunctionName": { "$ref": "TruncatableString", - "description": "An un-mangled function name, if `function_name` is [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can be fully-qualified (up to 1024 bytes)." + "description": "An un-mangled function name, if `function_name` is mangled. To get information about name mangling, run [this search](https://www.google.com/search?q=cxx+name+mangling). The name can be fully-qualified (up to 1024 bytes)." }, "sourceVersion": { "$ref": "TruncatableString", diff --git a/cloudtrace/v2/cloudtrace-gen.go b/cloudtrace/v2/cloudtrace-gen.go index 5bcda9f8a27..a45d134fb2f 100644 --- a/cloudtrace/v2/cloudtrace-gen.go +++ b/cloudtrace/v2/cloudtrace-gen.go @@ -640,8 +640,9 @@ type StackFrame struct { LoadModule *Module `json:"loadModule,omitempty"` // OriginalFunctionName: An un-mangled function name, if `function_name` - // is mangled (http://www.avabodh.com/cxxin/namemangling.html). The name - // can be fully-qualified (up to 1024 bytes). + // is mangled. To get information about name mangling, run this search + // (https://www.google.com/search?q=cxx+name+mangling). The name can be + // fully-qualified (up to 1024 bytes). OriginalFunctionName *TruncatableString `json:"originalFunctionName,omitempty"` // SourceVersion: The version of the deployed source code (up to 128 diff --git a/composer/v1/composer-api.json b/composer/v1/composer-api.json index 8c6243fe01e..bafb4fd2108 100644 --- a/composer/v1/composer-api.json +++ b/composer/v1/composer-api.json @@ -462,7 +462,7 @@ } } }, - "revision": "20221130", + "revision": "20230124", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -981,7 +981,7 @@ "type": "string" }, "tags": { - "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated.", "items": { "type": "string" }, diff --git a/composer/v1/composer-gen.go b/composer/v1/composer-gen.go index f71e14446bc..d53dcbd2ede 100644 --- a/composer/v1/composer-gen.go +++ b/composer/v1/composer-gen.go @@ -1128,9 +1128,7 @@ type NodeConfig struct { // Tags: Optional. The list of instance tags applied to all node VMs. // Tags are used to identify valid sources or targets for network // firewalls. Each tag within the list must comply with RFC1035 - // (https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field - // is supported for Cloud Composer environments in versions - // composer-1.*.*-airflow-*.*.*. + // (https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. Tags []string `json:"tags,omitempty"` // ForceSendFields is a list of field names (e.g. "DiskSizeGb") to diff --git a/composer/v1beta1/composer-api.json b/composer/v1beta1/composer-api.json index 374f6596bb8..b07ad0e1323 100644 --- a/composer/v1beta1/composer-api.json +++ b/composer/v1beta1/composer-api.json @@ -518,7 +518,7 @@ } } }, - "revision": "20221114", + "revision": "20230124", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -1125,7 +1125,7 @@ "type": "string" }, "tags": { - "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated.", "items": { "type": "string" }, diff --git a/composer/v1beta1/composer-gen.go b/composer/v1beta1/composer-gen.go index b94075f3728..6ce9ea06381 100644 --- a/composer/v1beta1/composer-gen.go +++ b/composer/v1beta1/composer-gen.go @@ -1329,9 +1329,7 @@ type NodeConfig struct { // Tags: Optional. The list of instance tags applied to all node VMs. // Tags are used to identify valid sources or targets for network // firewalls. Each tag within the list must comply with RFC1035 - // (https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field - // is supported for Cloud Composer environments in versions - // composer-1.*.*-airflow-*.*.*. + // (https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. Tags []string `json:"tags,omitempty"` // ForceSendFields is a list of field names (e.g. "DiskSizeGb") to diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index cea2557f743..0bc01aaead6 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -26931,6 +26931,54 @@ }, "regionNetworkEndpointGroups": { "methods": { + "attachNetworkEndpoints": { + "description": "Attach a list of network endpoints to the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", + "parameterOrder": [ + "project", + "region", + "networkEndpointGroup" + ], + "parameters": { + "networkEndpointGroup": { + "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "request": { + "$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "delete": { "description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", @@ -26976,6 +27024,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "detachNetworkEndpoints": { + "description": "Detach the network endpoint from the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", + "parameterOrder": [ + "project", + "region", + "networkEndpointGroup" + ], + "parameters": { + "networkEndpointGroup": { + "description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "request": { + "$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", @@ -27119,6 +27215,75 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "listNetworkEndpoints": { + "description": "Lists the network endpoints in the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", + "parameterOrder": [ + "project", + "region", + "networkEndpointGroup" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "networkEndpointGroup": { + "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "response": { + "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] } } }, @@ -40268,7 +40433,7 @@ } } }, - "revision": "20230103", + "revision": "20230119", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -41522,10 +41687,12 @@ "maintenanceInterval": { "description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", "enum": [ - "PERIODIC" + "PERIODIC", + "RECURRENT" ], "enumDescriptions": [ - "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available." + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." ], "type": "string" }, @@ -41816,7 +41983,7 @@ "type": "string" }, "replicaZones": { - "description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources. Replica zones must have 1 zone same as the instance zone.", + "description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone. You can't use this option with boot disks.", "items": { "type": "string" }, @@ -43204,6 +43371,22 @@ "format": "uint64", "type": "string" }, + "ipAddressSelectionPolicy": { + "description": "Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends. This field is applicable to either: - Advanced Global External HTTPS Load Balancing (load balancing scheme EXTERNAL_MANAGED), - Regional External HTTPS Load Balancing, - Internal TCP Proxy (load balancing scheme INTERNAL_MANAGED), - Regional Internal HTTPS Load Balancing (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", + "enum": [ + "IPV4_ONLY", + "IPV6_ONLY", + "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", + "PREFER_IPV6" + ], + "enumDescriptions": [ + "Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", + "Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", + "Unspecified IP address selection policy.", + "Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." + ], + "type": "string" + }, "kind": { "default": "compute#backendService", "description": "[Output Only] Type of resource. Always compute#backendService for backend services.", @@ -43230,7 +43413,7 @@ "type": "string" }, "localityLbPolicies": { - "description": "A list of locality load balancing policies to be used in order of preference. Either the policy or the customPolicy field should be set. Overrides any value set in the localityLbPolicy field. localityLbPolicies is only supported when the BackendService is referenced by a URL Map that is referenced by a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", "items": { "$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" }, @@ -43907,7 +44090,7 @@ "type": "string" }, "name": { - "description": "Identifies the custom policy. The value should match the type the custom implementation is registered with on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 characters. Note that specifying the same custom policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", "type": "string" } }, @@ -43918,7 +44101,7 @@ "id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", "properties": { "name": { - "description": "The name of a locality load balancer policy to be used. The value should be one of the predefined ones as supported by localityLbPolicy, although at the moment only ROUND_ROBIN is supported. This field should only be populated when the customPolicy field is not used. Note that specifying the same policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -44805,6 +44988,7 @@ "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", "GENERAL_PURPOSE_T2D", + "GRAPHICS_OPTIMIZED", "MEMORY_OPTIMIZED", "MEMORY_OPTIMIZED_M3", "TYPE_UNSPECIFIED" @@ -44820,6 +45004,7 @@ "", "", "", + "", "" ], "type": "string" @@ -56960,7 +57145,7 @@ "type": "string" }, "vlanTag8021q": { - "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only specified at creation time.", + "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", "format": "int32", "type": "integer" } @@ -58202,6 +58387,11 @@ "format": "int32", "type": "integer" }, + "maxLagSize10Gbps": { + "description": "[Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps.", + "format": "int32", + "type": "integer" + }, "name": { "description": "[Output Only] Name of the resource.", "type": "string" @@ -67940,6 +68130,7 @@ "COMMITTED_NVIDIA_A100_80GB_GPUS", "COMMITTED_NVIDIA_A100_GPUS", "COMMITTED_NVIDIA_K80_GPUS", + "COMMITTED_NVIDIA_L4_GPUS", "COMMITTED_NVIDIA_P100_GPUS", "COMMITTED_NVIDIA_P4_GPUS", "COMMITTED_NVIDIA_T4_GPUS", @@ -67989,6 +68180,7 @@ "N2D_CPUS", "N2_CPUS", "NETWORKS", + "NETWORK_ATTACHMENTS", "NETWORK_ENDPOINT_GROUPS", "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", @@ -68093,6 +68285,7 @@ "", "", "", + "", "Guest CPUs", "", "", @@ -68186,6 +68379,7 @@ "", "", "", + "", "The total number of snapshots allowed for a single project.", "", "", @@ -69644,6 +69838,32 @@ }, "type": "object" }, + "RegionNetworkEndpointGroupsAttachEndpointsRequest": { + "id": "RegionNetworkEndpointGroupsAttachEndpointsRequest", + "properties": { + "networkEndpoints": { + "description": "The list of network endpoints to be attached.", + "items": { + "$ref": "NetworkEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionNetworkEndpointGroupsDetachEndpointsRequest": { + "id": "RegionNetworkEndpointGroupsDetachEndpointsRequest", + "properties": { + "networkEndpoints": { + "description": "The list of network endpoints to be detached.", + "items": { + "$ref": "NetworkEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", "properties": { @@ -73329,10 +73549,12 @@ "maintenanceInterval": { "description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", "enum": [ - "PERIODIC" + "PERIODIC", + "RECURRENT" ], "enumDescriptions": [ - "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available." + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." ], "type": "string" }, @@ -74127,7 +74349,7 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values are 403, 404, and 502). - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", "type": "string" }, "description": { @@ -74574,7 +74796,7 @@ "type": "string" }, "exceedAction": { - "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are \"deny(status)\", where valid values for status are 403, 404, 429, and 502, and \"redirect\" where the redirect parameters come from exceedRedirectOptions below.", + "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below.", "type": "string" }, "exceedActionRpcStatus": { @@ -83525,6 +83747,11 @@ "id": { "description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", "type": "string" + }, + "sensitivity": { + "description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", + "format": "int32", + "type": "integer" } }, "type": "object" diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 02f40649988..6e0f645a10b 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -3265,6 +3265,12 @@ type AllocationSpecificSKUAllocationReservedInstanceProperties struct { // will take longer to receive an update than if it was configured for // AS_NEEDED. Security updates will still be applied as soon as they are // available. + // "RECURRENT" - VMs receive infrastructure and hypervisor updates on + // a periodic basis, minimizing the number of maintenance operations + // (live migrations or terminations) on an individual VM. This may mean + // a VM will take longer to receive an update than if it was configured + // for AS_NEEDED. Security updates will still be applied as soon as they + // are available. RECURRENT is used for GEN3 and Slice of Hardware VMs. MaintenanceInterval string `json:"maintenanceInterval,omitempty"` // MinCpuPlatform: Minimum cpu platform the reservation. @@ -3627,9 +3633,11 @@ type AttachedDiskInitializeParams struct { // disk can handle. Values must be between 1 and 7,124. ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` - // ReplicaZones: URLs of the zones where the disk should be replicated - // to. Only applicable for regional resources. Replica zones must have 1 - // zone same as the instance zone. + // ReplicaZones: Required for each regional disk associated with the + // instance. Specify the URLs of the zones where the disk should be + // replicated to. You must provide exactly two replica zones, and one + // zone must be the same as the instance zone. You can't use this option + // with boot disks. ReplicaZones []string `json:"replicaZones,omitempty"` // ResourceManagerTags: Resource manager tags to be bound to the disk. @@ -6010,6 +6018,43 @@ type BackendService struct { // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` + // IpAddressSelectionPolicy: Specifies preference of traffic to the + // backend (from the proxy and from the client for proxyless gRPC). The + // possible values are: - IPV4_ONLY: Only send IPv4 traffic to the + // backends of the Backend Service (Instance Group, Managed Instance + // Group, Network Endpoint Group) regardless of traffic from the client + // to the proxy. Only IPv4 health-checks are used to check the health of + // the backends. This is the default setting. - PREFER_IPV6: Prioritize + // the connection to the endpoints IPv6 address over its IPv4 address + // (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send + // IPv6 traffic to the backends of the Backend Service (Instance Group, + // Managed Instance Group, Network Endpoint Group) regardless of traffic + // from the client to the proxy. Only IPv6 health-checks are used to + // check the health of the backends. This field is applicable to either: + // - Advanced Global External HTTPS Load Balancing (load balancing + // scheme EXTERNAL_MANAGED), - Regional External HTTPS Load Balancing, - + // Internal TCP Proxy (load balancing scheme INTERNAL_MANAGED), - + // Regional Internal HTTPS Load Balancing (load balancing scheme + // INTERNAL_MANAGED), - Traffic Director with Envoy proxies and + // proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). + // + // Possible values: + // "IPV4_ONLY" - Only send IPv4 traffic to the backends of the Backend + // Service (Instance Group, Managed Instance Group, Network Endpoint + // Group) regardless of traffic from the client to the proxy. Only IPv4 + // health-checks are used to check the health of the backends. This is + // the default setting. + // "IPV6_ONLY" - Only send IPv6 traffic to the backends of the Backend + // Service (Instance Group, Managed Instance Group, Network Endpoint + // Group) regardless of traffic from the client to the proxy. Only IPv6 + // health-checks are used to check the health of the backends. + // "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED" - Unspecified IP address + // selection policy. + // "PREFER_IPV6" - Prioritize the connection to the endpoints IPv6 + // address over its IPv4 address (provided there is a healthy IPv6 + // address). + IpAddressSelectionPolicy string `json:"ipAddressSelectionPolicy,omitempty"` + // Kind: [Output Only] Type of resource. Always compute#backendService // for backend services. Kind string `json:"kind,omitempty"` @@ -6032,12 +6077,16 @@ type BackendService struct { // "INVALID_LOAD_BALANCING_SCHEME" LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"` - // LocalityLbPolicies: A list of locality load balancing policies to be - // used in order of preference. Either the policy or the customPolicy - // field should be set. Overrides any value set in the localityLbPolicy - // field. localityLbPolicies is only supported when the BackendService - // is referenced by a URL Map that is referenced by a target gRPC proxy - // that has the validateForProxyless field set to true. + // LocalityLbPolicies: A list of locality load-balancing policies to be + // used in order of preference. When you use localityLbPolicies, you + // must set at least one value for either the + // localityLbPolicies[].policy or the localityLbPolicies[].customPolicy + // field. localityLbPolicies overrides any value set in the + // localityLbPolicy field. For an example of how to use this field, see + // Define a list of preferred policies. Caution: This field and its + // children are intended for use in a service mesh that includes gRPC + // clients only. Envoy proxies can't use backend services that have this + // configuration. LocalityLbPolicies []*BackendServiceLocalityLoadBalancingPolicyConfig `json:"localityLbPolicies,omitempty"` // LocalityLbPolicy: The load balancing algorithm used within the scope @@ -7246,12 +7295,13 @@ type BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy struct { // understood by a locally installed custom policy implementation. Data string `json:"data,omitempty"` - // Name: Identifies the custom policy. The value should match the type - // the custom implementation is registered with on the gRPC clients. It - // should follow protocol buffer message naming conventions and include - // the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 - // characters. Note that specifying the same custom policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: Identifies the custom policy. The value should match the name + // of a custom implementation registered on the gRPC clients. It should + // follow protocol buffer message naming conventions and include the + // full path (for example, myorg.CustomLbPolicy). The maximum length is + // 256 characters. Do not specify the same custom policy more than once + // for a backend. If you do, the configuration is rejected. For an + // example of how to use this field, see Use a custom policy. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Data") to @@ -7280,12 +7330,11 @@ func (s *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) MarshalJSO // BackendServiceLocalityLoadBalancingPolicyConfigPolicy: The // configuration for a built-in load balancing policy. type BackendServiceLocalityLoadBalancingPolicyConfigPolicy struct { - // Name: The name of a locality load balancer policy to be used. The - // value should be one of the predefined ones as supported by - // localityLbPolicy, although at the moment only ROUND_ROBIN is - // supported. This field should only be populated when the customPolicy - // field is not used. Note that specifying the same policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: The name of a locality load-balancing policy. Valid values + // include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For + // information about these values, see the description of + // localityLbPolicy. Do not specify the same policy more than once for a + // backend. If you do, the configuration is rejected. // // Possible values: // "INVALID_LB_POLICY" @@ -8571,6 +8620,7 @@ type Commitment struct { // "GENERAL_PURPOSE_N2" // "GENERAL_PURPOSE_N2D" // "GENERAL_PURPOSE_T2D" + // "GRAPHICS_OPTIMIZED" // "MEMORY_OPTIMIZED" // "MEMORY_OPTIMIZED_M3" // "TYPE_UNSPECIFIED" @@ -28058,7 +28108,7 @@ type InterconnectAttachment struct { Type string `json:"type,omitempty"` // VlanTag8021q: The IEEE 802.1Q VLAN tag for this attachment, in the - // range 2-4094. Only specified at creation time. + // range 2-4093. Only specified at creation time. VlanTag8021q int64 `json:"vlanTag8021q,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -30028,6 +30078,11 @@ type InterconnectRemoteLocation struct { // Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps. MaxLagSize100Gbps int64 `json:"maxLagSize100Gbps,omitempty"` + // MaxLagSize10Gbps: [Output Only] The maximum number of 10 Gbps ports + // supported in a link aggregation group (LAG). When linkType is 10 + // Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps. + MaxLagSize10Gbps int64 `json:"maxLagSize10Gbps,omitempty"` + // Name: [Output Only] Name of the resource. Name string `json:"name,omitempty"` @@ -45269,6 +45324,7 @@ type Quota struct { // "COMMITTED_NVIDIA_A100_80GB_GPUS" // "COMMITTED_NVIDIA_A100_GPUS" // "COMMITTED_NVIDIA_K80_GPUS" + // "COMMITTED_NVIDIA_L4_GPUS" // "COMMITTED_NVIDIA_P100_GPUS" // "COMMITTED_NVIDIA_P4_GPUS" // "COMMITTED_NVIDIA_T4_GPUS" @@ -45318,6 +45374,7 @@ type Quota struct { // "N2D_CPUS" // "N2_CPUS" // "NETWORKS" + // "NETWORK_ATTACHMENTS" // "NETWORK_ENDPOINT_GROUPS" // "NETWORK_FIREWALL_POLICIES" // "NODE_GROUPS" @@ -47923,6 +47980,62 @@ func (s *RegionListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type RegionNetworkEndpointGroupsAttachEndpointsRequest struct { + // NetworkEndpoints: The list of network endpoints to be attached. + NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") 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. "NetworkEndpoints") 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 *RegionNetworkEndpointGroupsAttachEndpointsRequest) MarshalJSON() ([]byte, error) { + type NoMethod RegionNetworkEndpointGroupsAttachEndpointsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionNetworkEndpointGroupsDetachEndpointsRequest struct { + // NetworkEndpoints: The list of network endpoints to be detached. + NetworkEndpoints []*NetworkEndpoint `json:"networkEndpoints,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NetworkEndpoints") 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. "NetworkEndpoints") 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 *RegionNetworkEndpointGroupsDetachEndpointsRequest) MarshalJSON() ([]byte, error) { + type NoMethod RegionNetworkEndpointGroupsDetachEndpointsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse struct { // FirewallPolicys: Effective firewalls from firewall policy. FirewallPolicys []*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy `json:"firewallPolicys,omitempty"` @@ -53269,6 +53382,12 @@ type Scheduling struct { // will take longer to receive an update than if it was configured for // AS_NEEDED. Security updates will still be applied as soon as they are // available. + // "RECURRENT" - VMs receive infrastructure and hypervisor updates on + // a periodic basis, minimizing the number of maintenance operations + // (live migrations or terminations) on an individual VM. This may mean + // a VM will take longer to receive an update than if it was configured + // for AS_NEEDED. Security updates will still be applied as soon as they + // are available. RECURRENT is used for GEN3 and Slice of Hardware VMs. MaintenanceInterval string `json:"maintenanceInterval,omitempty"` // MaxRunDuration: Specifies the max run duration for the given @@ -54588,18 +54707,19 @@ func (s *SecurityPolicyReference) MarshalJSON() ([]byte, error) { // matches this condition (allow or deny). type SecurityPolicyRule struct { // Action: The Action to perform when the rule is matched. The following - // are the valid actions: - allow: allow access to target. - deny(): - // deny access to target, returns the HTTP response code specified - // (valid values are 403, 404, and 502). - rate_based_ban: limit client - // traffic to the configured threshold and ban the client if the traffic - // exceeds the threshold. Configure parameters for this action in - // RateLimitOptions. Requires rate_limit_options to be set. - redirect: - // redirect to a different target. This can either be an internal - // reCAPTCHA redirect, or an external URL-based redirect via a 302 - // response. Parameters for this action can be configured via - // redirectOptions. - throttle: limit client traffic to the configured - // threshold. Configure parameters for this action in rateLimitOptions. - // Requires rate_limit_options to be set for this. + // are the valid actions: - allow: allow access to target. - + // deny(STATUS): deny access to target, returns the HTTP response code + // specified. Valid values for `STATUS` are 403, 404, and 502. - + // rate_based_ban: limit client traffic to the configured threshold and + // ban the client if the traffic exceeds the threshold. Configure + // parameters for this action in RateLimitOptions. Requires + // rate_limit_options to be set. - redirect: redirect to a different + // target. This can either be an internal reCAPTCHA redirect, or an + // external URL-based redirect via a 302 response. Parameters for this + // action can be configured via redirectOptions. - throttle: limit + // client traffic to the configured threshold. Configure parameters for + // this action in rateLimitOptions. Requires rate_limit_options to be + // set for this. Action string `json:"action,omitempty"` // Description: An optional description of this resource. Provide this @@ -55252,9 +55372,9 @@ type SecurityPolicyRuleRateLimitOptions struct { // ExceedAction: Action to take for requests that are above the // configured rate limit threshold, to either deny with a specified HTTP // response code, or redirect to a different endpoint. Valid options are - // "deny(status)", where valid values for status are 403, 404, 429, and - // 502, and "redirect" where the redirect parameters come from - // exceedRedirectOptions below. + // `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, + // and 502, and `redirect`, where the redirect parameters come from + // `exceedRedirectOptions` below. ExceedAction string `json:"exceedAction,omitempty"` // ExceedActionRpcStatus: Specified gRPC response status for proxyless @@ -69566,6 +69686,11 @@ type WafExpressionSetExpression struct { // positive. required Id string `json:"id,omitempty"` + // Sensitivity: The sensitivity value associated with the WAF rule ID. + // This corresponds to the ModSecurity paranoia level, ranging from 1 to + // 4. 0 is reserved for opt-in only rules. + Sensitivity int64 `json:"sensitivity,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 @@ -183051,6 +183176,196 @@ func (c *RegionInstantSnapshotsTestIamPermissionsCall) Do(opts ...googleapi.Call } +// method id "compute.regionNetworkEndpointGroups.attachNetworkEndpoints": + +type RegionNetworkEndpointGroupsAttachNetworkEndpointsCall struct { + s *Service + project string + region string + networkEndpointGroup string + regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// AttachNetworkEndpoints: Attach a list of network endpoints to the +// specified network endpoint group. +// +// - networkEndpointGroup: The name of the network endpoint group where +// you are attaching network endpoints to. It should comply with +// RFC1035. +// - project: Project ID for this request. +// - region: The name of the region where you want to create the network +// endpoint group. It should comply with RFC1035. +func (r *RegionNetworkEndpointGroupsService) AttachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsattachendpointsrequest *RegionNetworkEndpointGroupsAttachEndpointsRequest) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall { + c := &RegionNetworkEndpointGroupsAttachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.networkEndpointGroup = networkEndpointGroup + c.regionnetworkendpointgroupsattachendpointsrequest = regionnetworkendpointgroupsattachendpointsrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall { + c.urlParams_.Set("requestId", requestId) + 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 *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) 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.regionnetworkendpointgroupsattachendpointsrequest) + 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, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints") + 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, + "region": c.region, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionNetworkEndpointGroups.attachNetworkEndpoints" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *RegionNetworkEndpointGroupsAttachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Attach a list of network endpoints to the specified network endpoint group.", + // "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + // "httpMethod": "POST", + // "id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "region", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + // "request": { + // "$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.regionNetworkEndpointGroups.delete": type RegionNetworkEndpointGroupsDeleteCall struct { @@ -183231,6 +183546,197 @@ func (c *RegionNetworkEndpointGroupsDeleteCall) Do(opts ...googleapi.CallOption) } +// method id "compute.regionNetworkEndpointGroups.detachNetworkEndpoints": + +type RegionNetworkEndpointGroupsDetachNetworkEndpointsCall struct { + s *Service + project string + region string + networkEndpointGroup string + regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// DetachNetworkEndpoints: Detach the network endpoint from the +// specified network endpoint group. +// +// - networkEndpointGroup: The name of the network endpoint group you +// are detaching network endpoints from. It should comply with +// RFC1035. +// - project: Project ID for this request. +// - region: The name of the region where the network endpoint group is +// located. It should comply with RFC1035. +func (r *RegionNetworkEndpointGroupsService) DetachNetworkEndpoints(project string, region string, networkEndpointGroup string, regionnetworkendpointgroupsdetachendpointsrequest *RegionNetworkEndpointGroupsDetachEndpointsRequest) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall { + c := &RegionNetworkEndpointGroupsDetachNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.networkEndpointGroup = networkEndpointGroup + c.regionnetworkendpointgroupsdetachendpointsrequest = regionnetworkendpointgroupsdetachendpointsrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). end_interface: +// MixerMutationRequestBuilder +func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) RequestId(requestId string) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall { + c.urlParams_.Set("requestId", requestId) + 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 *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) 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.regionnetworkendpointgroupsdetachendpointsrequest) + 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, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints") + 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, + "region": c.region, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionNetworkEndpointGroups.detachNetworkEndpoints" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *RegionNetworkEndpointGroupsDetachNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Detach the network endpoint from the specified network endpoint group.", + // "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + // "httpMethod": "POST", + // "id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "region", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + // "request": { + // "$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.regionNetworkEndpointGroups.get": type RegionNetworkEndpointGroupsGetCall struct { @@ -183873,6 +184379,299 @@ func (c *RegionNetworkEndpointGroupsListCall) Pages(ctx context.Context, f func( } } +// method id "compute.regionNetworkEndpointGroups.listNetworkEndpoints": + +type RegionNetworkEndpointGroupsListNetworkEndpointsCall struct { + s *Service + project string + region string + networkEndpointGroup string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ListNetworkEndpoints: Lists the network endpoints in the specified +// network endpoint group. +// +// - networkEndpointGroup: The name of the network endpoint group from +// which you want to generate a list of included network endpoints. It +// should comply with RFC1035. +// - project: Project ID for this request. +// - region: The name of the region where the network endpoint group is +// located. It should comply with RFC1035. +func (r *RegionNetworkEndpointGroupsService) ListNetworkEndpoints(project string, region string, networkEndpointGroup string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c := &RegionNetworkEndpointGroupsListNetworkEndpointsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.networkEndpointGroup = networkEndpointGroup + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Filter(filter string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) MaxResults(maxResults int64) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) OrderBy(orderBy string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) PageToken(pageToken string) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Fields(s ...googleapi.Field) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *RegionNetworkEndpointGroupsListNetworkEndpointsCall { + 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 *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionNetworkEndpointGroupsListNetworkEndpointsCall) 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 + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints") + 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, + "region": c.region, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionNetworkEndpointGroups.listNetworkEndpoints" call. +// Exactly one of *NetworkEndpointGroupsListNetworkEndpoints or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *NetworkEndpointGroupsListNetworkEndpoints.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 *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Do(opts ...googleapi.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, 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 := &NetworkEndpointGroupsListNetworkEndpoints{ + 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": "Lists the network endpoints in the specified network endpoint group.", + // "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + // "httpMethod": "POST", + // "id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "region", + // "networkEndpointGroup" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + // "response": { + // "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *RegionNetworkEndpointGroupsListNetworkEndpointsCall) Pages(ctx context.Context, f func(*NetworkEndpointGroupsListNetworkEndpoints) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("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.PageToken(x.NextPageToken) + } +} + // method id "compute.regionNetworkFirewallPolicies.addAssociation": type RegionNetworkFirewallPoliciesAddAssociationCall struct { diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index eeef77a7bb8..3d458683284 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -27910,6 +27910,62 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "description": "Modify the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "httpMethod": "PATCH", + "id": "compute.resourcePolicies.patch", + "parameterOrder": [ + "project", + "region", + "resourcePolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resourcePolicy": { + "description": "Id of the resource policy to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "request": { + "$ref": "ResourcePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", @@ -35966,7 +36022,7 @@ } } }, - "revision": "20230103", + "revision": "20230119", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -37363,6 +37419,11 @@ "format": "int64", "type": "string" }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.", + "format": "int64", + "type": "string" + }, "resourceManagerTags": { "additionalProperties": { "type": "string" @@ -38704,7 +38765,7 @@ "type": "string" }, "localityLbPolicies": { - "description": "A list of locality load balancing policies to be used in order of preference. Either the policy or the customPolicy field should be set. Overrides any value set in the localityLbPolicy field. localityLbPolicies is only supported when the BackendService is referenced by a URL Map that is referenced by a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", "items": { "$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" }, @@ -39337,7 +39398,7 @@ "type": "string" }, "name": { - "description": "Identifies the custom policy. The value should match the type the custom implementation is registered with on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 characters. Note that specifying the same custom policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", "type": "string" } }, @@ -39348,7 +39409,7 @@ "id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", "properties": { "name": { - "description": "The name of a locality load balancer policy to be used. The value should be one of the predefined ones as supported by localityLbPolicy, although at the moment only ROUND_ROBIN is supported. This field should only be populated when the customPolicy field is not used. Note that specifying the same policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -39382,6 +39443,27 @@ "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", "type": "boolean" }, + "optionalFields": { + "description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", + "items": { + "type": "string" + }, + "type": "array" + }, + "optionalMode": { + "description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "enum": [ + "CUSTOM", + "EXCLUDE_ALL_OPTIONAL", + "INCLUDE_ALL_OPTIONAL" + ], + "enumDescriptions": [ + "A subset of optional fields.", + "None optional fields.", + "All optional fields." + ], + "type": "string" + }, "sampleRate": { "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", "format": "float", @@ -40860,6 +40942,11 @@ "format": "int64", "type": "string" }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.", + "format": "int64", + "type": "string" + }, "region": { "description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" @@ -49836,7 +49923,7 @@ "type": "string" }, "vlanTag8021q": { - "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only specified at creation time.", + "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", "format": "int32", "type": "integer" } @@ -58835,6 +58922,7 @@ "N2D_CPUS", "N2_CPUS", "NETWORKS", + "NETWORK_ATTACHMENTS", "NETWORK_ENDPOINT_GROUPS", "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", @@ -59028,6 +59116,7 @@ "", "", "", + "", "The total number of snapshots allowed for a single project.", "", "", @@ -64455,7 +64544,7 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values are 403, 404, and 502). - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", "type": "string" }, "description": { @@ -64777,7 +64866,7 @@ "type": "string" }, "exceedAction": { - "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are \"deny(status)\", where valid values for status are 403, 404, 429, and 502, and \"redirect\" where the redirect parameters come from exceedRedirectOptions below.", + "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below.", "type": "string" }, "exceedRedirectOptions": { @@ -73268,6 +73357,11 @@ "id": { "description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", "type": "string" + }, + "sensitivity": { + "description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", + "format": "int32", + "type": "integer" } }, "type": "object" diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index 1725ec6ccea..fa960ccc40e 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -3369,6 +3369,11 @@ type AttachedDiskInitializeParams struct { // see the Extreme persistent disk documentation. ProvisionedIops int64 `json:"provisionedIops,omitempty,string"` + // ProvisionedThroughput: Indicates how much throughput to provision for + // the disk. This sets the number of throughput mb per second that the + // disk can handle. Values must be between 1 and 7,124. + ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` + // ResourceManagerTags: Resource manager tags to be bound to the disk. // Tag keys and values have the same definition as resource manager // tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values @@ -5653,12 +5658,16 @@ type BackendService struct { // "INVALID_LOAD_BALANCING_SCHEME" LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"` - // LocalityLbPolicies: A list of locality load balancing policies to be - // used in order of preference. Either the policy or the customPolicy - // field should be set. Overrides any value set in the localityLbPolicy - // field. localityLbPolicies is only supported when the BackendService - // is referenced by a URL Map that is referenced by a target gRPC proxy - // that has the validateForProxyless field set to true. + // LocalityLbPolicies: A list of locality load-balancing policies to be + // used in order of preference. When you use localityLbPolicies, you + // must set at least one value for either the + // localityLbPolicies[].policy or the localityLbPolicies[].customPolicy + // field. localityLbPolicies overrides any value set in the + // localityLbPolicy field. For an example of how to use this field, see + // Define a list of preferred policies. Caution: This field and its + // children are intended for use in a service mesh that includes gRPC + // clients only. Envoy proxies can't use backend services that have this + // configuration. LocalityLbPolicies []*BackendServiceLocalityLoadBalancingPolicyConfig `json:"localityLbPolicies,omitempty"` // LocalityLbPolicy: The load balancing algorithm used within the scope @@ -6798,12 +6807,13 @@ type BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy struct { // understood by a locally installed custom policy implementation. Data string `json:"data,omitempty"` - // Name: Identifies the custom policy. The value should match the type - // the custom implementation is registered with on the gRPC clients. It - // should follow protocol buffer message naming conventions and include - // the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 - // characters. Note that specifying the same custom policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: Identifies the custom policy. The value should match the name + // of a custom implementation registered on the gRPC clients. It should + // follow protocol buffer message naming conventions and include the + // full path (for example, myorg.CustomLbPolicy). The maximum length is + // 256 characters. Do not specify the same custom policy more than once + // for a backend. If you do, the configuration is rejected. For an + // example of how to use this field, see Use a custom policy. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Data") to @@ -6832,12 +6842,11 @@ func (s *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) MarshalJSO // BackendServiceLocalityLoadBalancingPolicyConfigPolicy: The // configuration for a built-in load balancing policy. type BackendServiceLocalityLoadBalancingPolicyConfigPolicy struct { - // Name: The name of a locality load balancer policy to be used. The - // value should be one of the predefined ones as supported by - // localityLbPolicy, although at the moment only ROUND_ROBIN is - // supported. This field should only be populated when the customPolicy - // field is not used. Note that specifying the same policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: The name of a locality load-balancing policy. Valid values + // include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For + // information about these values, see the description of + // localityLbPolicy. Do not specify the same policy more than once for a + // backend. If you do, the configuration is rejected. // // Possible values: // "INVALID_LB_POLICY" @@ -6902,6 +6911,25 @@ type BackendServiceLogConfig struct { // traffic served by this backend service. The default value is false. Enable bool `json:"enable,omitempty"` + // OptionalFields: This field can only be specified if logging is + // enabled for this backend service and "logConfig.optionalMode" was set + // to CUSTOM. Contains a list of optional fields you want to include in + // the logs. For example: serverInstance, serverGkeDetails.cluster, + // serverGkeDetails.pod.podNamespace + OptionalFields []string `json:"optionalFields,omitempty"` + + // OptionalMode: This field can only be specified if logging is enabled + // for this backend service. Configures whether all, none or a subset of + // optional fields should be added to the reported logs. One of + // [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is + // EXCLUDE_ALL_OPTIONAL. + // + // Possible values: + // "CUSTOM" - A subset of optional fields. + // "EXCLUDE_ALL_OPTIONAL" - None optional fields. + // "INCLUDE_ALL_OPTIONAL" - All optional fields. + OptionalMode string `json:"optionalMode,omitempty"` + // SampleRate: This field can only be specified if logging is enabled // for this backend service. The value of the field must be in [0, 1]. // This configures the sampling rate of requests to the load balancer @@ -9081,6 +9109,11 @@ type Disk struct { // see the Extreme persistent disk documentation. ProvisionedIops int64 `json:"provisionedIops,omitempty,string"` + // ProvisionedThroughput: Indicates how much throughput to provision for + // the disk. This sets the number of throughput mb per second that the + // disk can handle. Values must be between 1 and 7,124. + ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` + // Region: [Output Only] URL of the region where the disk resides. Only // applicable for regional resources. You must specify this field as // part of the HTTP request URL. It is not settable as a field in the @@ -23526,7 +23559,7 @@ type InterconnectAttachment struct { Type string `json:"type,omitempty"` // VlanTag8021q: The IEEE 802.1Q VLAN tag for this attachment, in the - // range 2-4094. Only specified at creation time. + // range 2-4093. Only specified at creation time. VlanTag8021q int64 `json:"vlanTag8021q,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -37629,6 +37662,7 @@ type Quota struct { // "N2D_CPUS" // "N2_CPUS" // "NETWORKS" + // "NETWORK_ATTACHMENTS" // "NETWORK_ENDPOINT_GROUPS" // "NETWORK_FIREWALL_POLICIES" // "NODE_GROUPS" @@ -46084,18 +46118,19 @@ func (s *SecurityPolicyReference) MarshalJSON() ([]byte, error) { // matches this condition (allow or deny). type SecurityPolicyRule struct { // Action: The Action to perform when the rule is matched. The following - // are the valid actions: - allow: allow access to target. - deny(): - // deny access to target, returns the HTTP response code specified - // (valid values are 403, 404, and 502). - rate_based_ban: limit client - // traffic to the configured threshold and ban the client if the traffic - // exceeds the threshold. Configure parameters for this action in - // RateLimitOptions. Requires rate_limit_options to be set. - redirect: - // redirect to a different target. This can either be an internal - // reCAPTCHA redirect, or an external URL-based redirect via a 302 - // response. Parameters for this action can be configured via - // redirectOptions. - throttle: limit client traffic to the configured - // threshold. Configure parameters for this action in rateLimitOptions. - // Requires rate_limit_options to be set for this. + // are the valid actions: - allow: allow access to target. - + // deny(STATUS): deny access to target, returns the HTTP response code + // specified. Valid values for `STATUS` are 403, 404, and 502. - + // rate_based_ban: limit client traffic to the configured threshold and + // ban the client if the traffic exceeds the threshold. Configure + // parameters for this action in RateLimitOptions. Requires + // rate_limit_options to be set. - redirect: redirect to a different + // target. This can either be an internal reCAPTCHA redirect, or an + // external URL-based redirect via a 302 response. Parameters for this + // action can be configured via redirectOptions. - throttle: limit + // client traffic to the configured threshold. Configure parameters for + // this action in rateLimitOptions. Requires rate_limit_options to be + // set for this. Action string `json:"action,omitempty"` // Description: An optional description of this resource. Provide this @@ -46574,9 +46609,9 @@ type SecurityPolicyRuleRateLimitOptions struct { // ExceedAction: Action to take for requests that are above the // configured rate limit threshold, to either deny with a specified HTTP // response code, or redirect to a different endpoint. Valid options are - // "deny(status)", where valid values for status are 403, 404, 429, and - // 502, and "redirect" where the redirect parameters come from - // exceedRedirectOptions below. + // `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, + // and 502, and `redirect`, where the redirect parameters come from + // `exceedRedirectOptions` below. ExceedAction string `json:"exceedAction,omitempty"` // ExceedRedirectOptions: Parameters defining the redirect action that @@ -60138,6 +60173,11 @@ type WafExpressionSetExpression struct { // positive. required Id string `json:"id,omitempty"` + // Sensitivity: The sensitivity value associated with the WAF rule ID. + // This corresponds to the ModSecurity paranoia level, ranging from 1 to + // 4. 0 is reserved for opt-in only rules. + Sensitivity int64 `json:"sensitivity,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 @@ -177090,6 +177130,207 @@ func (c *ResourcePoliciesListCall) Pages(ctx context.Context, f func(*ResourcePo } } +// method id "compute.resourcePolicies.patch": + +type ResourcePoliciesPatchCall struct { + s *Service + project string + region string + resourcePolicy string + resourcepolicy *ResourcePolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Modify the specified resource policy. +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - resourcePolicy: Id of the resource policy to patch. +func (r *ResourcePoliciesService) Patch(project string, region string, resourcePolicy string, resourcepolicy *ResourcePolicy) *ResourcePoliciesPatchCall { + c := &ResourcePoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.resourcePolicy = resourcePolicy + c.resourcepolicy = resourcepolicy + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *ResourcePoliciesPatchCall) RequestId(requestId string) *ResourcePoliciesPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": update_mask +// indicates fields to be updated as part of this request. +func (c *ResourcePoliciesPatchCall) UpdateMask(updateMask string) *ResourcePoliciesPatchCall { + 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. +func (c *ResourcePoliciesPatchCall) Fields(s ...googleapi.Field) *ResourcePoliciesPatchCall { + 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 *ResourcePoliciesPatchCall) Context(ctx context.Context) *ResourcePoliciesPatchCall { + 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 *ResourcePoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ResourcePoliciesPatchCall) 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.resourcepolicy) + 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, "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "resourcePolicy": c.resourcePolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.resourcePolicies.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ResourcePoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Modify the specified resource policy.", + // "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + // "httpMethod": "PATCH", + // "id": "compute.resourcePolicies.patch", + // "parameterOrder": [ + // "project", + // "region", + // "resourcePolicy" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "resourcePolicy": { + // "description": "Id of the resource policy to patch.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "update_mask indicates fields to be updated as part of this request.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + // "request": { + // "$ref": "ResourcePolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.resourcePolicies.setIamPolicy": type ResourcePoliciesSetIamPolicyCall struct { diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 29a0b896763..f4083cc5f61 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -32692,7 +32692,7 @@ } } }, - "revision": "20230103", + "revision": "20230119", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -35333,7 +35333,7 @@ "type": "string" }, "localityLbPolicies": { - "description": "A list of locality load balancing policies to be used in order of preference. Either the policy or the customPolicy field should be set. Overrides any value set in the localityLbPolicy field. localityLbPolicies is only supported when the BackendService is referenced by a URL Map that is referenced by a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", "items": { "$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" }, @@ -35964,7 +35964,7 @@ "type": "string" }, "name": { - "description": "Identifies the custom policy. The value should match the type the custom implementation is registered with on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 characters. Note that specifying the same custom policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", "type": "string" } }, @@ -35975,7 +35975,7 @@ "id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", "properties": { "name": { - "description": "The name of a locality load balancer policy to be used. The value should be one of the predefined ones as supported by localityLbPolicy, although at the moment only ROUND_ROBIN is supported. This field should only be populated when the customPolicy field is not used. Note that specifying the same policy more than once for a backend is not a valid configuration and will be rejected.", + "description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -36007,6 +36007,27 @@ "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", "type": "boolean" }, + "optionalFields": { + "description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", + "items": { + "type": "string" + }, + "type": "array" + }, + "optionalMode": { + "description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "enum": [ + "CUSTOM", + "EXCLUDE_ALL_OPTIONAL", + "INCLUDE_ALL_OPTIONAL" + ], + "enumDescriptions": [ + "A subset of optional fields.", + "None optional fields.", + "All optional fields." + ], + "type": "string" + }, "sampleRate": { "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", "format": "float", @@ -45991,7 +46012,7 @@ "type": "string" }, "vlanTag8021q": { - "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only specified at creation time.", + "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", "format": "int32", "type": "integer" } @@ -54813,6 +54834,7 @@ "N2D_CPUS", "N2_CPUS", "NETWORKS", + "NETWORK_ATTACHMENTS", "NETWORK_ENDPOINT_GROUPS", "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", @@ -55004,6 +55026,7 @@ "", "", "", + "", "The total number of snapshots allowed for a single project.", "", "", @@ -60232,7 +60255,7 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values are 403, 404, and 502). - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. ", "type": "string" }, "description": { @@ -60382,7 +60405,7 @@ "type": "string" }, "exceedAction": { - "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are \"deny(status)\", where valid values for status are 403, 404, 429, and 502, and \"redirect\" where the redirect parameters come from exceedRedirectOptions below.", + "description": "Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below.", "type": "string" }, "exceedRedirectOptions": { @@ -68544,6 +68567,11 @@ "id": { "description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", "type": "string" + }, + "sensitivity": { + "description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", + "format": "int32", + "type": "integer" } }, "type": "object" diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 887044a5956..dfbdbdfc36e 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -5483,12 +5483,16 @@ type BackendService struct { // "INVALID_LOAD_BALANCING_SCHEME" LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"` - // LocalityLbPolicies: A list of locality load balancing policies to be - // used in order of preference. Either the policy or the customPolicy - // field should be set. Overrides any value set in the localityLbPolicy - // field. localityLbPolicies is only supported when the BackendService - // is referenced by a URL Map that is referenced by a target gRPC proxy - // that has the validateForProxyless field set to true. + // LocalityLbPolicies: A list of locality load-balancing policies to be + // used in order of preference. When you use localityLbPolicies, you + // must set at least one value for either the + // localityLbPolicies[].policy or the localityLbPolicies[].customPolicy + // field. localityLbPolicies overrides any value set in the + // localityLbPolicy field. For an example of how to use this field, see + // Define a list of preferred policies. Caution: This field and its + // children are intended for use in a service mesh that includes gRPC + // clients only. Envoy proxies can't use backend services that have this + // configuration. LocalityLbPolicies []*BackendServiceLocalityLoadBalancingPolicyConfig `json:"localityLbPolicies,omitempty"` // LocalityLbPolicy: The load balancing algorithm used within the scope @@ -6618,12 +6622,13 @@ type BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy struct { // understood by a locally installed custom policy implementation. Data string `json:"data,omitempty"` - // Name: Identifies the custom policy. The value should match the type - // the custom implementation is registered with on the gRPC clients. It - // should follow protocol buffer message naming conventions and include - // the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 - // characters. Note that specifying the same custom policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: Identifies the custom policy. The value should match the name + // of a custom implementation registered on the gRPC clients. It should + // follow protocol buffer message naming conventions and include the + // full path (for example, myorg.CustomLbPolicy). The maximum length is + // 256 characters. Do not specify the same custom policy more than once + // for a backend. If you do, the configuration is rejected. For an + // example of how to use this field, see Use a custom policy. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Data") to @@ -6652,12 +6657,11 @@ func (s *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) MarshalJSO // BackendServiceLocalityLoadBalancingPolicyConfigPolicy: The // configuration for a built-in load balancing policy. type BackendServiceLocalityLoadBalancingPolicyConfigPolicy struct { - // Name: The name of a locality load balancer policy to be used. The - // value should be one of the predefined ones as supported by - // localityLbPolicy, although at the moment only ROUND_ROBIN is - // supported. This field should only be populated when the customPolicy - // field is not used. Note that specifying the same policy more than - // once for a backend is not a valid configuration and will be rejected. + // Name: The name of a locality load-balancing policy. Valid values + // include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For + // information about these values, see the description of + // localityLbPolicy. Do not specify the same policy more than once for a + // backend. If you do, the configuration is rejected. // // Possible values: // "INVALID_LB_POLICY" @@ -6712,6 +6716,25 @@ type BackendServiceLogConfig struct { // traffic served by this backend service. The default value is false. Enable bool `json:"enable,omitempty"` + // OptionalFields: This field can only be specified if logging is + // enabled for this backend service and "logConfig.optionalMode" was set + // to CUSTOM. Contains a list of optional fields you want to include in + // the logs. For example: serverInstance, serverGkeDetails.cluster, + // serverGkeDetails.pod.podNamespace + OptionalFields []string `json:"optionalFields,omitempty"` + + // OptionalMode: This field can only be specified if logging is enabled + // for this backend service. Configures whether all, none or a subset of + // optional fields should be added to the reported logs. One of + // [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is + // EXCLUDE_ALL_OPTIONAL. + // + // Possible values: + // "CUSTOM" - A subset of optional fields. + // "EXCLUDE_ALL_OPTIONAL" - None optional fields. + // "INCLUDE_ALL_OPTIONAL" - All optional fields. + OptionalMode string `json:"optionalMode,omitempty"` + // SampleRate: This field can only be specified if logging is enabled // for this backend service. The value of the field must be in [0, 1]. // This configures the sampling rate of requests to the load balancer @@ -22601,7 +22624,7 @@ type InterconnectAttachment struct { Type string `json:"type,omitempty"` // VlanTag8021q: The IEEE 802.1Q VLAN tag for this attachment, in the - // range 2-4094. Only specified at creation time. + // range 2-4093. Only specified at creation time. VlanTag8021q int64 `json:"vlanTag8021q,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -36382,6 +36405,7 @@ type Quota struct { // "N2D_CPUS" // "N2_CPUS" // "NETWORKS" + // "NETWORK_ATTACHMENTS" // "NETWORK_ENDPOINT_GROUPS" // "NETWORK_FIREWALL_POLICIES" // "NODE_GROUPS" @@ -44478,18 +44502,19 @@ func (s *SecurityPolicyReference) MarshalJSON() ([]byte, error) { // matches this condition (allow or deny). type SecurityPolicyRule struct { // Action: The Action to perform when the rule is matched. The following - // are the valid actions: - allow: allow access to target. - deny(): - // deny access to target, returns the HTTP response code specified - // (valid values are 403, 404, and 502). - rate_based_ban: limit client - // traffic to the configured threshold and ban the client if the traffic - // exceeds the threshold. Configure parameters for this action in - // RateLimitOptions. Requires rate_limit_options to be set. - redirect: - // redirect to a different target. This can either be an internal - // reCAPTCHA redirect, or an external URL-based redirect via a 302 - // response. Parameters for this action can be configured via - // redirectOptions. - throttle: limit client traffic to the configured - // threshold. Configure parameters for this action in rateLimitOptions. - // Requires rate_limit_options to be set for this. + // are the valid actions: - allow: allow access to target. - + // deny(STATUS): deny access to target, returns the HTTP response code + // specified. Valid values for `STATUS` are 403, 404, and 502. - + // rate_based_ban: limit client traffic to the configured threshold and + // ban the client if the traffic exceeds the threshold. Configure + // parameters for this action in RateLimitOptions. Requires + // rate_limit_options to be set. - redirect: redirect to a different + // target. This can either be an internal reCAPTCHA redirect, or an + // external URL-based redirect via a 302 response. Parameters for this + // action can be configured via redirectOptions. - throttle: limit + // client traffic to the configured threshold. Configure parameters for + // this action in rateLimitOptions. Requires rate_limit_options to be + // set for this. Action string `json:"action,omitempty"` // Description: An optional description of this resource. Provide this @@ -44746,9 +44771,9 @@ type SecurityPolicyRuleRateLimitOptions struct { // ExceedAction: Action to take for requests that are above the // configured rate limit threshold, to either deny with a specified HTTP // response code, or redirect to a different endpoint. Valid options are - // "deny(status)", where valid values for status are 403, 404, 429, and - // 502, and "redirect" where the redirect parameters come from - // exceedRedirectOptions below. + // `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, + // and 502, and `redirect`, where the redirect parameters come from + // `exceedRedirectOptions` below. ExceedAction string `json:"exceedAction,omitempty"` // ExceedRedirectOptions: Parameters defining the redirect action that @@ -57766,6 +57791,11 @@ type WafExpressionSetExpression struct { // positive. required Id string `json:"id,omitempty"` + // Sensitivity: The sensitivity value associated with the WAF rule ID. + // This corresponds to the ModSecurity paranoia level, ranging from 1 to + // 4. 0 is reserved for opt-in only rules. + Sensitivity int64 `json:"sensitivity,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 diff --git a/contentwarehouse/v1/contentwarehouse-api.json b/contentwarehouse/v1/contentwarehouse-api.json index 2cbebaae2db..a38801f04e6 100644 --- a/contentwarehouse/v1/contentwarehouse-api.json +++ b/contentwarehouse/v1/contentwarehouse-api.json @@ -136,7 +136,7 @@ ] }, "setAcl": { - "description": "Sets the access control policy for a resource. Replaces any existing policy. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" \" OR SchemaId.floatPropertyName \u003e= 10`", + "description": "Sets the access control policy for a resource. Replaces any existing policy.", "flatPath": "v1/projects/{projectsId}:setAcl", "httpMethod": "POST", "id": "contentwarehouse.projects.setAcl", @@ -194,34 +194,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "runPipeline": { - "description": "Run a predefined pipeline.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:runPipeline", - "httpMethod": "POST", - "id": "contentwarehouse.projects.locations.runPipeline", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name which owns the resources of the pipeline. Format: projects/{project_number}/locations/{location}.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:runPipeline", - "request": { - "$ref": "GoogleCloudContentwarehouseV1RunPipelineRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } }, "resources": { @@ -598,7 +570,7 @@ ] }, "setAcl": { - "description": "Sets the access control policy for a resource. Replaces any existing policy. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" \" OR SchemaId.floatPropertyName \u003e= 10`", + "description": "Sets the access control policy for a resource. Replaces any existing policy.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:setAcl", "httpMethod": "POST", "id": "contentwarehouse.projects.locations.documents.setAcl", @@ -1103,7 +1075,7 @@ } } }, - "revision": "20230113", + "revision": "20230122", "rootUrl": "https://contentwarehouse.googleapis.com/", "schemas": { "AbuseiamAbuseType": { @@ -6050,6 +6022,20 @@ }, "type": "object" }, + "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo": { + "description": "Pronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user's name pronunciation audio.", + "id": "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo", + "properties": { + "metadata": { + "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" + }, + "namePronunciationAudioMetadata": { + "$ref": "SocialGraphApiProtoNamePronunciationAudioMetadata", + "description": "Actual metadata proto, shared with FBS backends." + } + }, + "type": "object" + }, "AppsPeopleOzExternalMergedpeopleapiNickname": { "id": "AppsPeopleOzExternalMergedpeopleapiNickname", "properties": { @@ -6599,6 +6585,13 @@ }, "type": "array" }, + "namePronunciationAudioMetadataInfo": { + "description": "Metadata info for a user's name pronunciation audio. See go/name-pronunication-backend.", + "items": { + "$ref": "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo" + }, + "type": "array" + }, "nickname": { "items": { "$ref": "AppsPeopleOzExternalMergedpeopleapiNickname" @@ -15214,7 +15207,7 @@ "type": "object" }, "AssistantApiSuggestionsSupport": { - "description": "Next ID: 17", + "description": "Next ID: 18", "id": "AssistantApiSuggestionsSupport", "properties": { "clickImpersonationSupported": { @@ -15265,6 +15258,10 @@ "description": "Whether the client supports handling App Actions' notification when the suggestion is clicked. This will allow the server to populate the `app_actions_notification_data` extension field from |SuggestionFeatureSpecificAction| proto message.", "type": "boolean" }, + "multiStepTrySayingSupported": { + "description": "Whether the multi-step try saying suggestion feature is supported. dd: go/tng-multi-step-simplified", + "type": "boolean" + }, "ruleIdInExecutionContextSupported": { "description": "Whether the rule_id field in the execution_context is supported. This is a temporary workaround to be able to identify clicks on Person entity suggestions on Sabrina and is expected to be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) once click tracking is correctly sent up from the Katniss client.", "type": "boolean" @@ -16905,9 +16902,13 @@ "type": "object" }, "AssistantGroundingRankerMediaGroundingProviderFeatures": { - "description": "Features to be passed from Media GP to HGR. Next ID: 4", + "description": "Features to be passed from Media GP to HGR. Next ID: 6", "id": "AssistantGroundingRankerMediaGroundingProviderFeatures", "properties": { + "isCastVideo": { + "description": "Whether the candidate is YouTube CAST_VIDEO candidate. CAST_VIDEO is a deeplink platform. This signal will be used to promote YouTube Music screenful candidates with CAST_VIDEO platform for free users because free users cannot get exact entities in screenless response and can get exact entities with ads in screenful response.", + "type": "boolean" + }, "isSeedRadio": { "description": "True if the media deeplink has tag SEED_RADIO.", "type": "boolean" @@ -16920,6 +16921,11 @@ "description": "MSC(Media Short Click) rate. MSC rate = total number of MSC events / total number of MSC candidates The event is considered as MSC candidate if the event is a media seeking query(excluding follow-ons) and the media result is successfully fulfilled. The event is MSC event if any of the following is in the following queries within 30 secs: FOLLOWED_BY_DUPLICATE FOLLOWED_BY_ADD_OR_DELETE_MANUAL_REFINEMENT FOLLOWED_BY_SAME_VERTICAL (MEDIA) FOLLOWED_BY_STOP More details: go/media-ranking, go/billboard-navboost, go/magma-music-actions-efrac", "format": "float", "type": "number" + }, + "scubedPSaiMusic": { + "description": "Scubed predicted SAI value (pSAI) for music populated by a regression model that incorporates a BERT model signal as well as other Scubed signals.", + "format": "double", + "type": "number" } }, "type": "object" @@ -20184,6 +20190,103 @@ "type": "string" }, "type": "array" + }, + "useCase": { + "enum": [ + "UNKNOWN_USE_CASE", + "OPENING_HOURS", + "ON_DEMAND_OPENING_HOURS", + "GEO_DATA_EXTRACTION", + "OPERATING_MODE_EXTRACTION", + "RESTAURANT_RESERVATION", + "MASSAGE_RESERVATION", + "HAIRDRESSER_RESERVATION", + "NAIL_SALON_RESERVATION", + "RUNNING_LATE", + "FOOD_ORDERING", + "LOCAL_INVENTORY_CHECK", + "ON_DEMAND_LOCAL_INVENTORY", + "WAITLIST", + "CHECK_WAIT", + "CHEFBOT", + "ADS_CALL_CENTER_AUTHENTICATION", + "PLAYSTORE", + "TAKING_RESTAURANT_RESERVATIONS", + "CALL_CENTER_DEMO", + "ASSISTED_CALL_DEMO", + "BUSINESS_OPT_IN", + "CALLJOY_PILOT", + "ASSISTANT_REMINDERS_DEMO", + "HAPPY_BIRTHDAY", + "ASSISTED_IVR", + "DUPLEX_FOR_BUSINESS_PILOT", + "SAY_THE_SAME_THING", + "COVID_FAQ", + "VANCOUVER", + "MEENAPLEX", + "REMOVED_USE_CASE_6", + "SEMI_DELEGATED_CALLING", + "HARDWARE_SETUP", + "DUMDA_BOT", + "SMART_REPLY", + "DUPLEX_ZERO", + "SPAM_FILTER", + "TEXT", + "IVR_CRAWLING", + "VOICEMAIL", + "INBOUND_SMB", + "CCAI_DEMO", + "DIALOGFLOW_DELEGATION", + "AD_LEAD_VERIFICATION" + ], + "enumDescriptions": [ + "// Data extraction:", + "Opening hours extraction, triggered internally without an end-user in the loop. The trigger might be a user-edit, but the user is not being updated about the extraction results.", + "On-demand opening hours extraction, i.e. requests are issued by an end-user who is also notified about the results of the task.", + "", + "", + "", + "", + "See go/bg-hdr-2019.", + "", + "See go/duplex-running-late.", + "See go/duplex-fo-pilot.", + "Local Inventory Checks (go/duplex-dove).", + "On-Demand Local Inventory (go/duplex-li-on-demand).", + "", + "Check wait: go/duplex-check-wait-time", + "Chefbot (go/duplexify-cooking-goals).", + "", + "Play Store user authentication. See http://doc/16tApXKX1cc23AIuhIhPCWVkm1qkcajx2pHMkxW6kMAs", + "Taking restaurant reservations on behalf of a restaurant. i.e. getting calls from clients who want to make a reservation, and trying to match their request with the restaurant's schedule.", + "", + "", + "", + "", + "", + "", + "", + "Duplex for Business Pilot: go/duplex-voice-pilot", + "Say The Same Thing game bot.", + "Bot for answering FAQ about COVID-19 (go/bg-covid-faq).", + "", + "go/meenaplex-dd", + "Was: ON_DEMAND_OPENING_HOURS.", + "UC ID for testing ideas around a partial call delegation bot.", + "UC ID for hardware setup prototype", + "Experimental use case for a form of Meena+Duplex.", + "Personal Call Assist.", + "Duplex Zero Bot.", + "Spam filter bot.", + "Text extraction bot.", + "IVR crawling bot.", + "Voicemail bot.", + "Duplex for Business - Inbound SMB bot.", + "Duplex for Business - Demo for the CCAI integration.", + "Duplex for Business - Dialogflow delegation module for CCAI integration.", + "Duplex for Business - ad lead verification module for GLS integration." + ], + "type": "string" } }, "type": "object" @@ -23786,6 +23889,12 @@ "quantized": { "$ref": "DrishtiQuantizedDenseFeatureData" }, + "quantizedByteDense": { + "$ref": "DrishtiQuantizedByteDenseFeatureData" + }, + "quantizedByteIndexed": { + "$ref": "DrishtiQuantizedByteIndexedFeatureData" + }, "sparse": { "$ref": "DrishtiSparseFeatureData" } @@ -23918,6 +24027,57 @@ }, "type": "object" }, + "DrishtiQuantizedByteDenseFeatureData": { + "description": "Proto message to store quantized dense feature data.", + "id": "DrishtiQuantizedByteDenseFeatureData", + "properties": { + "extra": { + "description": "If extra is present it must be of the same length as value.", + "items": { + "$ref": "DrishtiFeatureExtra" + }, + "type": "array" + }, + "generalExtra": { + "$ref": "DrishtiFeatureExtra" + }, + "value": { + "description": "Quantized values for the feature.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "DrishtiQuantizedByteIndexedFeatureData": { + "description": "Proto message to store quantized indexed feature data.", + "id": "DrishtiQuantizedByteIndexedFeatureData", + "properties": { + "extra": { + "description": "If extra is present it must be of the same length as value.", + "items": { + "$ref": "DrishtiFeatureExtra" + }, + "type": "array" + }, + "generalExtra": { + "$ref": "DrishtiFeatureExtra" + }, + "index": { + "items": { + "format": "uint64", + "type": "string" + }, + "type": "array" + }, + "value": { + "description": "Quantized values for the feature.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, "DrishtiQuantizedDenseFeatureData": { "id": "DrishtiQuantizedDenseFeatureData", "properties": { @@ -27927,6 +28087,7 @@ "PROVIDER_GOOGLE_3D_BASEMAP", "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", "PROVIDER_GOOGLE_GT_ALF", + "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", "PROVIDER_GOOGLE_LOCALSEARCH", "PROVIDER_GOOGLE_TRANSIT", "PROVIDER_GOOGLE_GEOWIKI", @@ -28638,6 +28799,7 @@ "", "", "", + "", "The next new \"Google\" provider entries should be placed above.", "UMBRELLA", "", @@ -32745,6 +32907,7 @@ "PROVIDER_GOOGLE_3D_BASEMAP", "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", "PROVIDER_GOOGLE_GT_ALF", + "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", "PROVIDER_GOOGLE_LOCALSEARCH", "PROVIDER_GOOGLE_TRANSIT", "PROVIDER_GOOGLE_GEOWIKI", @@ -33456,6 +33619,7 @@ "", "", "", + "", "The next new \"Google\" provider entries should be placed above.", "UMBRELLA", "", @@ -34894,6 +35058,7 @@ "PROVIDER_GOOGLE_3D_BASEMAP", "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", "PROVIDER_GOOGLE_GT_ALF", + "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", "PROVIDER_GOOGLE_LOCALSEARCH", "PROVIDER_GOOGLE_TRANSIT", "PROVIDER_GOOGLE_GEOWIKI", @@ -35605,6 +35770,7 @@ "", "", "", + "", "The next new \"Google\" provider entries should be placed above.", "UMBRELLA", "", @@ -37355,6 +37521,7 @@ "PROVIDER_GOOGLE_3D_BASEMAP", "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", "PROVIDER_GOOGLE_GT_ALF", + "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", "PROVIDER_GOOGLE_LOCALSEARCH", "PROVIDER_GOOGLE_TRANSIT", "PROVIDER_GOOGLE_GEOWIKI", @@ -38066,6 +38233,7 @@ "", "", "", + "", "The next new \"Google\" provider entries should be placed above.", "UMBRELLA", "", @@ -43483,32 +43651,6 @@ }, "type": "object" }, - "GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline": { - "description": "The configuration of the document classify/split and entity/kvp extraction pipeline.", - "id": "GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline", - "properties": { - "classifySplitProcessorInfos": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", - "description": "The classify or split processor information." - }, - "extractProcessorInfos": { - "description": "The entity or key-value pair extracting processor information.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo" - }, - "type": "array" - }, - "inputPath": { - "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: gs:///.", - "type": "string" - }, - "processorResultsFolderPath": { - "description": "The Cloud Storage folder path used to store the raw results from processors. Format: gs:///.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContentwarehouseV1CloudAIDocumentOption": { "description": "Request Option for processing Cloud AI Document in CW Document.", "id": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", @@ -43764,7 +43906,8 @@ "RAW_DOCUMENT_FILE_TYPE_DOCX", "RAW_DOCUMENT_FILE_TYPE_XLSX", "RAW_DOCUMENT_FILE_TYPE_PPTX", - "RAW_DOCUMENT_FILE_TYPE_TEXT" + "RAW_DOCUMENT_FILE_TYPE_TEXT", + "RAW_DOCUMENT_FILE_TYPE_TIFF" ], "enumDescriptions": [ "No raw document specified or it is non-parsable", @@ -43772,7 +43915,8 @@ "Microsoft Word format", "Microsoft Excel format", "Microsoft Powerpoint format", - "UTF-8 encoded text format" + "UTF-8 encoded text format", + "TIFF or TIF image file format" ], "type": "string" }, @@ -44049,28 +44193,6 @@ }, "type": "object" }, - "GoogleCloudContentwarehouseV1ExportToCdwPipeline": { - "description": "The configuration of exporting documents from the Document Warehouse to CDW pipeline.", - "id": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", - "properties": { - "documentIds": { - "description": "The list of all the documents to be processed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exportFolderPath": { - "description": "The Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: gs:///.", - "type": "string" - }, - "processorInfo": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", - "description": "The CDW processor information." - } - }, - "type": "object" - }, "GoogleCloudContentwarehouseV1FetchAclRequest": { "description": "Request message for DocumentService.FetchAcl", "id": "GoogleCloudContentwarehouseV1FetchAclRequest", @@ -44145,21 +44267,6 @@ "properties": {}, "type": "object" }, - "GoogleCloudContentwarehouseV1GcsIngestPipeline": { - "description": "The configuration of the Cloud Storage ingestion pipeline.", - "id": "GoogleCloudContentwarehouseV1GcsIngestPipeline", - "properties": { - "inputPath": { - "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: gs:///.", - "type": "string" - }, - "schemaName": { - "description": "The Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContentwarehouseV1GetDocumentRequest": { "description": "Request message for DocumentService.GetDocument.", "id": "GoogleCloudContentwarehouseV1GetDocumentRequest", @@ -44519,25 +44626,6 @@ }, "type": "object" }, - "GoogleCloudContentwarehouseV1ProcessorInfo": { - "description": "The DocAI processor information.", - "id": "GoogleCloudContentwarehouseV1ProcessorInfo", - "properties": { - "documentType": { - "description": "The processor will process the documents with this document type.", - "type": "string" - }, - "processorName": { - "description": "The processor resource name. Format is `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", - "type": "string" - }, - "schemaName": { - "description": "The Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContentwarehouseV1Property": { "description": "Property of a document.", "id": "GoogleCloudContentwarehouseV1Property", @@ -44934,25 +45022,6 @@ }, "type": "object" }, - "GoogleCloudContentwarehouseV1RunPipelineRequest": { - "description": "Request message for DocumentService.RunPipeline.", - "id": "GoogleCloudContentwarehouseV1RunPipelineRequest", - "properties": { - "classifySplitAndExtractPipeline": { - "$ref": "GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline", - "description": "Classify/split and entity/kvp extraction pipeline." - }, - "exportCdwPipeline": { - "$ref": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", - "description": "Export docuemnts from Document Warehouseing to CDW for training purpose." - }, - "gcsIngestPipeline": { - "$ref": "GoogleCloudContentwarehouseV1GcsIngestPipeline", - "description": "Cloud Storage ingestion pipeline." - } - }, - "type": "object" - }, "GoogleCloudContentwarehouseV1SearchDocumentsRequest": { "description": "Request message for DocumentService.SearchDocuments.", "id": "GoogleCloudContentwarehouseV1SearchDocumentsRequest", @@ -45075,7 +45144,7 @@ "properties": { "policy": { "$ref": "GoogleIamV1Policy", - "description": "Required. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document." + "description": "Required. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" OR SchemaId.floatPropertyName \u003e= 10\"`" }, "projectOwner": { "description": "For Set Project ACL only. Authorization check for end user will be ignored when project_owner=true.", @@ -51795,7 +51864,8 @@ "GENUS_KARTO", "GENUS_CONTRIB_SERVICE_SHARED", "GENUS_CONTRIB_SERVICE_GEO_UGC", - "GENUS_SEARCH_SPORTS" + "GENUS_SEARCH_SPORTS", + "GENUS_BUSINESSMESSAGING" ], "enumDescriptions": [ "", @@ -51842,7 +51912,8 @@ "Genus for Karto videos.", "Shared genus for ContribService UGC videos for small clients requesting the same set of common signals. Large ContribService Video clients should have their own genera. go/user-owned-video-content-processing", "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", - "Genus for Search Sports vertical videos" + "Genus for Search Sports vertical videos", + "Genus for Business Messaging videos" ], "type": "string" }, @@ -52639,7 +52710,8 @@ "GENUS_KARTO", "GENUS_CONTRIB_SERVICE_SHARED", "GENUS_CONTRIB_SERVICE_GEO_UGC", - "GENUS_SEARCH_SPORTS" + "GENUS_SEARCH_SPORTS", + "GENUS_BUSINESSMESSAGING" ], "enumDescriptions": [ "", @@ -52686,7 +52758,8 @@ "Genus for Karto videos.", "Shared genus for ContribService UGC videos for small clients requesting the same set of common signals. Large ContribService Video clients should have their own genera. go/user-owned-video-content-processing", "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", - "Genus for Search Sports vertical videos" + "Genus for Search Sports vertical videos", + "Genus for Business Messaging videos" ], "type": "string" }, @@ -59886,13 +59959,15 @@ "UNKNOWN_PARSING_SOURCE", "SAGE", "UNSTRUCTURED_INTENTS", - "NSP" + "NSP", + "AQUA" ], "enumDescriptions": [ "", "Score is calibrated by Sage IG.", "The FunctionCall is produced by the Unstructured Intent IG. See go/unstructured-intents-ig.", - "The FunctionCall is produced by NSP in TUIG. This is consumed in QUS, to route behavior specific to NSP." + "The FunctionCall is produced by NSP in TUIG. This is consumed in QUS, to route behavior specific to NSP.", + "The FunctionCall is produced by Aqua." ], "type": "string" } @@ -60817,6 +60892,10 @@ "description": "A SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.", "id": "KnowledgeAnswersSemanticType", "properties": { + "allowAll": { + "description": "If true, is compatible with a schema whose answer_type is any semantic_type including empty (since by default schemas return themselves as semantic_types (b/211438997). This is used primarily for slot composition. Example: for the slot name: Operand type { semantic_type { allow_all: true } entity_type {} } * An entity_type or a schema with answer_type 'entity_type' can fill Operand. * A schema with either (a) no answer_type or (b) answer_type with !semantic_type.names().empty() can fill Operand * A schema with answer_type 'date' CAN NOT fill Operand. Note that when there is an explicit answer_type, the 'self' semantic_type is not considered.", + "type": "boolean" + }, "includesContainingIntent": { "description": "Determines whether or not the meaning schema that contains this semantic_type conforms to a function call with the name and arguments taken from the meaning schema. As it refers to the \"containing_intent\", this field should only be set in a semantic_type declared in an intent's type_members field. The behavior of this field is undefined in other cases, for example, declaring the type of an intent slot. On Assistant, we use meaning schemas for argument types to represent both function call values as well as a reusable tool to host other argument values (opaque types, normalized strings, subsets of entities) across intents. Teams need this information to run conformance checks and annotate new data. Example: If the intents below are in the intent catalog, then: - Intent(slot=\"some string\") is conformant, because Type has string_type{} in its type_members. - Intent(slot=Type()) is not conformant, because Type has set semantic_type.includes_containing_intent to false. - Intent(slot=SubType()) is conformant, because type_members is not inherited. { id: \"Intent\" slot: { name: \"slot\" type: { semantic_type { name: \"Type\" }} } } { id: \"Type\" type_members { string_type{} semantic_type { includes_containing_intent: false } } } { id: \"SubType\" parent { id: \"Type\" relationship_type: SUBTYPE } }", "type": "boolean" @@ -76289,6 +76368,8 @@ "DATABRIDGE_CONSOLE", "COMMSTAR", "CDDB", + "MONOSPACE", + "MY_ACCOUNT", "DEPRECATED_QUICKSTART_FLUME", "DUO_CLIENT", "ALBERT", @@ -76923,6 +77004,8 @@ "Databridge Console Team contact: databrige-eng@google.com", "Commstar Team contact: mdb.commstar-dev@google.com", "Cddb Team contact: cddb-dev-team@google.com", + "Monospace Team contact: monospace-eng@google.com", + "My Account Team contact: my-google-eng@google.com", "", "Duo Client Team contact: duo-eng@google.com", "Project albert (go/albert-frontend) Team contact: albert-eng@google.com", @@ -77189,7 +77272,7 @@ "type": "object" }, "PerDocData": { - "description": "=========================================================================== # Make sure you read the comments in the bottom before you add any new field. NB: As noted in the comments, this protocol buffer is used in both indexing and serving. In mustang serving implementations we only decode perdocdata during the search phase, and so this protocol should only contain data used during search. See mustang/repos_www/attachments.proto:{MustangBasicInfo,MustangContentInfo} for protocols used during search and/or docinfo. Next available tag deprecated, use this (and look for commented out fields): blaze-bin/net/proto_compiler/protocol-compiler --freetags \\ indexer/perdocdata/perdocdata.proto Next tag: 219", + "description": "=========================================================================== # Make sure you read the comments in the bottom before you add any new field. NB: As noted in the comments, this protocol buffer is used in both indexing and serving. In mustang serving implementations we only decode perdocdata during the search phase, and so this protocol should only contain data used during search. See mustang/repos_www/attachments.proto:{MustangBasicInfo,MustangContentInfo} for protocols used during search and/or docinfo. Next available tag deprecated, use this (and look for commented out fields): blaze-bin/net/proto_compiler/protocol-compiler --freetags \\ indexer/perdocdata/perdocdata.proto Next tag: 220", "id": "PerDocData", "properties": { "BlogData": { @@ -82660,6 +82743,10 @@ "QualityCalypsoAppsUniversalImageData": { "id": "QualityCalypsoAppsUniversalImageData", "properties": { + "enhancedImage": { + "$ref": "QualityCalypsoAppsUniversalImage", + "description": "iOS cover image, which includes the uni image from UAM only." + }, "featureGraphic": { "$ref": "QualityCalypsoAppsUniversalImage", "description": "aka. promotional image / cover image." @@ -84389,6 +84476,53 @@ }, "type": "object" }, + "QualityNsrNsrChunksProto": { + "description": "The NsrChunksProto corresponds to the NSRChunks class. The data saved by the proto and the class is the same. We provide utilities to go from one to the other.", + "id": "QualityNsrNsrChunksProto", + "properties": { + "primaryChunk": { + "description": "Primary NSR sitechunk. In most of the cases it's same as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, but important cases it's based on page markup (see quality/nsr/util/sitechunker.h for details).", + "type": "string" + }, + "secondaryChunks": { + "description": "Secondary NSR sitechunk. When present, it provides more granular chunking than primary sitechunks (see quality/nsr/util/sitechunker.h for details). Note that the NSRChunks class does not store trivial secondary chunks. Be aware of this when constructing NsrChunksProto from scratch.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "QualityNsrNsrChunksWithSourceInfo": { + "id": "QualityNsrNsrChunksWithSourceInfo", + "properties": { + "nsrChunks": { + "$ref": "QualityNsrNsrChunksProto" + }, + "siteChunkSource": { + "description": "These are annotated in the Goldmine NSR annotator.", + "enum": [ + "SITE_CHUNK_SOURCE_UNKNOWN", + "SITE_CHUNK_SOURCE_WEBUTIL", + "SITE_CHUNK_SOURCE_BREADCRUMBS", + "SITE_CHUNK_SOURCE_AUTHOR", + "SITE_CHUNK_SOURCE_COOKBOOK", + "SITE_CHUNK_SOURCE_CRAWLED_SELLER_DATA" + ], + "enumDescriptions": [ + "", + "As of June 2021 this corresponds to HOST_LEVEL_V3 granularity.", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "QualityNsrNsrData": { "description": "NOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 52", "id": "QualityNsrNsrData", @@ -84688,6 +84822,10 @@ "format": "int64", "type": "string" }, + "nsrChunksWithSourceInfo": { + "$ref": "QualityNsrNsrChunksWithSourceInfo", + "description": "Stores the NSRChunks (computed by goldmine) which were used to populate the data." + }, "raffiaLookupKey": { "type": "string" }, @@ -87863,6 +88001,10 @@ }, "type": "array" }, + "isLensBuildable": { + "description": "Is the offer Lens buildable. The corresponding field in Shopping Annotation is SurfaceSelection.", + "type": "boolean" + }, "matchingType": { "description": "information about methods used to match offer with indexed url. See shopping_annotation.proto", "format": "int64", @@ -92433,7 +92575,50 @@ "ASPECT", "TARGET_AUDIENCE", "TARGET_PURPOSE", - "SETTING_BY_LOCATION" + "SETTING_BY_LOCATION", + "DECORATIVE_PATTERN", + "ELECTRONIC_DEVICE_CONNECTIVITY", + "DIETARY_RESTRICTION", + "ACTOR", + "ADAPTATION_SOURCE", + "AGE", + "AUTHOR", + "AUTHOR_OF_ADAPTATION_SOURCE", + "AWARD_NOMINATED_FOR", + "AWARD_WON", + "BATTERY_LIFE", + "BATTERY_TYPE", + "BRAND", + "COLOR", + "COUNTRY_OF_ORIGIN", + "DEGREE_OF_BRIGHTNESS", + "DEGREE_OF_SEXINESS", + "DURATION", + "EXCLUDED_INGREDIENT", + "FICTIONAL_CHARACTER", + "FILM_DIRECTOR", + "GENRE", + "INTENDED_SPECIAL_OCCASION", + "LENGTH", + "MATERIAL", + "MEDIA_PROVIDER", + "MUSIC_COMPOSER", + "ORIGINAL_MEDIA_PROVIDER", + "PRIMARY_GENRE", + "PRODUCTION_COMPANY", + "PUBLICATION_DATE", + "RECENCY", + "RELATED_ARTISTIC_WORK", + "RELEASE_DATE", + "SECONDARY_GENRE", + "SETTING_BY_FICTIONAL_LOCATION", + "SETTING_BY_REAL_LOCATION", + "SETTING_BY_TIME", + "SUPPORTED_VIRTUAL_ASSISTANT", + "TEMPERATURE", + "THEME", + "TVM_ATTRIBUTE", + "WEIGHT" ], "enumDescriptions": [ "", @@ -92444,6 +92629,49 @@ "The range designates an aspect, that is, a modifier of some other range.", "Facets.", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "End of facets. This line marks where to generate new values for facets." ], "type": "string" @@ -92565,7 +92793,50 @@ "SUPERLATIVE", "FACET_AUDIENCE", "FACET_PURPOSE", - "FACET_SETTING_BY_LOCATION" + "FACET_SETTING_BY_LOCATION", + "FACET_DECORATIVE_PATTERN", + "FACET_ELECTRONIC_DEVICE_CONNECTIVITY", + "FACET_DIETARY_RESTRICTION", + "FACET_ACTOR", + "FACET_ADAPTATION_SOURCE", + "FACET_AGE", + "FACET_AUTHOR", + "FACET_AUTHOR_OF_ADAPTATION_SOURCE", + "FACET_AWARD_NOMINATED_FOR", + "FACET_AWARD_WON", + "FACET_BATTERY_LIFE", + "FACET_BATTERY_TYPE", + "FACET_BRAND", + "FACET_COLOR", + "FACET_COUNTRY_OF_ORIGIN", + "FACET_DEGREE_OF_BRIGHTNESS", + "FACET_DEGREE_OF_SEXINESS", + "FACET_DURATION", + "FACET_EXCLUDED_INGREDIENT", + "FACET_FICTIONAL_CHARACTER", + "FACET_FILM_DIRECTOR", + "FACET_GENRE", + "FACET_INTENDED_SPECIAL_OCCASION", + "FACET_LENGTH", + "FACET_MATERIAL", + "FACET_MEDIA_PROVIDER", + "FACET_MUSIC_COMPOSER", + "FACET_ORIGINAL_MEDIA_PROVIDER", + "FACET_PRIMARY_GENRE", + "FACET_PRODUCTION_COMPANY", + "FACET_PUBLICATION_DATE", + "FACET_RECENCY", + "FACET_RELATED_ARTISTIC_WORK", + "FACET_RELEASE_DATE", + "FACET_SECONDARY_GENRE", + "FACET_SETTING_BY_FICTIONAL_LOCATION", + "FACET_SETTING_BY_REAL_LOCATION", + "FACET_SETTING_BY_TIME", + "FACET_SUPPORTED_VIRTUAL_ASSISTANT", + "FACET_TEMPERATURE", + "FACET_THEME", + "FACET_TVM_ATTRIBUTE", + "FACET_WEIGHT" ], "enumDescriptions": [ "", @@ -92621,6 +92892,49 @@ "", "Facets.", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "End of facets. This line marks where to generate new values for facets." ], "type": "string" @@ -96539,6 +96853,10 @@ "fixedPointMetadata": { "$ref": "ResearchScamGenericFeatureVectorFixedPointMetadata" }, + "internalOnlyIsSecondaryPartition": { + "description": "copybara:strip_begin INTERNAL USE ONLY! The ScaM Team reserves the right to remove this field and reuse its proto tag without notice. DO NOT USE outside of build_shards_pipeline! This field is used inside build_shards_pipeline to indicate whether this GFV is residing in its secondary (vs. primary) partition. copybara:strip_end", + "type": "boolean" + }, "normType": { "description": "Describes if data has been normalized and the type.", "enum": [ @@ -96557,7 +96875,7 @@ }, "queryMetadata": { "$ref": "ResearchScamQueryMetadata", - "description": "copybara:strip_begin A field that contains metadata information when the datapoint is acting as a query. copybara:strip_end" + "description": "copybara:strip_begin A field that contains metadata information when the datapoint is acting as a query." }, "restrictTokens": { "$ref": "ResearchScamGenericFeatureVectorRestrictTokens" @@ -96743,7 +97061,7 @@ "type": "integer" }, "numSingleShardNeighbors": { - "description": "If populated, this is the maximum number of neighbors that may be returned from a single shard. If not populated, up to num_neighbors neighbors are returned from each shard. Setting his to a smaller value than num_neighbors will increase speed at the expense of accuray by requiring cross-shard merging of fewer neighbors. If this value is set, num_neighbors must also be set and this value must be \u003c= num_neighbors and \u003e= num_neighbors / number of shards. If set, this value must always be \u003e 0. ", + "description": "If populated, this is the maximum number of neighbors that may be returned from a single shard. If not populated, up to num_neighbors neighbors are returned from each shard. Setting this to a smaller value than num_neighbors will increase speed at the expense of accuray by requiring cross-shard merging of fewer neighbors. If this value is set, num_neighbors must also be set and this value must be \u003c= num_neighbors and \u003e= num_neighbors / number of shards. If set, this value must always be \u003e 0. ", "format": "int32", "type": "integer" }, @@ -97322,7 +97640,7 @@ "description": "The original name for the area covered by the dataset.", "type": "string" }, - "locationResource": { + "locationSource": { "enum": [ "UNKNOWN", "METADATA", @@ -98166,6 +98484,11 @@ "ScienceCitation": { "id": "ScienceCitation", "properties": { + "AbstractCitationSource": { + "description": "The source of abstract text that is chosen by science docid assigner.", + "format": "int32", + "type": "integer" + }, "AbstractDisplay": { "enum": [ "UNKNOWN_ABSTRACT_DISPLAY", @@ -99389,6 +99712,9 @@ "SdrEmbedding": { "id": "SdrEmbedding", "properties": { + "compressedEmbeddings": { + "$ref": "QualityRankembedMustangMustangRankEmbedInfo" + }, "values": { "items": { "format": "float", @@ -101739,7 +102065,7 @@ "id": "SocialGraphApiProtoLimitedProfileSettings", "properties": { "disableReason": { - "description": "Indicates why the limited profile has been disabled. Will be set iff the limited profile is disabled. This field can only be set server-side and must not be used by external clients when mutating LimitedProfiles.", + "description": "Indicates why the limited profile has been disabled. Will be set iff the limited profile is disabled. Note: When mutating limited profiles, in order to disable them, MutateDataRequest.DisableLimitedProfile must be true. Currently, disables are only performed server-side, so this is read-only for clients.", "enum": [ "DISABLE_REASON_UNSPECIFIED", "INCOMPATIBLE_NAME_ONLY_MUTATION", @@ -101857,6 +102183,39 @@ }, "type": "object" }, + "SocialGraphApiProtoNamePronunciationAudioMetadata": { + "description": "Metadata for a user's name pronunciation audio. Proto message is shared between merged_person and FBS.", + "id": "SocialGraphApiProtoNamePronunciationAudioMetadata", + "properties": { + "audioSource": { + "description": "Stored. Updated on pronunciation creates and updates.", + "enum": [ + "SOURCE_UNSPECIFIED", + "USER_GENERATED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "audioState": { + "description": "Stored.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED_FOR_NAME_CHANGE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "SocialGraphApiProtoNotificationTrigger": { "description": "Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", "id": "SocialGraphApiProtoNotificationTrigger", @@ -107175,6 +107534,9 @@ "NORMAL_SELF_UPDATE", "SECOND_PASS_BROAD_INTENT_QUERY_EVENT_LEVEL", "SECOND_PASS_REWEIGHTING_TRIGGERED_EVENT_LEVEL", + "GEARHEAD_TOOLTIP_COOLWALK_RAIL_WIDGET", + "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN", + "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_FRONTEND", "EVENT_LEVEL_TEST_CODE_LIMIT", "RESERVED_4", "RESERVED_5", @@ -108118,6 +108480,9 @@ "HAS_NO_BACKUP_FOP_FOR_ORDER_SESSION_LEVEL", "SECOND_PASS_BROAD_INTENT_QUERY_SESSION_LEVEL", "SECOND_PASS_REWEIGHTING_TRIGGERED_SESSION_LEVEL", + "BOOKS_SEARCH_PAGE_DORA_QUERY_SESSION_LEVEL", + "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_SESSION_LEVEL", + "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_FRONTEND_SESSION_LEVEL", "SESSION_LEVEL_TEST_CODE_LIMIT", "SHOULD_SEE_LIVE_OP_CLUSTER_USER_LEVEL", "CART_ABANDONMENT_USER_LEVEL", @@ -108853,6 +109218,9 @@ "Test code used when /selfUpdate endpoint last returned self_update_mode = NORMAL_SELF_UPDATE, indicating that either no self update is available or a normal self update should be performed.", "Test code for second pass broad intent query event level.", "Test code for second pass reweighting triggered event level.", + "Tooltip for notifying user of the rail widget setting.", + "Event level test codes containing result of tquality lookup during market details url matching. An unknown result means the lookup found nothing.", + "", "", "", "", @@ -109796,6 +110164,9 @@ "Session level test code for orders that don’t have a backup fop.", "Test code for second pass broad intent query session level.", "Test code for second pass reweighting triggered session level.", + "Test code for Books search queries that trigger Dora categorical search.", + "Session level test code containing result of tQuality lookup during market details url matching. Unknown means the lookup found nothing.", + "", "", "User should see the live op cluster.", "Cart abandonment flow for purchase flow.", @@ -110360,6 +110731,7 @@ "GAME_THEME_SETTING", "GAME_CONNECTIVITY", "GAME_DIMENSIONAL_PLANES", + "GAME_MONETIZATION", "ACCESSIBLITY", "ASSISTANT", "CHROMEBOOK_COMPATIBILITY" @@ -110375,6 +110747,7 @@ "Game theme setting. e.g. Fantasy", "Game connectivity. e.g. Offline", "Game dimensional planes. e.g. 3D", + "Game monetization. e.g. subscription, try before you buy.", "Accessiblity. e.g. Blind-Friendly", "Assistant tags, e.g. Assistant-Enabled", "Chrome OS compatibility tags. e.g. Optimized for Chromebooks" @@ -110663,7 +111036,8 @@ "NS_KARTO", "NS_CONTRIB_SERVICE_SHARED", "NS_CONTRIB_SERVICE_GEO_UGC", - "NS_SEARCH_SPORTS" + "NS_SEARCH_SPORTS", + "NS_BUSINESSMESSAGING" ], "enumDescriptions": [ "Default (invalid) namespace if the field is not set.", @@ -110704,7 +111078,8 @@ "Namespace for Karto videos.", "Namespace for shared ContribService UGC videos.", "Namespace for GEO UGC videos processed by ContribService.", - "Namespace for Search Sports vertical videos. Please receive approval via go/vp-newclients before adding a new namespace." + "Namespace for Search Sports vertical videos.", + "Namespace for Business Messaging videos. Please receive approval via go/vp-newclients before adding a new namespace." ], "type": "string" } @@ -124735,7 +125110,7 @@ "type": "object" }, "WWWDocInfo": { - "description": "Some per-doc info is returned for all www DocInfo requests. Next id: 92", + "description": "Some per-doc info is returned for all www DocInfo requests. Next id: 94", "id": "WWWDocInfo", "properties": { "additionalSafesearchStats": { @@ -124952,6 +125327,10 @@ "format": "int32", "type": "integer" }, + "nsrSitechunk": { + "description": "Sitechunk used by NSR. For most pages this is equivalent HOST_LEVEL_V3 sitechunk. Main difference is that, for sites like youtube.com and vimeo.com, nsr_sitechunks are channel level (based on schema.org markup, not url alone). See go/nsr-chunks for more details.", + "type": "string" + }, "partialBoilerplateMetadescription": { "type": "boolean" }, diff --git a/contentwarehouse/v1/contentwarehouse-gen.go b/contentwarehouse/v1/contentwarehouse-gen.go index 6657aacf640..8698af92e7c 100644 --- a/contentwarehouse/v1/contentwarehouse-gen.go +++ b/contentwarehouse/v1/contentwarehouse-gen.go @@ -6801,6 +6801,42 @@ func (s *AppsPeopleOzExternalMergedpeopleapiName) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo: +// +// Pronunciation audio metadata info. See +// +// go/name-pronunciation-backend. The metadata itself tracks the state +// of a user's name pronunciation audio. +type AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo struct { + Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` + + // NamePronunciationAudioMetadata: Actual metadata proto, shared with + // FBS backends. + NamePronunciationAudioMetadata *SocialGraphApiProtoNamePronunciationAudioMetadata `json:"namePronunciationAudioMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Metadata") 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. "Metadata") 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 *AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AppsPeopleOzExternalMergedpeopleapiNickname struct { Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` @@ -7358,6 +7394,10 @@ type AppsPeopleOzExternalMergedpeopleapiPerson struct { // PeopleAPI. Name []*AppsPeopleOzExternalMergedpeopleapiName `json:"name,omitempty"` + // NamePronunciationAudioMetadataInfo: Metadata info for a user's name + // pronunciation audio. See go/name-pronunication-backend. + NamePronunciationAudioMetadataInfo []*AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo `json:"namePronunciationAudioMetadataInfo,omitempty"` + Nickname []*AppsPeopleOzExternalMergedpeopleapiNickname `json:"nickname,omitempty"` Occupation []*AppsPeopleOzExternalMergedpeopleapiOccupation `json:"occupation,omitempty"` @@ -19137,7 +19177,7 @@ func (s *AssistantApiSpeechCapabilities) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AssistantApiSuggestionsSupport: Next ID: 17 +// AssistantApiSuggestionsSupport: Next ID: 18 type AssistantApiSuggestionsSupport struct { // ClickImpersonationSupported: Whether client supports user // impersonation on suggestion chip click. @@ -19199,6 +19239,10 @@ type AssistantApiSuggestionsSupport struct { // |SuggestionFeatureSpecificAction| proto message. FeatureSpecificAppActionsNotificationSupported bool `json:"featureSpecificAppActionsNotificationSupported,omitempty"` + // MultiStepTrySayingSupported: Whether the multi-step try saying + // suggestion feature is supported. dd: go/tng-multi-step-simplified + MultiStepTrySayingSupported bool `json:"multiStepTrySayingSupported,omitempty"` + // RuleIdInExecutionContextSupported: Whether the rule_id field in the // execution_context is supported. This is a temporary workaround to be // able to identify clicks on Person entity suggestions on Sabrina and @@ -21822,8 +21866,16 @@ func (s *AssistantGroundingRankerGroundingProviderFeatures) MarshalJSON() ([]byt } // AssistantGroundingRankerMediaGroundingProviderFeatures: Features to -// be passed from Media GP to HGR. Next ID: 4 +// be passed from Media GP to HGR. Next ID: 6 type AssistantGroundingRankerMediaGroundingProviderFeatures struct { + // IsCastVideo: Whether the candidate is YouTube CAST_VIDEO candidate. + // CAST_VIDEO is a deeplink platform. This signal will be used to + // promote YouTube Music screenful candidates with CAST_VIDEO platform + // for free users because free users cannot get exact entities in + // screenless response and can get exact entities with ads in screenful + // response. + IsCastVideo bool `json:"isCastVideo,omitempty"` + // IsSeedRadio: True if the media deeplink has tag SEED_RADIO. IsSeedRadio bool `json:"isSeedRadio,omitempty"` @@ -21841,7 +21893,12 @@ type AssistantGroundingRankerMediaGroundingProviderFeatures struct { // go/billboard-navboost, go/magma-music-actions-efrac MscRate float64 `json:"mscRate,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsSeedRadio") to + // ScubedPSaiMusic: Scubed predicted SAI value (pSAI) for music + // populated by a regression model that incorporates a BERT model signal + // as well as other Scubed signals. + ScubedPSaiMusic float64 `json:"scubedPSaiMusic,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IsCastVideo") 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 @@ -21849,7 +21906,7 @@ type AssistantGroundingRankerMediaGroundingProviderFeatures struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsSeedRadio") to include + // NullFields is a list of field names (e.g. "IsCastVideo") 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 @@ -21867,7 +21924,8 @@ func (s *AssistantGroundingRankerMediaGroundingProviderFeatures) MarshalJSON() ( func (s *AssistantGroundingRankerMediaGroundingProviderFeatures) UnmarshalJSON(data []byte) error { type NoMethod AssistantGroundingRankerMediaGroundingProviderFeatures var s1 struct { - MscRate gensupport.JSONFloat64 `json:"mscRate"` + MscRate gensupport.JSONFloat64 `json:"mscRate"` + ScubedPSaiMusic gensupport.JSONFloat64 `json:"scubedPSaiMusic"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -21875,6 +21933,7 @@ func (s *AssistantGroundingRankerMediaGroundingProviderFeatures) UnmarshalJSON(d return err } s.MscRate = float64(s1.MscRate) + s.ScubedPSaiMusic = float64(s1.ScubedPSaiMusic) return nil } @@ -26464,6 +26523,68 @@ type BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule str // e.g. haircuts. Services []string `json:"services,omitempty"` + // Possible values: + // "UNKNOWN_USE_CASE" - // Data extraction: + // "OPENING_HOURS" - Opening hours extraction, triggered internally + // without an end-user in the loop. The trigger might be a user-edit, + // but the user is not being updated about the extraction results. + // "ON_DEMAND_OPENING_HOURS" - On-demand opening hours extraction, + // i.e. requests are issued by an end-user who is also notified about + // the results of the task. + // "GEO_DATA_EXTRACTION" + // "OPERATING_MODE_EXTRACTION" + // "RESTAURANT_RESERVATION" + // "MASSAGE_RESERVATION" + // "HAIRDRESSER_RESERVATION" - See go/bg-hdr-2019. + // "NAIL_SALON_RESERVATION" + // "RUNNING_LATE" - See go/duplex-running-late. + // "FOOD_ORDERING" - See go/duplex-fo-pilot. + // "LOCAL_INVENTORY_CHECK" - Local Inventory Checks (go/duplex-dove). + // "ON_DEMAND_LOCAL_INVENTORY" - On-Demand Local Inventory + // (go/duplex-li-on-demand). + // "WAITLIST" + // "CHECK_WAIT" - Check wait: go/duplex-check-wait-time + // "CHEFBOT" - Chefbot (go/duplexify-cooking-goals). + // "ADS_CALL_CENTER_AUTHENTICATION" + // "PLAYSTORE" - Play Store user authentication. See + // http://doc/16tApXKX1cc23AIuhIhPCWVkm1qkcajx2pHMkxW6kMAs + // "TAKING_RESTAURANT_RESERVATIONS" - Taking restaurant reservations + // on behalf of a restaurant. i.e. getting calls from clients who want + // to make a reservation, and trying to match their request with the + // restaurant's schedule. + // "CALL_CENTER_DEMO" + // "ASSISTED_CALL_DEMO" + // "BUSINESS_OPT_IN" + // "CALLJOY_PILOT" + // "ASSISTANT_REMINDERS_DEMO" + // "HAPPY_BIRTHDAY" + // "ASSISTED_IVR" + // "DUPLEX_FOR_BUSINESS_PILOT" - Duplex for Business Pilot: + // go/duplex-voice-pilot + // "SAY_THE_SAME_THING" - Say The Same Thing game bot. + // "COVID_FAQ" - Bot for answering FAQ about COVID-19 + // (go/bg-covid-faq). + // "VANCOUVER" + // "MEENAPLEX" - go/meenaplex-dd + // "REMOVED_USE_CASE_6" - Was: ON_DEMAND_OPENING_HOURS. + // "SEMI_DELEGATED_CALLING" - UC ID for testing ideas around a partial + // call delegation bot. + // "HARDWARE_SETUP" - UC ID for hardware setup prototype + // "DUMDA_BOT" - Experimental use case for a form of Meena+Duplex. + // "SMART_REPLY" - Personal Call Assist. + // "DUPLEX_ZERO" - Duplex Zero Bot. + // "SPAM_FILTER" - Spam filter bot. + // "TEXT" - Text extraction bot. + // "IVR_CRAWLING" - IVR crawling bot. + // "VOICEMAIL" - Voicemail bot. + // "INBOUND_SMB" - Duplex for Business - Inbound SMB bot. + // "CCAI_DEMO" - Duplex for Business - Demo for the CCAI integration. + // "DIALOGFLOW_DELEGATION" - Duplex for Business - Dialogflow + // delegation module for CCAI integration. + // "AD_LEAD_VERIFICATION" - Duplex for Business - ad lead verification + // module for GLS integration. + UseCase string `json:"useCase,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 @@ -31240,6 +31361,10 @@ type DrishtiFeatureSetDataFeatureSetElement struct { Quantized *DrishtiQuantizedDenseFeatureData `json:"quantized,omitempty"` + QuantizedByteDense *DrishtiQuantizedByteDenseFeatureData `json:"quantizedByteDense,omitempty"` + + QuantizedByteIndexed *DrishtiQuantizedByteIndexedFeatureData `json:"quantizedByteIndexed,omitempty"` + Sparse *DrishtiSparseFeatureData `json:"sparse,omitempty"` // ForceSendFields is a list of field names (e.g. "Dense") to @@ -31430,6 +31555,76 @@ func (s *DrishtiLabelSetElement) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DrishtiQuantizedByteDenseFeatureData: Proto message to store +// quantized dense feature data. +type DrishtiQuantizedByteDenseFeatureData struct { + // Extra: If extra is present it must be of the same length as value. + Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` + + GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` + + // Value: Quantized values for the feature. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Extra") 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. "Extra") 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 *DrishtiQuantizedByteDenseFeatureData) MarshalJSON() ([]byte, error) { + type NoMethod DrishtiQuantizedByteDenseFeatureData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DrishtiQuantizedByteIndexedFeatureData: Proto message to store +// quantized indexed feature data. +type DrishtiQuantizedByteIndexedFeatureData struct { + // Extra: If extra is present it must be of the same length as value. + Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` + + GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` + + Index googleapi.Uint64s `json:"index,omitempty"` + + // Value: Quantized values for the feature. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Extra") 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. "Extra") 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 *DrishtiQuantizedByteIndexedFeatureData) MarshalJSON() ([]byte, error) { + type NoMethod DrishtiQuantizedByteIndexedFeatureData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DrishtiQuantizedDenseFeatureData struct { // Extra: If extra is present it must be of the same length as value. Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` @@ -36600,6 +36795,7 @@ type GeostoreDataSourceProto struct { // "PROVIDER_GOOGLE_3D_BASEMAP" // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" // "PROVIDER_GOOGLE_GT_ALF" + // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider // entries should be placed above. // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA @@ -41012,6 +41208,7 @@ type GeostoreInternalSourceSummaryProto struct { // "PROVIDER_GOOGLE_3D_BASEMAP" // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" // "PROVIDER_GOOGLE_GT_ALF" + // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider // entries should be placed above. // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA @@ -43182,6 +43379,7 @@ type GeostoreOntologyRawGConceptInstanceProto struct { // "PROVIDER_GOOGLE_3D_BASEMAP" // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" // "PROVIDER_GOOGLE_GT_ALF" + // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider // entries should be placed above. // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA @@ -45665,6 +45863,7 @@ type GeostoreProvenanceProto struct { // "PROVIDER_GOOGLE_3D_BASEMAP" // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" // "PROVIDER_GOOGLE_GT_ALF" + // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider // entries should be placed above. // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA @@ -53429,51 +53628,6 @@ func (s *GoogleCloudContentwarehouseV1AddToFolderAction) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline: The -// configuration of the document classify/split and entity/kvp -// extraction pipeline. -type GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline struct { - // ClassifySplitProcessorInfos: The classify or split processor - // information. - ClassifySplitProcessorInfos *GoogleCloudContentwarehouseV1ProcessorInfo `json:"classifySplitProcessorInfos,omitempty"` - - // ExtractProcessorInfos: The entity or key-value pair extracting - // processor information. - ExtractProcessorInfos []*GoogleCloudContentwarehouseV1ProcessorInfo `json:"extractProcessorInfos,omitempty"` - - // InputPath: The input Cloud Storage folder. All files under this - // folder will be imported to Document Warehouse. Format: gs:///. - InputPath string `json:"inputPath,omitempty"` - - // ProcessorResultsFolderPath: The Cloud Storage folder path used to - // store the raw results from processors. Format: gs:///. - ProcessorResultsFolderPath string `json:"processorResultsFolderPath,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "ClassifySplitProcessorInfos") 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. - // "ClassifySplitProcessorInfos") 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 *GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudContentwarehouseV1CloudAIDocumentOption: Request Option // for processing Cloud AI Document in CW Document. type GoogleCloudContentwarehouseV1CloudAIDocumentOption struct { @@ -53934,6 +54088,7 @@ type GoogleCloudContentwarehouseV1Document struct { // "RAW_DOCUMENT_FILE_TYPE_XLSX" - Microsoft Excel format // "RAW_DOCUMENT_FILE_TYPE_PPTX" - Microsoft Powerpoint format // "RAW_DOCUMENT_FILE_TYPE_TEXT" - UTF-8 encoded text format + // "RAW_DOCUMENT_FILE_TYPE_TIFF" - TIFF or TIF image file format RawDocumentFileType string `json:"rawDocumentFileType,omitempty"` // RawDocumentPath: Raw document file in Cloud Storage path. @@ -54389,42 +54544,6 @@ func (s *GoogleCloudContentwarehouseV1EnumValue) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudContentwarehouseV1ExportToCdwPipeline: The configuration -// of exporting documents from the Document Warehouse to CDW pipeline. -type GoogleCloudContentwarehouseV1ExportToCdwPipeline struct { - // DocumentIds: The list of all the documents to be processed. - DocumentIds []string `json:"documentIds,omitempty"` - - // ExportFolderPath: The Cloud Storage folder path used to store the - // exported documents before being sent to CDW. Format: gs:///. - ExportFolderPath string `json:"exportFolderPath,omitempty"` - - // ProcessorInfo: The CDW processor information. - ProcessorInfo *GoogleCloudContentwarehouseV1ProcessorInfo `json:"processorInfo,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DocumentIds") 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. "DocumentIds") 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 *GoogleCloudContentwarehouseV1ExportToCdwPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ExportToCdwPipeline - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudContentwarehouseV1FetchAclRequest: Request message for // DocumentService.FetchAcl type GoogleCloudContentwarehouseV1FetchAclRequest struct { @@ -54565,42 +54684,6 @@ func (s *GoogleCloudContentwarehouseV1FloatArray) MarshalJSON() ([]byte, error) type GoogleCloudContentwarehouseV1FloatTypeOptions struct { } -// GoogleCloudContentwarehouseV1GcsIngestPipeline: The configuration of -// the Cloud Storage ingestion pipeline. -type GoogleCloudContentwarehouseV1GcsIngestPipeline struct { - // InputPath: The input Cloud Storage folder. All files under this - // folder will be imported to Document Warehouse. Format: gs:///. - InputPath string `json:"inputPath,omitempty"` - - // SchemaName: The Document schema resource name. All documents - // processed by this processor will use this schema. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{docume - // nt_schema_id}. - SchemaName string `json:"schemaName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "InputPath") 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. "InputPath") 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 *GoogleCloudContentwarehouseV1GcsIngestPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1GcsIngestPipeline - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudContentwarehouseV1GetDocumentRequest: Request message for // DocumentService.GetDocument. type GoogleCloudContentwarehouseV1GetDocumentRequest struct { @@ -55280,48 +55363,6 @@ func (s *GoogleCloudContentwarehouseV1MergeFieldsOptions) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudContentwarehouseV1ProcessorInfo: The DocAI processor -// information. -type GoogleCloudContentwarehouseV1ProcessorInfo struct { - // DocumentType: The processor will process the documents with this - // document type. - DocumentType string `json:"documentType,omitempty"` - - // ProcessorName: The processor resource name. Format is - // `projects/{project}/locations/{location}/processors/{processor}`, or - // `projects/{project}/locations/{location}/processors/{processor}/proces - // sorVersions/{processorVersion}` - ProcessorName string `json:"processorName,omitempty"` - - // SchemaName: The Document schema resource name. All documents - // processed by this processor will use this schema. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{docume - // nt_schema_id}. - SchemaName string `json:"schemaName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DocumentType") 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. "DocumentType") 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 *GoogleCloudContentwarehouseV1ProcessorInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ProcessorInfo - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudContentwarehouseV1Property: Property of a document. type GoogleCloudContentwarehouseV1Property struct { // DateTimeValues: Date time property values. It is not supported by @@ -56009,45 +56050,6 @@ func (s *GoogleCloudContentwarehouseV1RuleSet) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudContentwarehouseV1RunPipelineRequest: Request message for -// DocumentService.RunPipeline. -type GoogleCloudContentwarehouseV1RunPipelineRequest struct { - // ClassifySplitAndExtractPipeline: Classify/split and entity/kvp - // extraction pipeline. - ClassifySplitAndExtractPipeline *GoogleCloudContentwarehouseV1ClassifySplitAndExtractPipeline `json:"classifySplitAndExtractPipeline,omitempty"` - - // ExportCdwPipeline: Export docuemnts from Document Warehouseing to CDW - // for training purpose. - ExportCdwPipeline *GoogleCloudContentwarehouseV1ExportToCdwPipeline `json:"exportCdwPipeline,omitempty"` - - // GcsIngestPipeline: Cloud Storage ingestion pipeline. - GcsIngestPipeline *GoogleCloudContentwarehouseV1GcsIngestPipeline `json:"gcsIngestPipeline,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "ClassifySplitAndExtractPipeline") 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. - // "ClassifySplitAndExtractPipeline") 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 *GoogleCloudContentwarehouseV1RunPipelineRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleCloudContentwarehouseV1SearchDocumentsRequest: Request message // for DocumentService.SearchDocuments. type GoogleCloudContentwarehouseV1SearchDocumentsRequest struct { @@ -56270,7 +56272,16 @@ type GoogleCloudContentwarehouseV1SetAclRequest struct { // Policy: Required. REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. // This refers to an Identity and Access (IAM) policy, which specifies - // access controls for the Document. + // access controls for the Document. You can set ACL with condition for + // projects only. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, + // and `>=` where the left of the operator is `DocumentSchemaId` or + // property name and the right of the operator is a number or a quoted + // string. You must escape backslash (\\) and quote (\") characters. + // Boolean expressions (AND/OR) are supported up to 3 levels of nesting + // (for example, "((A AND B AND C) OR D) AND E"), a maximum of 10 + // comparisons are allowed in the expression. The expression must be < + // 6000 bytes in length. Sample condition: "DocumentSchemaId = \"some + // schema id\" OR SchemaId.floatPropertyName >= 10" Policy *GoogleIamV1Policy `json:"policy,omitempty"` // ProjectOwner: For Set Project ACL only. Authorization check for end @@ -65759,6 +65770,7 @@ type ImageRepositoryApiItagSpecificMetadata struct { // "GENUS_CONTRIB_SERVICE_GEO_UGC" - Genus for GEO UGC videos // processed by ContribService. go/venom-lite-for-geo-photo-videos // "GENUS_SEARCH_SPORTS" - Genus for Search Sports vertical videos + // "GENUS_BUSINESSMESSAGING" - Genus for Business Messaging videos Genus string `json:"genus,omitempty"` // State: Indicates the state in Venom for this transcode type. @@ -67019,6 +67031,7 @@ type ImageRepositoryVenomStatus struct { // "GENUS_CONTRIB_SERVICE_GEO_UGC" - Genus for GEO UGC videos // processed by ContribService. go/venom-lite-for-geo-photo-videos // "GENUS_SEARCH_SPORTS" - Genus for Search Sports vertical videos + // "GENUS_BUSINESSMESSAGING" - Genus for Business Messaging videos Genus string `json:"genus,omitempty"` // InsertionResponseTimestampUsec: Time that VideoNotification result @@ -76237,6 +76250,7 @@ type KnowledgeAnswersIntentQueryParsingSignals struct { // Unstructured Intent IG. See go/unstructured-intents-ig. // "NSP" - The FunctionCall is produced by NSP in TUIG. This is // consumed in QUS, to route behavior specific to NSP. + // "AQUA" - The FunctionCall is produced by Aqua. Source string `json:"source,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -77810,6 +77824,18 @@ func (s *KnowledgeAnswersSameType) MarshalJSON() ([]byte, error) { // determined by another source, in particular another intent or a // semantic frame. See go/unifying-intents and go/framery. type KnowledgeAnswersSemanticType struct { + // AllowAll: If true, is compatible with a schema whose answer_type is + // any semantic_type including empty (since by default schemas return + // themselves as semantic_types (b/211438997). This is used primarily + // for slot composition. Example: for the slot name: Operand type { + // semantic_type { allow_all: true } entity_type {} } * An entity_type + // or a schema with answer_type 'entity_type' can fill Operand. * A + // schema with either (a) no answer_type or (b) answer_type with + // !semantic_type.names().empty() can fill Operand * A schema with + // answer_type 'date' CAN NOT fill Operand. Note that when there is an + // explicit answer_type, the 'self' semantic_type is not considered. + AllowAll bool `json:"allowAll,omitempty"` + // IncludesContainingIntent: Determines whether or not the meaning // schema that contains this semantic_type conforms to a function call // with the name and arguments taken from the meaning schema. As it @@ -77850,22 +77876,20 @@ type KnowledgeAnswersSemanticType struct { // go/meaning-remodeling-framework. Remodelings *NlpMeaningMeaningRemodelings `json:"remodelings,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "IncludesContainingIntent") 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. "AllowAll") 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. "IncludesContainingIntent") - // 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. "AllowAll") 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:"-"` } @@ -98041,6 +98065,8 @@ type PeoplestackFlexorgsProtoInternalExternal struct { // databrige-eng@google.com // "COMMSTAR" - Commstar Team contact: mdb.commstar-dev@google.com // "CDDB" - Cddb Team contact: cddb-dev-team@google.com + // "MONOSPACE" - Monospace Team contact: monospace-eng@google.com + // "MY_ACCOUNT" - My Account Team contact: my-google-eng@google.com // "DEPRECATED_QUICKSTART_FLUME" // "DUO_CLIENT" - Duo Client Team contact: duo-eng@google.com // "ALBERT" - Project albert (go/albert-frontend) Team contact: @@ -98553,7 +98579,7 @@ func (s *PeoplestackFlexorgsProtoInternalExternalStateStatus) MarshalJSON() ([]b // fo} for protocols used during search and/or docinfo. Next available // tag deprecated, use this (and look for commented out fields): // blaze-bin/net/proto_compiler/protocol-compiler --freetags \ -// indexer/perdocdata/perdocdata.proto Next tag: 219 +// indexer/perdocdata/perdocdata.proto Next tag: 220 type PerDocData struct { BlogData *BlogPerDocData `json:"BlogData,omitempty"` @@ -104225,12 +104251,16 @@ func (s *QualityCalypsoAppsUniversalImage) MarshalJSON() ([]byte, error) { } type QualityCalypsoAppsUniversalImageData struct { + // EnhancedImage: iOS cover image, which includes the uni image from UAM + // only. + EnhancedImage *QualityCalypsoAppsUniversalImage `json:"enhancedImage,omitempty"` + // FeatureGraphic: aka. promotional image / cover image. FeatureGraphic *QualityCalypsoAppsUniversalImage `json:"featureGraphic,omitempty"` Screenshot []*QualityCalypsoAppsUniversalImage `json:"screenshot,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureGraphic") to + // ForceSendFields is a list of field names (e.g. "EnhancedImage") 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 @@ -104238,13 +104268,12 @@ type QualityCalypsoAppsUniversalImageData struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureGraphic") 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. "EnhancedImage") 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:"-"` } @@ -106142,6 +106171,84 @@ func (s *QualityNsrNSRVersionedData) UnmarshalJSON(data []byte) error { return nil } +// QualityNsrNsrChunksProto: The NsrChunksProto corresponds to the +// NSRChunks class. The data saved by the proto and the class is the +// same. We provide utilities to go from one to the other. +type QualityNsrNsrChunksProto struct { + // PrimaryChunk: Primary NSR sitechunk. In most of the cases it's same + // as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, + // but important cases it's based on page markup (see + // quality/nsr/util/sitechunker.h for details). + PrimaryChunk string `json:"primaryChunk,omitempty"` + + // SecondaryChunks: Secondary NSR sitechunk. When present, it provides + // more granular chunking than primary sitechunks (see + // quality/nsr/util/sitechunker.h for details). Note that the NSRChunks + // class does not store trivial secondary chunks. Be aware of this when + // constructing NsrChunksProto from scratch. + SecondaryChunks []string `json:"secondaryChunks,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PrimaryChunk") 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. "PrimaryChunk") 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 *QualityNsrNsrChunksProto) MarshalJSON() ([]byte, error) { + type NoMethod QualityNsrNsrChunksProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type QualityNsrNsrChunksWithSourceInfo struct { + NsrChunks *QualityNsrNsrChunksProto `json:"nsrChunks,omitempty"` + + // SiteChunkSource: These are annotated in the Goldmine NSR annotator. + // + // Possible values: + // "SITE_CHUNK_SOURCE_UNKNOWN" + // "SITE_CHUNK_SOURCE_WEBUTIL" - As of June 2021 this corresponds to + // HOST_LEVEL_V3 granularity. + // "SITE_CHUNK_SOURCE_BREADCRUMBS" + // "SITE_CHUNK_SOURCE_AUTHOR" + // "SITE_CHUNK_SOURCE_COOKBOOK" + // "SITE_CHUNK_SOURCE_CRAWLED_SELLER_DATA" + SiteChunkSource string `json:"siteChunkSource,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NsrChunks") 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. "NsrChunks") 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 *QualityNsrNsrChunksWithSourceInfo) MarshalJSON() ([]byte, error) { + type NoMethod QualityNsrNsrChunksWithSourceInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // QualityNsrNsrData: NOTE: When adding a new field to be propagated to // Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 52 type QualityNsrNsrData struct { @@ -106489,6 +106596,10 @@ type QualityNsrNsrDataMetadata struct { // proto3 syntax. See cl/500942047 for details. LastTimeProcessedRaffiaInSeconds int64 `json:"lastTimeProcessedRaffiaInSeconds,omitempty,string"` + // NsrChunksWithSourceInfo: Stores the NSRChunks (computed by goldmine) + // which were used to populate the data. + NsrChunksWithSourceInfo *QualityNsrNsrChunksWithSourceInfo `json:"nsrChunksWithSourceInfo,omitempty"` + RaffiaLookupKey string `json:"raffiaLookupKey,omitempty"` // RaffiaLookupKeyPerField: Returns the raffia lookup key per each field @@ -110133,6 +110244,10 @@ type QualityShoppingShoppingAttachmentOffer struct { // efficient search during serving. InferredImages []*ShoppingWebentityShoppingAnnotationInferredImage `json:"inferredImages,omitempty"` + // IsLensBuildable: Is the offer Lens buildable. The corresponding field + // in Shopping Annotation is SurfaceSelection. + IsLensBuildable bool `json:"isLensBuildable,omitempty"` + // MatchingType: information about methods used to match offer with // indexed url. See shopping_annotation.proto MatchingType int64 `json:"matchingType,omitempty,string"` @@ -116518,8 +116633,51 @@ type RepositoryWebrefLexicalRange struct { // some other range. // "TARGET_AUDIENCE" - Facets. // "TARGET_PURPOSE" - // "SETTING_BY_LOCATION" - End of facets. This line marks where to - // generate new values for facets. + // "SETTING_BY_LOCATION" + // "DECORATIVE_PATTERN" + // "ELECTRONIC_DEVICE_CONNECTIVITY" + // "DIETARY_RESTRICTION" + // "ACTOR" + // "ADAPTATION_SOURCE" + // "AGE" + // "AUTHOR" + // "AUTHOR_OF_ADAPTATION_SOURCE" + // "AWARD_NOMINATED_FOR" + // "AWARD_WON" + // "BATTERY_LIFE" + // "BATTERY_TYPE" + // "BRAND" + // "COLOR" + // "COUNTRY_OF_ORIGIN" + // "DEGREE_OF_BRIGHTNESS" + // "DEGREE_OF_SEXINESS" + // "DURATION" + // "EXCLUDED_INGREDIENT" + // "FICTIONAL_CHARACTER" + // "FILM_DIRECTOR" + // "GENRE" + // "INTENDED_SPECIAL_OCCASION" + // "LENGTH" + // "MATERIAL" + // "MEDIA_PROVIDER" + // "MUSIC_COMPOSER" + // "ORIGINAL_MEDIA_PROVIDER" + // "PRIMARY_GENRE" + // "PRODUCTION_COMPANY" + // "PUBLICATION_DATE" + // "RECENCY" + // "RELATED_ARTISTIC_WORK" + // "RELEASE_DATE" + // "SECONDARY_GENRE" + // "SETTING_BY_FICTIONAL_LOCATION" + // "SETTING_BY_REAL_LOCATION" + // "SETTING_BY_TIME" + // "SUPPORTED_VIRTUAL_ASSISTANT" + // "TEMPERATURE" + // "THEME" + // "TVM_ATTRIBUTE" + // "WEIGHT" - End of facets. This line marks where to generate new + // values for facets. Category string `json:"category,omitempty"` // Direction: Direction defines the relation between the measurable @@ -116723,8 +116881,51 @@ type RepositoryWebrefLightweightTokensMatchedLightweightToken struct { // "SUPERLATIVE" // "FACET_AUDIENCE" - Facets. // "FACET_PURPOSE" - // "FACET_SETTING_BY_LOCATION" - End of facets. This line marks where - // to generate new values for facets. + // "FACET_SETTING_BY_LOCATION" + // "FACET_DECORATIVE_PATTERN" + // "FACET_ELECTRONIC_DEVICE_CONNECTIVITY" + // "FACET_DIETARY_RESTRICTION" + // "FACET_ACTOR" + // "FACET_ADAPTATION_SOURCE" + // "FACET_AGE" + // "FACET_AUTHOR" + // "FACET_AUTHOR_OF_ADAPTATION_SOURCE" + // "FACET_AWARD_NOMINATED_FOR" + // "FACET_AWARD_WON" + // "FACET_BATTERY_LIFE" + // "FACET_BATTERY_TYPE" + // "FACET_BRAND" + // "FACET_COLOR" + // "FACET_COUNTRY_OF_ORIGIN" + // "FACET_DEGREE_OF_BRIGHTNESS" + // "FACET_DEGREE_OF_SEXINESS" + // "FACET_DURATION" + // "FACET_EXCLUDED_INGREDIENT" + // "FACET_FICTIONAL_CHARACTER" + // "FACET_FILM_DIRECTOR" + // "FACET_GENRE" + // "FACET_INTENDED_SPECIAL_OCCASION" + // "FACET_LENGTH" + // "FACET_MATERIAL" + // "FACET_MEDIA_PROVIDER" + // "FACET_MUSIC_COMPOSER" + // "FACET_ORIGINAL_MEDIA_PROVIDER" + // "FACET_PRIMARY_GENRE" + // "FACET_PRODUCTION_COMPANY" + // "FACET_PUBLICATION_DATE" + // "FACET_RECENCY" + // "FACET_RELATED_ARTISTIC_WORK" + // "FACET_RELEASE_DATE" + // "FACET_SECONDARY_GENRE" + // "FACET_SETTING_BY_FICTIONAL_LOCATION" + // "FACET_SETTING_BY_REAL_LOCATION" + // "FACET_SETTING_BY_TIME" + // "FACET_SUPPORTED_VIRTUAL_ASSISTANT" + // "FACET_TEMPERATURE" + // "FACET_THEME" + // "FACET_TVM_ATTRIBUTE" + // "FACET_WEIGHT" - End of facets. This line marks where to generate + // new values for facets. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. @@ -122093,6 +122294,14 @@ type ResearchScamGenericFeatureVector struct { FixedPointMetadata *ResearchScamGenericFeatureVectorFixedPointMetadata `json:"fixedPointMetadata,omitempty"` + // InternalOnlyIsSecondaryPartition: copybara:strip_begin INTERNAL USE + // ONLY! The ScaM Team reserves the right to remove this field and reuse + // its proto tag without notice. DO NOT USE outside of + // build_shards_pipeline! This field is used inside + // build_shards_pipeline to indicate whether this GFV is residing in its + // secondary (vs. primary) partition. copybara:strip_end + InternalOnlyIsSecondaryPartition bool `json:"internalOnlyIsSecondaryPartition,omitempty"` + // NormType: Describes if data has been normalized and the type. // // Possible values: @@ -122104,7 +122313,6 @@ type ResearchScamGenericFeatureVector struct { // QueryMetadata: copybara:strip_begin A field that contains metadata // information when the datapoint is acting as a query. - // copybara:strip_end QueryMetadata *ResearchScamQueryMetadata `json:"queryMetadata,omitempty"` RestrictTokens *ResearchScamGenericFeatureVectorRestrictTokens `json:"restrictTokens,omitempty"` @@ -122487,7 +122695,7 @@ type ResearchScamNeighborSelectionOverride struct { // NumSingleShardNeighbors: If populated, this is the maximum number of // neighbors that may be returned from a single shard. If not populated, // up to num_neighbors neighbors are returned from each shard. Setting - // his to a smaller value than num_neighbors will increase speed at the + // this to a smaller value than num_neighbors will increase speed at the // expense of accuray by requiring cross-shard merging of fewer // neighbors. If this value is set, num_neighbors must also be set and // this value must be <= num_neighbors and >= num_neighbors / number of @@ -123361,7 +123569,7 @@ type ResearchScienceSearchLocation struct { // "METADATA" - When the locationthe is specified in the raw metadata // "WEBREF" - When the locationthe is not specified in the raw // metadata - LocationResource string `json:"locationResource,omitempty"` + LocationSource string `json:"locationSource,omitempty"` // PointCoordinates: Latitude and longitude for a single point in the // form of "lat,long". @@ -124342,6 +124550,10 @@ func (s *SafesearchVideoContentSignals) MarshalJSON() ([]byte, error) { } type ScienceCitation struct { + // AbstractCitationSource: The source of abstract text that is chosen by + // science docid assigner. + AbstractCitationSource int64 `json:"AbstractCitationSource,omitempty"` + // Possible values: // "UNKNOWN_ABSTRACT_DISPLAY" // "MAIN_ABSTRACT_DISPLAY" @@ -124691,18 +124903,19 @@ type ScienceCitation struct { Unioncatalog []*ScienceCitationUnionCatalog `json:"unioncatalog,omitempty"` - // ForceSendFields is a list of field names (e.g. "AbstractDisplay") 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. + // "AbstractCitationSource") 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. "AbstractDisplay") 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 + // NullFields is a list of field names (e.g. "AbstractCitationSource") + // 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. @@ -125579,24 +125792,28 @@ func (s *ScienceOceanViewCountryView) MarshalJSON() ([]byte, error) { } type SdrEmbedding struct { + CompressedEmbeddings *QualityRankembedMustangMustangRankEmbedInfo `json:"compressedEmbeddings,omitempty"` + Values []float64 `json:"values,omitempty"` Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") 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. + // "CompressedEmbeddings") 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. "Values") 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. "CompressedEmbeddings") 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:"-"` } @@ -129670,9 +129887,11 @@ func (s *SocialGraphApiProtoLimitedProfilePictureSettings) MarshalJSON() ([]byte // SocialGraphApiProtoLimitedProfileSettings: Next ID: 9 type SocialGraphApiProtoLimitedProfileSettings struct { // DisableReason: Indicates why the limited profile has been disabled. - // Will be set iff the limited profile is disabled. This field can only - // be set server-side and must not be used by external clients when - // mutating LimitedProfiles. + // Will be set iff the limited profile is disabled. Note: When mutating + // limited profiles, in order to disable them, + // MutateDataRequest.DisableLimitedProfile must be true. Currently, + // disables are only performed server-side, so this is read-only for + // clients. // // Possible values: // "DISABLE_REASON_UNSPECIFIED" @@ -129868,6 +130087,48 @@ func (s *SocialGraphApiProtoMonthlyWeekdayRecurrence) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SocialGraphApiProtoNamePronunciationAudioMetadata: Metadata for a +// user's name pronunciation audio. Proto message is shared between +// merged_person and FBS. +type SocialGraphApiProtoNamePronunciationAudioMetadata struct { + // AudioSource: Stored. Updated on pronunciation creates and updates. + // + // Possible values: + // "SOURCE_UNSPECIFIED" + // "USER_GENERATED" + AudioSource string `json:"audioSource,omitempty"` + + // AudioState: Stored. + // + // Possible values: + // "STATE_UNSPECIFIED" + // "ENABLED" + // "DISABLED_FOR_NAME_CHANGE" + AudioState string `json:"audioState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AudioSource") 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. "AudioSource") 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 *SocialGraphApiProtoNamePronunciationAudioMetadata) MarshalJSON() ([]byte, error) { + type NoMethod SocialGraphApiProtoNamePronunciationAudioMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SocialGraphApiProtoNotificationTrigger: Used in PeopleAPI layers + // FBS/ContactsService (not in ProfileService) type SocialGraphApiProtoNotificationTrigger struct { @@ -137293,6 +137554,12 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // pass broad intent query event level. // "SECOND_PASS_REWEIGHTING_TRIGGERED_EVENT_LEVEL" - Test code for // second pass reweighting triggered event level. + // "GEARHEAD_TOOLTIP_COOLWALK_RAIL_WIDGET" - Tooltip for notifying + // user of the rail widget setting. + // "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN" - Event level test codes + // containing result of tquality lookup during market details url + // matching. An unknown result means the lookup found nothing. + // "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_FRONTEND" // "EVENT_LEVEL_TEST_CODE_LIMIT" // "RESERVED_4" // "RESERVED_5" @@ -138566,6 +138833,12 @@ type VendingConsumerProtoTrustedGenomeAnnotation struct { // second pass broad intent query session level. // "SECOND_PASS_REWEIGHTING_TRIGGERED_SESSION_LEVEL" - Test code for // second pass reweighting triggered session level. + // "BOOKS_SEARCH_PAGE_DORA_QUERY_SESSION_LEVEL" - Test code for Books + // search queries that trigger Dora categorical search. + // "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_SESSION_LEVEL" - Session + // level test code containing result of tQuality lookup during market + // details url matching. Unknown means the lookup found nothing. + // "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_FRONTEND_SESSION_LEVEL" // "SESSION_LEVEL_TEST_CODE_LIMIT" // "SHOULD_SEE_LIVE_OP_CLUSTER_USER_LEVEL" - User should see the live // op cluster. @@ -139423,6 +139696,8 @@ type VendingConsumerProtoTrustedGenomeHierarchy struct { // "GAME_THEME_SETTING" - Game theme setting. e.g. Fantasy // "GAME_CONNECTIVITY" - Game connectivity. e.g. Offline // "GAME_DIMENSIONAL_PLANES" - Game dimensional planes. e.g. 3D + // "GAME_MONETIZATION" - Game monetization. e.g. subscription, try + // before you buy. // "ACCESSIBLITY" - Accessiblity. e.g. Blind-Friendly // "ASSISTANT" - Assistant tags, e.g. Assistant-Enabled // "CHROMEBOOK_COMPATIBILITY" - Chrome OS compatibility tags. e.g. @@ -139846,6 +140121,7 @@ type VideoAssetsVenomVideoId struct { // "NS_CONTRIB_SERVICE_GEO_UGC" - Namespace for GEO UGC videos // processed by ContribService. // "NS_SEARCH_SPORTS" - Namespace for Search Sports vertical videos. + // "NS_BUSINESSMESSAGING" - Namespace for Business Messaging videos. // Please receive approval via go/vp-newclients before adding a new // namespace. Ns string `json:"ns,omitempty"` @@ -152803,7 +153079,7 @@ func (s *VideoYoutubeCommentsRankingCTRMetrics) MarshalJSON() ([]byte, error) { } // WWWDocInfo: Some per-doc info is returned for all www DocInfo -// requests. Next id: 92 +// requests. Next id: 94 type WWWDocInfo struct { // AdditionalSafesearchStats: Additional stats output by SafeSearch. See // classifier/porn/public/porn-attachments.h. @@ -152970,6 +153246,13 @@ type WWWDocInfo struct { // overlay mode in image snippets. Noimageframeoverlayreason int64 `json:"noimageframeoverlayreason,omitempty"` + // NsrSitechunk: Sitechunk used by NSR. For most pages this is + // equivalent HOST_LEVEL_V3 sitechunk. Main difference is that, for + // sites like youtube.com and vimeo.com, nsr_sitechunks are channel + // level (based on schema.org markup, not url alone). See go/nsr-chunks + // for more details. + NsrSitechunk string `json:"nsrSitechunk,omitempty"` + PartialBoilerplateMetadescription bool `json:"partialBoilerplateMetadescription,omitempty"` // PornStats: 'porn_stats' is used in porn demotion and filtering. See @@ -156016,16 +156299,7 @@ type ProjectsSetAclCall struct { } // SetAcl: Sets the access control policy for a resource. Replaces any -// existing policy. You can set ACL with condition for projects only. -// Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where -// the left of the operator is `DocumentSchemaId` or property name and -// the right of the operator is a number or a quoted string. You must -// escape backslash (\\) and quote (\") characters. Boolean expressions -// (AND/OR) are supported up to 3 levels of nesting (for example, "((A -// AND B AND C) OR D) AND E"), a maximum of 10 comparisons are allowed -// in the expression. The expression must be < 6000 bytes in length. -// Sample condition: "DocumentSchemaId = \"some schema id\" " OR -// SchemaId.floatPropertyName >= 10` +// existing policy. // // - resource: REQUIRED: The resource for which the policy is being // requested. Format for document: @@ -156131,7 +156405,7 @@ func (c *ProjectsSetAclCall) Do(opts ...googleapi.CallOption) (*GoogleCloudConte } return ret, nil // { - // "description": "Sets the access control policy for a resource. Replaces any existing policy. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" \" OR SchemaId.floatPropertyName \u003e= 10`", + // "description": "Sets the access control policy for a resource. Replaces any existing policy.", // "flatPath": "v1/projects/{projectsId}:setAcl", // "httpMethod": "POST", // "id": "contentwarehouse.projects.setAcl", @@ -156305,149 +156579,6 @@ func (c *ProjectsLocationsInitializeCall) Do(opts ...googleapi.CallOption) (*Goo } -// method id "contentwarehouse.projects.locations.runPipeline": - -type ProjectsLocationsRunPipelineCall struct { - s *Service - name string - googlecloudcontentwarehousev1runpipelinerequest *GoogleCloudContentwarehouseV1RunPipelineRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// RunPipeline: Run a predefined pipeline. -// -// - name: The resource name which owns the resources of the pipeline. -// Format: projects/{project_number}/locations/{location}. -func (r *ProjectsLocationsService) RunPipeline(name string, googlecloudcontentwarehousev1runpipelinerequest *GoogleCloudContentwarehouseV1RunPipelineRequest) *ProjectsLocationsRunPipelineCall { - c := &ProjectsLocationsRunPipelineCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.googlecloudcontentwarehousev1runpipelinerequest = googlecloudcontentwarehousev1runpipelinerequest - 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 *ProjectsLocationsRunPipelineCall) Fields(s ...googleapi.Field) *ProjectsLocationsRunPipelineCall { - 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 *ProjectsLocationsRunPipelineCall) Context(ctx context.Context) *ProjectsLocationsRunPipelineCall { - 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 *ProjectsLocationsRunPipelineCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsRunPipelineCall) 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.googlecloudcontentwarehousev1runpipelinerequest) - 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}:runPipeline") - 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 "contentwarehouse.projects.locations.runPipeline" 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 *ProjectsLocationsRunPipelineCall) 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": "Run a predefined pipeline.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:runPipeline", - // "httpMethod": "POST", - // "id": "contentwarehouse.projects.locations.runPipeline", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The resource name which owns the resources of the pipeline. Format: projects/{project_number}/locations/{location}.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+name}:runPipeline", - // "request": { - // "$ref": "GoogleCloudContentwarehouseV1RunPipelineRequest" - // }, - // "response": { - // "$ref": "GoogleLongrunningOperation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - // method id "contentwarehouse.projects.locations.documentSchemas.create": type ProjectsLocationsDocumentSchemasCreateCall struct { @@ -158463,16 +158594,7 @@ type ProjectsLocationsDocumentsSetAclCall struct { } // SetAcl: Sets the access control policy for a resource. Replaces any -// existing policy. You can set ACL with condition for projects only. -// Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where -// the left of the operator is `DocumentSchemaId` or property name and -// the right of the operator is a number or a quoted string. You must -// escape backslash (\\) and quote (\") characters. Boolean expressions -// (AND/OR) are supported up to 3 levels of nesting (for example, "((A -// AND B AND C) OR D) AND E"), a maximum of 10 comparisons are allowed -// in the expression. The expression must be < 6000 bytes in length. -// Sample condition: "DocumentSchemaId = \"some schema id\" " OR -// SchemaId.floatPropertyName >= 10` +// existing policy. // // - resource: REQUIRED: The resource for which the policy is being // requested. Format for document: @@ -158578,7 +158700,7 @@ func (c *ProjectsLocationsDocumentsSetAclCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Sets the access control policy for a resource. Replaces any existing policy. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" \" OR SchemaId.floatPropertyName \u003e= 10`", + // "description": "Sets the access control policy for a resource. Replaces any existing policy.", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/documents/{documentsId}:setAcl", // "httpMethod": "POST", // "id": "contentwarehouse.projects.locations.documents.setAcl", diff --git a/dataflow/v1b3/dataflow-api.json b/dataflow/v1b3/dataflow-api.json index 6ee35a3124b..3f289ceae7f 100644 --- a/dataflow/v1b3/dataflow-api.json +++ b/dataflow/v1b3/dataflow-api.json @@ -1829,47 +1829,6 @@ } } }, - "sql": { - "methods": { - "validate": { - "description": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always confirm the given query parses correctly, and if able to look up schema information from DataCatalog, will validate that the query analyzes properly as well.", - "flatPath": "v1b3/projects/{projectId}/locations/{location}/sql:validate", - "httpMethod": "GET", - "id": "dataflow.projects.locations.sql.validate", - "parameterOrder": [ - "projectId", - "location" - ], - "parameters": { - "location": { - "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.", - "location": "path", - "required": true, - "type": "string" - }, - "projectId": { - "description": "Required. The ID of the Cloud Platform project that the job belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "query": { - "description": "The sql query to validate.", - "location": "query", - "type": "string" - } - }, - "path": "v1b3/projects/{projectId}/locations/{location}/sql:validate", - "response": { - "$ref": "ValidateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/userinfo.email" - ] - } - } - }, "templates": { "methods": { "create": { @@ -2240,7 +2199,7 @@ } } }, - "revision": "20221229", + "revision": "20230119", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -4065,7 +4024,7 @@ "type": "object" }, "JobMetrics": { - "description": "JobMetrics contains a collection of metrics describing the detailed progress of a Dataflow job. Metrics correspond to user-defined and system-defined metrics in the job. This resource captures only the most recent values of each metric; time-series data can be queried for them (under the same metric names) from Cloud Monitoring.", + "description": "JobMetrics contains a collection of metrics describing the detailed progress of a Dataflow job. Metrics correspond to user-defined and system-defined metrics in the job. For more information, see [Dataflow job metrics] (https://cloud.google.com/dataflow/docs/guides/using-monitoring-intf). This resource captures only the most recent values of each metric; time-series data can be queried for them (under the same metric names) from Cloud Monitoring.", "id": "JobMetrics", "properties": { "metricTime": { @@ -4986,28 +4945,6 @@ }, "type": "object" }, - "QueryInfo": { - "description": "Information about a validated query.", - "id": "QueryInfo", - "properties": { - "queryProperty": { - "description": "Includes an entry for each satisfied QueryProperty.", - "items": { - "enum": [ - "QUERY_PROPERTY_UNSPECIFIED", - "HAS_UNBOUNDED_SOURCE" - ], - "enumDescriptions": [ - "The query property is unknown or unspecified.", - "Indicates this query reads from \u003e= 1 unbounded source." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "ReadInstruction": { "description": "An instruction that reads records. Takes no inputs, produces one output.", "id": "ReadInstruction", @@ -5131,7 +5068,7 @@ "id": "RuntimeEnvironment", "properties": { "additionalExperiments": { - "description": "Additional experiment flags for the job, specified with the `--experiments` option.", + "description": "Optional. Additional experiment flags for the job, specified with the `--experiments` option.", "items": { "type": "string" }, @@ -5141,19 +5078,19 @@ "additionalProperties": { "type": "string" }, - "description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }.", + "description": "Optional. Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }.", "type": "object" }, "bypassTempDirValidation": { - "description": "Whether to bypass the safety checks for the job's temporary directory. Use with caution.", + "description": "Optional. Whether to bypass the safety checks for the job's temporary directory. Use with caution.", "type": "boolean" }, "enableStreamingEngine": { - "description": "Whether to enable Streaming Engine for the job.", + "description": "Optional. Whether to enable Streaming Engine for the job.", "type": "boolean" }, "ipConfiguration": { - "description": "Configuration for VM IPs.", + "description": "Optional. Configuration for VM IPs.", "enum": [ "WORKER_IP_UNSPECIFIED", "WORKER_IP_PUBLIC", @@ -5167,49 +5104,49 @@ "type": "string" }, "kmsKeyName": { - "description": "Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/", + "description": "Optional. Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/", "type": "string" }, "machineType": { - "description": "The machine type to use for the job. Defaults to the value from the template if not specified.", + "description": "Optional. The machine type to use for the job. Defaults to the value from the template if not specified.", "type": "string" }, "maxWorkers": { - "description": "The maximum number of Google Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.", + "description": "Optional. The maximum number of Google Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000. The default value is 1.", "format": "int32", "type": "integer" }, "network": { - "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", + "description": "Optional. Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", "type": "string" }, "numWorkers": { - "description": "The initial number of Google Compute Engine instances for the job.", + "description": "Optional. The initial number of Google Compute Engine instances for the job. The default value is 11.", "format": "int32", "type": "integer" }, "serviceAccountEmail": { - "description": "The email address of the service account to run the job as.", + "description": "Optional. The email address of the service account to run the job as.", "type": "string" }, "subnetwork": { - "description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", + "description": "Optional. Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", "type": "string" }, "tempLocation": { - "description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", + "description": "Required. The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", "type": "string" }, "workerRegion": { - "description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.", + "description": "Required. The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.", "type": "string" }, "workerZone": { - "description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", + "description": "Optional. The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", "type": "string" }, "zone": { - "description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", + "description": "Optional. The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", "type": "string" } }, @@ -6629,21 +6566,6 @@ }, "type": "object" }, - "ValidateResponse": { - "description": "Response to the validation request.", - "id": "ValidateResponse", - "properties": { - "errorMessage": { - "description": "Will be empty if validation succeeds.", - "type": "string" - }, - "queryInfo": { - "$ref": "QueryInfo", - "description": "Information about the validated query. Not defined if validation fails." - } - }, - "type": "object" - }, "WorkItem": { "description": "WorkItem represents basic information about a WorkItem to be executed in the cloud.", "id": "WorkItem", diff --git a/dataflow/v1b3/dataflow-gen.go b/dataflow/v1b3/dataflow-gen.go index 4ea691d8a78..a7fdac3abc3 100644 --- a/dataflow/v1b3/dataflow-gen.go +++ b/dataflow/v1b3/dataflow-gen.go @@ -224,7 +224,6 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.FlexTemplates = NewProjectsLocationsFlexTemplatesService(s) rs.Jobs = NewProjectsLocationsJobsService(s) rs.Snapshots = NewProjectsLocationsSnapshotsService(s) - rs.Sql = NewProjectsLocationsSqlService(s) rs.Templates = NewProjectsLocationsTemplatesService(s) return rs } @@ -238,8 +237,6 @@ type ProjectsLocationsService struct { Snapshots *ProjectsLocationsSnapshotsService - Sql *ProjectsLocationsSqlService - Templates *ProjectsLocationsTemplatesService } @@ -330,15 +327,6 @@ type ProjectsLocationsSnapshotsService struct { s *Service } -func NewProjectsLocationsSqlService(s *Service) *ProjectsLocationsSqlService { - rs := &ProjectsLocationsSqlService{s: s} - return rs -} - -type ProjectsLocationsSqlService struct { - s *Service -} - func NewProjectsLocationsTemplatesService(s *Service) *ProjectsLocationsTemplatesService { rs := &ProjectsLocationsTemplatesService{s: s} return rs @@ -3266,10 +3254,12 @@ func (s *JobMetadata) MarshalJSON() ([]byte, error) { // JobMetrics: JobMetrics contains a collection of metrics describing // the detailed progress of a Dataflow job. Metrics correspond to -// user-defined and system-defined metrics in the job. This resource -// captures only the most recent values of each metric; time-series data -// can be queried for them (under the same metric names) from Cloud -// Monitoring. +// user-defined and system-defined metrics in the job. For more +// information, see [Dataflow job metrics] +// (https://cloud.google.com/dataflow/docs/guides/using-monitoring-intf). +// This resource captures only the most recent values of each metric; +// time-series data can be queried for them (under the same metric +// names) from Cloud Monitoring. type JobMetrics struct { // MetricTime: Timestamp as of which metric values are current. MetricTime string `json:"metricTime,omitempty"` @@ -4752,40 +4742,6 @@ func (s *PubsubSnapshotMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QueryInfo: Information about a validated query. -type QueryInfo struct { - // QueryProperty: Includes an entry for each satisfied QueryProperty. - // - // Possible values: - // "QUERY_PROPERTY_UNSPECIFIED" - The query property is unknown or - // unspecified. - // "HAS_UNBOUNDED_SOURCE" - Indicates this query reads from >= 1 - // unbounded source. - QueryProperty []string `json:"queryProperty,omitempty"` - - // ForceSendFields is a list of field names (e.g. "QueryProperty") 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. "QueryProperty") 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 *QueryInfo) MarshalJSON() ([]byte, error) { - type NoMethod QueryInfo - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ReadInstruction: An instruction that reads records. Takes no inputs, // produces one output. type ReadInstruction struct { @@ -5000,27 +4956,27 @@ type ResourceUtilizationReportResponse struct { // RuntimeEnvironment: The environment values to set at runtime. type RuntimeEnvironment struct { - // AdditionalExperiments: Additional experiment flags for the job, - // specified with the `--experiments` option. + // AdditionalExperiments: Optional. Additional experiment flags for the + // job, specified with the `--experiments` option. AdditionalExperiments []string `json:"additionalExperiments,omitempty"` - // AdditionalUserLabels: Additional user labels to be specified for the - // job. Keys and values should follow the restrictions specified in the - // labeling restrictions + // AdditionalUserLabels: Optional. Additional user labels to be + // specified for the job. Keys and values should follow the restrictions + // specified in the labeling restrictions // (https://cloud.google.com/compute/docs/labeling-resources#restrictions) // page. An object containing a list of "key": value pairs. Example: { // "name": "wrench", "mass": "1kg", "count": "3" }. AdditionalUserLabels map[string]string `json:"additionalUserLabels,omitempty"` - // BypassTempDirValidation: Whether to bypass the safety checks for the - // job's temporary directory. Use with caution. + // BypassTempDirValidation: Optional. Whether to bypass the safety + // checks for the job's temporary directory. Use with caution. BypassTempDirValidation bool `json:"bypassTempDirValidation,omitempty"` - // EnableStreamingEngine: Whether to enable Streaming Engine for the - // job. + // EnableStreamingEngine: Optional. Whether to enable Streaming Engine + // for the job. EnableStreamingEngine bool `json:"enableStreamingEngine,omitempty"` - // IpConfiguration: Configuration for VM IPs. + // IpConfiguration: Optional. Configuration for VM IPs. // // Possible values: // "WORKER_IP_UNSPECIFIED" - The configuration is unknown, or @@ -5029,51 +4985,52 @@ type RuntimeEnvironment struct { // "WORKER_IP_PRIVATE" - Workers should have private IP addresses. IpConfiguration string `json:"ipConfiguration,omitempty"` - // KmsKeyName: Name for the Cloud KMS key for the job. Key format is: - // projects//locations//keyRings//cryptoKeys/ + // KmsKeyName: Optional. Name for the Cloud KMS key for the job. Key + // format is: projects//locations//keyRings//cryptoKeys/ KmsKeyName string `json:"kmsKeyName,omitempty"` - // MachineType: The machine type to use for the job. Defaults to the - // value from the template if not specified. + // MachineType: Optional. The machine type to use for the job. Defaults + // to the value from the template if not specified. MachineType string `json:"machineType,omitempty"` - // MaxWorkers: The maximum number of Google Compute Engine instances to - // be made available to your pipeline during execution, from 1 to 1000. + // MaxWorkers: Optional. The maximum number of Google Compute Engine + // instances to be made available to your pipeline during execution, + // from 1 to 1000. The default value is 1. MaxWorkers int64 `json:"maxWorkers,omitempty"` - // Network: Network to which VMs will be assigned. If empty or + // Network: Optional. Network to which VMs will be assigned. If empty or // unspecified, the service will use the network "default". Network string `json:"network,omitempty"` - // NumWorkers: The initial number of Google Compute Engine instances for - // the job. + // NumWorkers: Optional. The initial number of Google Compute Engine + // instances for the job. The default value is 11. NumWorkers int64 `json:"numWorkers,omitempty"` - // ServiceAccountEmail: The email address of the service account to run - // the job as. + // ServiceAccountEmail: Optional. The email address of the service + // account to run the job as. ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` - // Subnetwork: Subnetwork to which VMs will be assigned, if desired. You - // can specify a subnetwork using either a complete URL or an - // abbreviated path. Expected to be of the form + // Subnetwork: Optional. Subnetwork to which VMs will be assigned, if + // desired. You can specify a subnetwork using either a complete URL or + // an abbreviated path. Expected to be of the form // "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/region // s/REGION/subnetworks/SUBNETWORK" or // "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located // in a Shared VPC network, you must use the complete URL. Subnetwork string `json:"subnetwork,omitempty"` - // TempLocation: The Cloud Storage path to use for temporary files. Must - // be a valid Cloud Storage URL, beginning with `gs://`. + // TempLocation: Required. The Cloud Storage path to use for temporary + // files. Must be a valid Cloud Storage URL, beginning with `gs://`. TempLocation string `json:"tempLocation,omitempty"` - // WorkerRegion: The Compute Engine region + // WorkerRegion: Required. The Compute Engine region // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) // in which worker processing should occur, e.g. "us-west1". Mutually // exclusive with worker_zone. If neither worker_region nor worker_zone // is specified, default to the control plane's region. WorkerRegion string `json:"workerRegion,omitempty"` - // WorkerZone: The Compute Engine zone + // WorkerZone: Optional. The Compute Engine zone // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) // in which worker processing should occur, e.g. "us-west1-a". Mutually // exclusive with worker_region. If neither worker_region nor @@ -5082,7 +5039,7 @@ type RuntimeEnvironment struct { // are set, `worker_zone` takes precedence. WorkerZone string `json:"workerZone,omitempty"` - // Zone: The Compute Engine availability zone + // Zone: Optional. The Compute Engine availability zone // (https://cloud.google.com/compute/docs/regions-zones/regions-zones) // for launching worker instances to run your pipeline. In the future, // worker_zone will take precedence. @@ -7314,42 +7271,6 @@ func (s *TransformSummary) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ValidateResponse: Response to the validation request. -type ValidateResponse struct { - // ErrorMessage: Will be empty if validation succeeds. - ErrorMessage string `json:"errorMessage,omitempty"` - - // QueryInfo: Information about the validated query. Not defined if - // validation fails. - QueryInfo *QueryInfo `json:"queryInfo,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "ErrorMessage") 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. "ErrorMessage") 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 *ValidateResponse) MarshalJSON() ([]byte, error) { - type NoMethod ValidateResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // WorkItem: WorkItem represents basic information about a WorkItem to // be executed in the cloud. type WorkItem struct { @@ -14926,180 +14847,6 @@ func (c *ProjectsLocationsSnapshotsListCall) Do(opts ...googleapi.CallOption) (* } -// method id "dataflow.projects.locations.sql.validate": - -type ProjectsLocationsSqlValidateCall struct { - s *Service - projectId string - location string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Validate: Validates a GoogleSQL query for Cloud Dataflow syntax. Will -// always confirm the given query parses correctly, and if able to look -// up schema information from DataCatalog, will validate that the query -// analyzes properly as well. -// -// - location: The [regional endpoint] -// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) -// to which to direct the request. -// - projectId: The ID of the Cloud Platform project that the job -// belongs to. -func (r *ProjectsLocationsSqlService) Validate(projectId string, location string) *ProjectsLocationsSqlValidateCall { - c := &ProjectsLocationsSqlValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.projectId = projectId - c.location = location - return c -} - -// Query sets the optional parameter "query": The sql query to validate. -func (c *ProjectsLocationsSqlValidateCall) Query(query string) *ProjectsLocationsSqlValidateCall { - c.urlParams_.Set("query", query) - 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 *ProjectsLocationsSqlValidateCall) Fields(s ...googleapi.Field) *ProjectsLocationsSqlValidateCall { - 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 *ProjectsLocationsSqlValidateCall) IfNoneMatch(entityTag string) *ProjectsLocationsSqlValidateCall { - 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 *ProjectsLocationsSqlValidateCall) Context(ctx context.Context) *ProjectsLocationsSqlValidateCall { - 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 *ProjectsLocationsSqlValidateCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsSqlValidateCall) 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, "v1b3/projects/{projectId}/locations/{location}/sql:validate") - 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{ - "projectId": c.projectId, - "location": c.location, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "dataflow.projects.locations.sql.validate" call. -// Exactly one of *ValidateResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ValidateResponse.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 *ProjectsLocationsSqlValidateCall) Do(opts ...googleapi.CallOption) (*ValidateResponse, 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 := &ValidateResponse{ - 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": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always confirm the given query parses correctly, and if able to look up schema information from DataCatalog, will validate that the query analyzes properly as well.", - // "flatPath": "v1b3/projects/{projectId}/locations/{location}/sql:validate", - // "httpMethod": "GET", - // "id": "dataflow.projects.locations.sql.validate", - // "parameterOrder": [ - // "projectId", - // "location" - // ], - // "parameters": { - // "location": { - // "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "projectId": { - // "description": "Required. The ID of the Cloud Platform project that the job belongs to.", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "query": { - // "description": "The sql query to validate.", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v1b3/projects/{projectId}/locations/{location}/sql:validate", - // "response": { - // "$ref": "ValidateResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/userinfo.email" - // ] - // } - -} - // method id "dataflow.projects.locations.templates.create": type ProjectsLocationsTemplatesCreateCall struct { diff --git a/gmail/v1/gmail-api.json b/gmail/v1/gmail-api.json index 17cc4bd0102..a507529de74 100644 --- a/gmail/v1/gmail-api.json +++ b/gmail/v1/gmail-api.json @@ -1184,7 +1184,7 @@ ] }, "send": { - "description": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers.", + "description": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For example usage, see [Sending email](https://developers.google.com/gmail/api/guides/sending).", "flatPath": "gmail/v1/users/{userId}/messages/send", "httpMethod": "POST", "id": "gmail.users.messages.send", @@ -3077,7 +3077,7 @@ } } }, - "revision": "20230116", + "revision": "20230123", "rootUrl": "https://gmail.googleapis.com/", "schemas": { "AutoForwarding": { diff --git a/gmail/v1/gmail-gen.go b/gmail/v1/gmail-gen.go index 7c4b04fd3ef..94c72ddf130 100644 --- a/gmail/v1/gmail-gen.go +++ b/gmail/v1/gmail-gen.go @@ -6956,7 +6956,8 @@ type UsersMessagesSendCall struct { } // Send: Sends the specified message to the recipients in the `To`, -// `Cc`, and `Bcc` headers. +// `Cc`, and `Bcc` headers. For example usage, see Sending email +// (https://developers.google.com/gmail/api/guides/sending). // // - userId: The user's email address. The special value `me` can be // used to indicate the authenticated user. @@ -7125,7 +7126,7 @@ func (c *UsersMessagesSendCall) Do(opts ...googleapi.CallOption) (*Message, erro } return ret, nil // { - // "description": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers.", + // "description": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For example usage, see [Sending email](https://developers.google.com/gmail/api/guides/sending).", // "flatPath": "gmail/v1/users/{userId}/messages/send", // "httpMethod": "POST", // "id": "gmail.users.messages.send", diff --git a/logging/v2/logging-api.json b/logging/v2/logging-api.json index dbe2b63fbbc..368044dbef8 100644 --- a/logging/v2/logging-api.json +++ b/logging/v2/logging-api.json @@ -6007,7 +6007,7 @@ } } }, - "revision": "20221230", + "revision": "20230120", "rootUrl": "https://logging.googleapis.com/", "schemas": { "BigQueryOptions": { @@ -6060,7 +6060,7 @@ "type": "string" }, "kmsKeyVersionName": { - "description": "The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1\"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.", + "description": "The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1\"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.", "type": "string" }, "name": { @@ -6443,7 +6443,7 @@ "type": "array" }, "resourceNames": { - "description": "Required. Names of one or more parent resources from which to retrieve log entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]Projects listed in the project_ids field are added to this list.", + "description": "Required. Names of one or more parent resources from which to retrieve log entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]Projects listed in the project_ids field are added to this list. A maximum of 100 resources may be specified in a single request.", "items": { "type": "string" }, diff --git a/logging/v2/logging-gen.go b/logging/v2/logging-gen.go index e64dba1d31b..9808406d85d 100644 --- a/logging/v2/logging-gen.go +++ b/logging/v2/logging-gen.go @@ -859,7 +859,8 @@ type CmekSettings struct { // yptoKeys/my-key/cryptoKeyVersions/1"This is a read-only field used to // convey the specific configured CryptoKeyVersion of kms_key that has // been configured. It will be populated in cases where the CMEK - // settings are bound to a single key version. + // settings are bound to a single key version.If this field is + // populated, the kms_key is tied to a specific CryptoKeyVersion. KmsKeyVersionName string `json:"kmsKeyVersionName,omitempty"` // Name: Output only. The resource name of the CMEK settings. @@ -1532,7 +1533,8 @@ type ListLogEntriesRequest struct { // BUCKET_ID]/views/[VIEW_ID] // folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/ // [VIEW_ID]Projects listed in the project_ids field are added to this - // list. + // list. A maximum of 100 resources may be specified in a single + // request. ResourceNames []string `json:"resourceNames,omitempty"` // ForceSendFields is a list of field names (e.g. "Filter") to diff --git a/memcache/v1/memcache-api.json b/memcache/v1/memcache-api.json index e1b6db98886..b251c18698a 100644 --- a/memcache/v1/memcache-api.json +++ b/memcache/v1/memcache-api.json @@ -556,7 +556,7 @@ } } }, - "revision": "20230103", + "revision": "20230111", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -741,6 +741,7 @@ "type": "object" }, "GoogleCloudSaasacceleratorManagementProvidersV1Instance": { + "description": "Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project-number=123456, producer-project-id=cloud-sql: ```json Instance: { \"name\": \"projects/123456/locations/us-east1/instances/prod-instance\", \"create_time\": { \"seconds\": 1526406431, }, \"labels\": { \"env\": \"prod\", \"foo\": \"bar\" }, \"state\": READY, \"software_versions\": { \"software_update\": \"cloud-sql-09-28-2018\", }, \"maintenance_policy_names\": { \"UpdatePolicy\": \"projects/123456/locations/us-east1/maintenancePolicies/prod-update-policy\", } \"tenant_project_id\": \"cloud-sql-test-tenant\", \"producer_metadata\": { \"cloud-sql-tier\": \"basic\", \"cloud-sql-instance-size\": \"1G\", }, \"provisioned_resources\": [ { \"resource-type\": \"compute-instance\", \"resource-url\": \"https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1\", } ], \"maintenance_schedules\": { \"csa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, }, \"ncsa_rollout\": { \"start_time\": { \"seconds\": 1526406431, }, \"end_time\": { \"seconds\": 1535406431, }, } }, \"consumer_defined_name\": \"my-sql-instance1\", } ``` LINT.IfChange", "id": "GoogleCloudSaasacceleratorManagementProvidersV1Instance", "properties": { "consumerDefinedName": { @@ -768,7 +769,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Deprecated. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the referenced policy must define the same policy type. For complete details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug.", + "description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the referenced policy must define the same policy type. For details, please refer to go/cloud-saas-mw-ug. Should not be set if maintenance_settings.maintenance_policies is set.", "type": "object" }, "maintenanceSchedules": { @@ -908,7 +909,7 @@ "additionalProperties": { "$ref": "MaintenancePolicy" }, - "description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the embedded policy must define the same policy type. For complete details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug. If only the name is needed, then only populate MaintenancePolicy.name.", + "description": "Optional. The MaintenancePolicies that have been attached to the instance. The key must be of the type name of the oneof policy name defined in MaintenancePolicy, and the embedded policy must define the same policy type. For details, please refer to go/cloud-saas-mw-ug. Should not be set if maintenance_policy_names is set. If only the name is needed, then only populate MaintenancePolicy.name.", "type": "object" } }, diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go index e306ed12ac8..4048757545a 100644 --- a/memcache/v1/memcache-gen.go +++ b/memcache/v1/memcache-gen.go @@ -486,6 +486,27 @@ func (s *GoogleCloudMemcacheV1OperationMetadata) MarshalJSON() ([]byte, error) { type GoogleCloudMemcacheV1ZoneMetadata struct { } +// GoogleCloudSaasacceleratorManagementProvidersV1Instance: Instance +// represents the interface for SLM services to actuate the state of +// control plane resources. Example Instance in JSON, where +// consumer-project-number=123456, producer-project-id=cloud-sql: +// ```json Instance: { "name": +// "projects/123456/locations/us-east1/instances/prod-instance", +// "create_time": { "seconds": 1526406431, }, "labels": { "env": "prod", +// "foo": "bar" }, "state": READY, "software_versions": { +// "software_update": "cloud-sql-09-28-2018", }, +// "maintenance_policy_names": { "UpdatePolicy": +// "projects/123456/locations/us-east1/maintenancePolicies/prod-update-po +// licy", } "tenant_project_id": "cloud-sql-test-tenant", +// "producer_metadata": { "cloud-sql-tier": "basic", +// "cloud-sql-instance-size": "1G", }, "provisioned_resources": [ { +// "resource-type": "compute-instance", "resource-url": +// "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-eas +// t1-b/instances/vm-1", } ], "maintenance_schedules": { "csa_rollout": +// { "start_time": { "seconds": 1526406431, }, "end_time": { "seconds": +// 1535406431, }, }, "ncsa_rollout": { "start_time": { "seconds": +// 1526406431, }, "end_time": { "seconds": 1535406431, }, } }, +// "consumer_defined_name": "my-sql-instance1", } ``` LINT.IfChange type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { // ConsumerDefinedName: consumer_defined_name is the name that is set by // the consumer. On the other hand Name field represents system-assigned @@ -511,11 +532,12 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { // value are arbitrary strings provided by the user. Labels map[string]string `json:"labels,omitempty"` - // MaintenancePolicyNames: Optional. Deprecated. The MaintenancePolicies - // that have been attached to the instance. The key must be of the type - // name of the oneof policy name defined in MaintenancePolicy, and the - // referenced policy must define the same policy type. For complete - // details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug. + // MaintenancePolicyNames: Optional. The MaintenancePolicies that have + // been attached to the instance. The key must be of the type name of + // the oneof policy name defined in MaintenancePolicy, and the + // referenced policy must define the same policy type. For details, + // please refer to go/cloud-saas-mw-ug. Should not be set if + // maintenance_settings.maintenance_policies is set. MaintenancePolicyNames map[string]string `json:"maintenancePolicyNames,omitempty"` // MaintenanceSchedules: The MaintenanceSchedule contains the scheduling @@ -682,9 +704,10 @@ type GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings struct { // MaintenancePolicies: Optional. The MaintenancePolicies that have been // attached to the instance. The key must be of the type name of the // oneof policy name defined in MaintenancePolicy, and the embedded - // policy must define the same policy type. For complete details of - // MaintenancePolicy, please refer to go/cloud-saas-mw-ug. If only the - // name is needed, then only populate MaintenancePolicy.name. + // policy must define the same policy type. For details, please refer to + // go/cloud-saas-mw-ug. Should not be set if maintenance_policy_names is + // set. If only the name is needed, then only populate + // MaintenancePolicy.name. MaintenancePolicies map[string]MaintenancePolicy `json:"maintenancePolicies,omitempty"` // ForceSendFields is a list of field names (e.g. "Exclude") to diff --git a/mybusinesslodging/v1/mybusinesslodging-api.json b/mybusinesslodging/v1/mybusinesslodging-api.json index e9bd518a698..2c606b354d4 100644 --- a/mybusinesslodging/v1/mybusinesslodging-api.json +++ b/mybusinesslodging/v1/mybusinesslodging-api.json @@ -171,7 +171,7 @@ ], "parameters": { "name": { - "description": "Required. Google identifier for this location in the form: `accounts/{account_id}/locations/{location_id}/lodging`", + "description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", "location": "path", "pattern": "^locations/[^/]+/lodging$", "required": true, @@ -194,7 +194,7 @@ } } }, - "revision": "20221201", + "revision": "20230124", "rootUrl": "https://mybusinesslodging.googleapis.com/", "schemas": { "Accessibility": { diff --git a/mybusinesslodging/v1/mybusinesslodging-gen.go b/mybusinesslodging/v1/mybusinesslodging-gen.go index c9ffa575422..03e74c3c25e 100644 --- a/mybusinesslodging/v1/mybusinesslodging-gen.go +++ b/mybusinesslodging/v1/mybusinesslodging-gen.go @@ -6883,7 +6883,7 @@ type LocationsLodgingGetGoogleUpdatedCall struct { // location. // // - name: Google identifier for this location in the form: -// `accounts/{account_id}/locations/{location_id}/lodging`. +// `locations/{location_id}/lodging`. func (r *LocationsLodgingService) GetGoogleUpdated(nameid string) *LocationsLodgingGetGoogleUpdatedCall { c := &LocationsLodgingGetGoogleUpdatedCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.nameid = nameid @@ -7006,7 +7006,7 @@ func (c *LocationsLodgingGetGoogleUpdatedCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "name": { - // "description": "Required. Google identifier for this location in the form: `accounts/{account_id}/locations/{location_id}/lodging`", + // "description": "Required. Google identifier for this location in the form: `locations/{location_id}/lodging`", // "location": "path", // "pattern": "^locations/[^/]+/lodging$", // "required": true, diff --git a/notebooks/v1/notebooks-api.json b/notebooks/v1/notebooks-api.json index 45a3dd74764..68dff491a49 100644 --- a/notebooks/v1/notebooks-api.json +++ b/notebooks/v1/notebooks-api.json @@ -395,7 +395,7 @@ ], "parameters": { "filter": { - "description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified schedule_id. Format: `schedule_id=`", + "description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified `schedule_id`. Format: `schedule_id=`", "location": "query", "type": "string" }, @@ -738,6 +738,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "reportEvent": { + "description": "Reports and processes an instance event.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reportEvent", + "httpMethod": "POST", + "id": "notebooks.projects.locations.instances.reportEvent", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reportEvent", + "request": { + "$ref": "ReportInstanceEventRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "reset": { "description": "Resets a notebook instance.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reset", @@ -1467,7 +1495,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout - software_config.disable_terminal", + "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - `software_config.kernels` - `software_config.post_startup_script` - `software_config.custom_gpu_driver_path` - `software_config.idle_shutdown` - `software_config.idle_shutdown_timeout` - `software_config.disable_terminal` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1904,11 +1932,11 @@ } } }, - "revision": "20221213", + "revision": "20230124", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { - "description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. Check [GPUs on Compute Engine](/compute/docs/gpus/#gpus-list) to find a valid combination. TPUs are not supported.", + "description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. Check [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination. TPUs are not supported.", "id": "AcceleratorConfig", "properties": { "coreCount": { @@ -1960,7 +1988,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.", "items": { "type": "string" }, @@ -2073,7 +2101,7 @@ "type": "boolean" }, "deviceName": { - "description": "Indicates a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine.This field is only applicable for persistent disks.", + "description": "Indicates a unique device name of your choice that is reflected into the `/dev/disk/by-id/google-*` tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine.This field is only applicable for persistent disks.", "type": "string" }, "diskSizeGb": { @@ -2094,7 +2122,7 @@ "type": "string" }, "interface": { - "description": "Indicates the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * NVME * SCSI", + "description": "Indicates the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI`", "type": "string" }, "kind": { @@ -2109,7 +2137,7 @@ "type": "array" }, "mode": { - "description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. Valid values: * READ_ONLY * READ_WRITE", + "description": "The mode in which to attach this disk, either `READ_WRITE` or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`", "type": "string" }, "source": { @@ -2117,7 +2145,7 @@ "type": "string" }, "type": { - "description": "Indicates the type of the disk, either SCRATCH or PERSISTENT. Valid values: * PERSISTENT * SCRATCH", + "description": "Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`. Valid values: * `PERSISTENT` * `SCRATCH`", "type": "string" } }, @@ -2450,7 +2478,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options. Valid values: * FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS", + "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options. Valid values: * `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`", "type": "string" } }, @@ -2462,7 +2490,7 @@ "properties": { "acceleratorConfig": { "$ref": "AcceleratorConfig", - "description": "The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](/compute/docs/gpus/#gpus-list)." + "description": "The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list)." }, "bootDiskSizeGb": { "description": "Input only. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.", @@ -2578,7 +2606,7 @@ "type": "object" }, "machineType": { - "description": "Required. The [Compute Engine machine type](/compute/docs/machine-types) of this instance.", + "description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) of this instance.", "type": "string" }, "metadata": { @@ -2819,7 +2847,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", + "description": "Locations that could not be reached. For example, `['us-west1-a', 'us-central1-b']`. A ListInstancesResponse will only contain either instances or unreachables,", "items": { "type": "string" }, @@ -2880,7 +2908,7 @@ "type": "array" }, "unreachable": { - "description": "Locations that could not be reached. For example, ['us-west1', 'us-central1']. A ListRuntimesResponse will only contain either runtimes or unreachables,", + "description": "Locations that could not be reached. For example, `['us-west1', 'us-central1']`. A ListRuntimesResponse will only contain either runtimes or unreachables,", "items": { "type": "string" }, @@ -2929,7 +2957,7 @@ "type": "boolean" }, "deviceName": { - "description": "Optional. Output only. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", + "description": "Optional. Output only. Specifies a unique device name of your choice that is reflected into the `/dev/disk/by-id/google-*` tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", "readOnly": true, "type": "string" }, @@ -2952,7 +2980,7 @@ "description": "Input only. Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * NVME * SCSI", + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI`", "type": "string" }, "kind": { @@ -2969,7 +2997,7 @@ "type": "array" }, "mode": { - "description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. Valid values: * READ_ONLY * READ_WRITE", + "description": "The mode in which to attach this disk, either `READ_WRITE` or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE`", "type": "string" }, "source": { @@ -2977,7 +3005,7 @@ "type": "string" }, "type": { - "description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT. Valid values: * PERSISTENT * SCRATCH", + "description": "Specifies the type of the disk, either `SCRATCH` or `PERSISTENT`. If not specified, the default is `PERSISTENT`. Valid values: * `PERSISTENT` * `SCRATCH`", "type": "string" } }, @@ -3201,6 +3229,21 @@ }, "type": "object" }, + "ReportInstanceEventRequest": { + "description": "Request for reporting a Managed Notebook Event.", + "id": "ReportInstanceEventRequest", + "properties": { + "event": { + "$ref": "Event", + "description": "Required. The Event to be reported." + }, + "vmId": { + "description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", + "type": "string" + } + }, + "type": "object" + }, "ReportInstanceInfoRequest": { "description": "Request for notebook instances to report information to Notebooks API.", "id": "ReportInstanceInfoRequest", @@ -3290,7 +3333,7 @@ "id": "RollbackInstanceRequest", "properties": { "targetSnapshot": { - "description": "Required. The snapshot for rollback. Example: \"projects/test-project/global/snapshots/krwlzipynril\".", + "description": "Required. The snapshot for rollback. Example: `projects/test-project/global/snapshots/krwlzipynril`.", "type": "string" } }, @@ -3329,6 +3372,13 @@ "readOnly": true, "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this Managed Notebook or Runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", + "type": "object" + }, "metrics": { "$ref": "RuntimeMetrics", "description": "Output only. Contains Runtime daemon metrics such as Service status and JupyterLab stats.", @@ -3462,7 +3512,7 @@ "id": "RuntimeGuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Valid values: * FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS", + "description": "The ID of a supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Valid values: * `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS`", "type": "string" } }, @@ -3584,7 +3634,7 @@ "type": "string" }, "cronSchedule": { - "description": "Cron-tab formatted schedule by which the job will execute. Format: minute, hour, day of month, month, day of week, e.g. 0 0 * * WED = every Wednesday More examples: https://crontab.guru/examples.html", + "description": "Cron-tab formatted schedule by which the job will execute. Format: minute, hour, day of month, month, day of week, e.g. `0 0 * * WED` = every Wednesday More examples: https://crontab.guru/examples.html", "type": "string" }, "description": { @@ -3592,7 +3642,7 @@ "type": "string" }, "displayName": { - "description": "Output only. Display name used for UI purposes. Name can only contain alphanumeric characters, hyphens '-', and underscores '_'.", + "description": "Output only. Display name used for UI purposes. Name can only contain alphanumeric characters, hyphens `-`, and underscores `_`.", "readOnly": true, "type": "string" }, @@ -3766,7 +3816,7 @@ "type": "object" }, "ShieldedInstanceConfig": { - "description": "A set of Shielded Instance options. Check [Images using supported Shielded VM features] Not all combinations are valid.", + "description": "A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid.", "id": "ShieldedInstanceConfig", "properties": { "enableIntegrityMonitoring": { @@ -4000,7 +4050,7 @@ "type": "string" }, "targetImage": { - "description": "Target VM Image. Format: ainotebooks-vm/project/image-name/name.", + "description": "Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.", "type": "string" }, "targetVersion": { @@ -4091,11 +4141,11 @@ "additionalProperties": { "type": "string" }, - "description": "Environment variables. At most 100 environment variables can be specified and unique. Example: GCP_BUCKET=gs://my-bucket/samples/", + "description": "Environment variables. At most 100 environment variables can be specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/`", "type": "object" }, "network": { - "description": "The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.", + "description": "The full name of the Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is a network name. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.", "type": "string" } }, diff --git a/notebooks/v1/notebooks-gen.go b/notebooks/v1/notebooks-gen.go index 837149cf9cf..749e4f75395 100644 --- a/notebooks/v1/notebooks-gen.go +++ b/notebooks/v1/notebooks-gen.go @@ -232,8 +232,9 @@ type ProjectsLocationsSchedulesService struct { // AcceleratorConfig: Definition of a hardware accelerator. Note that // not all combinations of `type` and `core_count` are valid. Check GPUs -// on Compute Engine (/compute/docs/gpus/#gpus-list) to find a valid -// combination. TPUs are not supported. +// on Compute Engine +// (https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a +// valid combination. TPUs are not supported. type AcceleratorConfig struct { // CoreCount: Count of cores of this accelerator. CoreCount int64 `json:"coreCount,omitempty,string"` @@ -310,7 +311,9 @@ type Binding struct { // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. // * `group:{emailid}`: An email address that represents a Google group. - // For example, `admins@example.com`. * + // For example, `admins@example.com`. * `domain:{domain}`: The G Suite + // domain (primary) that represents all the users of that domain. For + // example, `google.com` or `example.com`. * // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus // unique identifier) representing a user that has been recently // deleted. For example, `alice@example.com?uid=123456789012345678901`. @@ -327,9 +330,7 @@ type Binding struct { // that has been recently deleted. For example, // `admins@example.com?uid=123456789012345678901`. If the group is // recovered, this value reverts to `group:{emailid}` and the recovered - // group retains the role in the binding. * `domain:{domain}`: The G - // Suite domain (primary) that represents all the users of that domain. - // For example, `google.com` or `example.com`. + // group retains the role in the binding. Members []string `json:"members,omitempty"` // Role: Role that is assigned to the list of `members`, or principals. @@ -563,13 +564,13 @@ type Disk struct { Boot bool `json:"boot,omitempty"` // DeviceName: Indicates a unique device name of your choice that is - // reflected into the /dev/disk/by-id/google-* tree of a Linux operating - // system running within the instance. This name can be used to - // reference the device for mounting, resizing, and so on, from within - // the instance. If not specified, the server chooses a default device - // name to apply to this disk, in the form persistent-disk-x, where x is - // a number assigned by Google Compute Engine.This field is only - // applicable for persistent disks. + // reflected into the `/dev/disk/by-id/google-*` tree of a Linux + // operating system running within the instance. This name can be used + // to reference the device for mounting, resizing, and so on, from + // within the instance. If not specified, the server chooses a default + // device name to apply to this disk, in the form persistent-disk-x, + // where x is a number assigned by Google Compute Engine.This field is + // only applicable for persistent disks. DeviceName string `json:"deviceName,omitempty"` // DiskSizeGb: Indicates the size of the disk in base-2 GB. @@ -590,7 +591,7 @@ type Disk struct { // disks must always use SCSI and the request will fail if you attempt // to attach a persistent disk in any other format than SCSI. Local SSDs // can use either NVME or SCSI. For performance characteristics of SCSI - // over NVMe, see Local SSD performance. Valid values: * NVME * SCSI + // over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI` Interface string `json:"interface,omitempty"` // Kind: Type of the resource. Always compute#attachedDisk for attached @@ -602,17 +603,17 @@ type Disk struct { // and marketplace images. Licenses []string `json:"licenses,omitempty"` - // Mode: The mode in which to attach this disk, either READ_WRITE or - // READ_ONLY. If not specified, the default is to attach the disk in - // READ_WRITE mode. Valid values: * READ_ONLY * READ_WRITE + // Mode: The mode in which to attach this disk, either `READ_WRITE` or + // `READ_ONLY`. If not specified, the default is to attach the disk in + // `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE` Mode string `json:"mode,omitempty"` // Source: Indicates a valid partial or full URL to an existing // Persistent Disk resource. Source string `json:"source,omitempty"` - // Type: Indicates the type of the disk, either SCRATCH or PERSISTENT. - // Valid values: * PERSISTENT * SCRATCH + // Type: Indicates the type of the disk, either `SCRATCH` or + // `PERSISTENT`. Valid values: * `PERSISTENT` * `SCRATCH` Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoDelete") to @@ -1121,8 +1122,8 @@ func (s *GetInstanceHealthResponse) MarshalJSON() ([]byte, error) { type GuestOsFeature struct { // Type: The ID of a supported feature. Read Enabling guest operating // system features to see a list of available options. Valid values: * - // FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * - // UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS + // `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * + // `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS` Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to @@ -1153,7 +1154,7 @@ type Instance struct { // AcceleratorConfig: The hardware accelerator used on this instance. If // you use accelerators, make sure that your configuration has enough // vCPUs and memory to support the `machine_type` you have selected - // (/compute/docs/gpus/#gpus-list). + // (https://cloud.google.com/compute/docs/gpus/#gpus-list). AcceleratorConfig *AcceleratorConfig `json:"acceleratorConfig,omitempty"` // BootDiskSizeGb: Input only. The size of the boot disk in GB attached @@ -1247,7 +1248,8 @@ type Instance struct { Labels map[string]string `json:"labels,omitempty"` // MachineType: Required. The Compute Engine machine type - // (/compute/docs/machine-types) of this instance. + // (https://cloud.google.com/compute/docs/machine-types) of this + // instance. MachineType string `json:"machineType,omitempty"` // Metadata: Custom metadata to apply to this instance. @@ -1558,7 +1560,7 @@ type ListInstancesResponse struct { NextPageToken string `json:"nextPageToken,omitempty"` // Unreachable: Locations that could not be reached. For example, - // ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only + // `['us-west1-a', 'us-central1-b']`. A ListInstancesResponse will only // contain either instances or unreachables, Unreachable []string `json:"unreachable,omitempty"` @@ -1673,8 +1675,8 @@ type ListRuntimesResponse struct { Runtimes []*Runtime `json:"runtimes,omitempty"` // Unreachable: Locations that could not be reached. For example, - // ['us-west1', 'us-central1']. A ListRuntimesResponse will only contain - // either runtimes or unreachables, + // `['us-west1', 'us-central1']`. A ListRuntimesResponse will only + // contain either runtimes or unreachables, Unreachable []string `json:"unreachable,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1760,11 +1762,11 @@ type LocalDisk struct { Boot bool `json:"boot,omitempty"` // DeviceName: Optional. Output only. Specifies a unique device name of - // your choice that is reflected into the /dev/disk/by-id/google-* tree - // of a Linux operating system running within the instance. This name - // can be used to reference the device for mounting, resizing, and so - // on, from within the instance. If not specified, the server chooses a - // default device name to apply to this disk, in the form + // your choice that is reflected into the `/dev/disk/by-id/google-*` + // tree of a Linux operating system running within the instance. This + // name can be used to reference the device for mounting, resizing, and + // so on, from within the instance. If not specified, the server chooses + // a default device name to apply to this disk, in the form // persistent-disk-x, where x is a number assigned by Google Compute // Engine. This field is only applicable for persistent disks. DeviceName string `json:"deviceName,omitempty"` @@ -1792,7 +1794,7 @@ type LocalDisk struct { // disks must always use SCSI and the request will fail if you attempt // to attach a persistent disk in any other format than SCSI. Local SSDs // can use either NVME or SCSI. For performance characteristics of SCSI - // over NVMe, see Local SSD performance. Valid values: * NVME * SCSI + // over NVMe, see Local SSD performance. Valid values: * `NVME` * `SCSI` Interface string `json:"interface,omitempty"` // Kind: Output only. Type of the resource. Always compute#attachedDisk @@ -1802,18 +1804,18 @@ type LocalDisk struct { // Licenses: Output only. Any valid publicly visible licenses. Licenses []string `json:"licenses,omitempty"` - // Mode: The mode in which to attach this disk, either READ_WRITE or - // READ_ONLY. If not specified, the default is to attach the disk in - // READ_WRITE mode. Valid values: * READ_ONLY * READ_WRITE + // Mode: The mode in which to attach this disk, either `READ_WRITE` or + // `READ_ONLY`. If not specified, the default is to attach the disk in + // `READ_WRITE` mode. Valid values: * `READ_ONLY` * `READ_WRITE` Mode string `json:"mode,omitempty"` // Source: Specifies a valid partial or full URL to an existing // Persistent Disk resource. Source string `json:"source,omitempty"` - // Type: Specifies the type of the disk, either SCRATCH or PERSISTENT. - // If not specified, the default is PERSISTENT. Valid values: * - // PERSISTENT * SCRATCH + // Type: Specifies the type of the disk, either `SCRATCH` or + // `PERSISTENT`. If not specified, the default is `PERSISTENT`. Valid + // values: * `PERSISTENT` * `SCRATCH` Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoDelete") to @@ -2268,6 +2270,39 @@ func (s *RegisterInstanceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReportInstanceEventRequest: Request for reporting a Managed Notebook +// Event. +type ReportInstanceEventRequest struct { + // Event: Required. The Event to be reported. + Event *Event `json:"event,omitempty"` + + // VmId: Required. The VM hardware token for authenticating the VM. + // https://cloud.google.com/compute/docs/instances/verifying-instance-identity + VmId string `json:"vmId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Event") 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. "Event") 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 *ReportInstanceEventRequest) MarshalJSON() ([]byte, error) { + type NoMethod ReportInstanceEventRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ReportInstanceInfoRequest: Request for notebook instances to report // information to Notebooks API. type ReportInstanceInfoRequest struct { @@ -2416,7 +2451,7 @@ func (s *ResetRuntimeRequest) MarshalJSON() ([]byte, error) { // RollbackInstanceRequest: Request for rollbacking a notebook instance type RollbackInstanceRequest struct { // TargetSnapshot: Required. The snapshot for rollback. Example: - // "projects/test-project/global/snapshots/krwlzipynril". + // `projects/test-project/global/snapshots/krwlzipynril`. TargetSnapshot string `json:"targetSnapshot,omitempty"` // ForceSendFields is a list of field names (e.g. "TargetSnapshot") to @@ -2465,6 +2500,15 @@ type Runtime struct { // running. Applies to ACTIVE state. HealthState string `json:"healthState,omitempty"` + // Labels: Optional. The labels to associate with this Managed Notebook + // or Runtime. Label **keys** must contain 1 to 63 characters, and must + // conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label + // **values** may be empty, but, if present, must contain 1 to 63 + // characters, and must conform to RFC 1035 + // (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be + // associated with a cluster. + Labels map[string]string `json:"labels,omitempty"` + // Metrics: Output only. Contains Runtime daemon metrics such as Service // status and JupyterLab stats. Metrics *RuntimeMetrics `json:"metrics,omitempty"` @@ -2637,8 +2681,8 @@ type RuntimeGuestOsFeature struct { // system features // (https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) // to see a list of available options. Valid values: * - // FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * - // UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS + // `FEATURE_TYPE_UNSPECIFIED` * `MULTI_IP_SUBNET` * `SECURE_BOOT` * + // `UEFI_COMPATIBLE` * `VIRTIO_SCSI_MULTIQUEUE` * `WINDOWS` Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to @@ -2836,7 +2880,7 @@ type Schedule struct { // CronSchedule: Cron-tab formatted schedule by which the job will // execute. Format: minute, hour, day of month, month, day of week, e.g. - // 0 0 * * WED = every Wednesday More examples: + // `0 0 * * WED` = every Wednesday More examples: // https://crontab.guru/examples.html CronSchedule string `json:"cronSchedule,omitempty"` @@ -2844,8 +2888,8 @@ type Schedule struct { Description string `json:"description,omitempty"` // DisplayName: Output only. Display name used for UI purposes. Name can - // only contain alphanumeric characters, hyphens '-', and underscores - // '_'. + // only contain alphanumeric characters, hyphens `-`, and underscores + // `_`. DisplayName string `json:"displayName,omitempty"` // ExecutionTemplate: Notebook Execution Template corresponding to this @@ -3105,8 +3149,9 @@ func (s *SetInstanceMachineTypeRequest) MarshalJSON() ([]byte, error) { } // ShieldedInstanceConfig: A set of Shielded Instance options. Check -// [Images using supported Shielded VM features] Not all combinations -// are valid. +// Images using supported Shielded VM features +// (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). +// Not all combinations are valid. type ShieldedInstanceConfig struct { // EnableIntegrityMonitoring: Defines whether the instance has integrity // monitoring enabled. Enables monitoring and attestation of the boot @@ -3523,7 +3568,7 @@ type UpgradeHistoryEntry struct { State string `json:"state,omitempty"` // TargetImage: Target VM Image. Format: - // ainotebooks-vm/project/image-name/name. + // `ainotebooks-vm/project/image-name/name`. TargetImage string `json:"targetImage,omitempty"` // TargetVersion: Target VM Version, like m63. @@ -3669,16 +3714,16 @@ func (s *UpgradeRuntimeRequest) MarshalJSON() ([]byte, error) { // VertexAIParameters: Parameters used in Vertex AI JobType executions. type VertexAIParameters struct { // Env: Environment variables. At most 100 environment variables can be - // specified and unique. Example: GCP_BUCKET=gs://my-bucket/samples/ + // specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/` Env map[string]string `json:"env,omitempty"` // Network: The full name of the Compute Engine network - // (/compute/docs/networks-and-firewalls#networks) to which the Job - // should be peered. For example, + // (https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + // to which the Job should be peered. For example, // `projects/12345/global/networks/myVPC`. Format // (https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert) // is of the form `projects/{project}/global/networks/{network}`. Where - // {project} is a project number, as in `12345`, and {network} is a + // `{project}` is a project number, as in `12345`, and `{network}` is a // network name. Private services access must already be configured for // the network. If left unspecified, the job is not peered with any // network. @@ -5359,7 +5404,7 @@ func (r *ProjectsLocationsExecutionsService) List(parent string) *ProjectsLocati // Filter sets the optional parameter "filter": Filter applied to // resulting executions. Currently only supports filtering executions by -// a specified schedule_id. Format: `schedule_id=` +// a specified `schedule_id`. Format: `schedule_id=` func (c *ProjectsLocationsExecutionsListCall) Filter(filter string) *ProjectsLocationsExecutionsListCall { c.urlParams_.Set("filter", filter) return c @@ -5494,7 +5539,7 @@ func (c *ProjectsLocationsExecutionsListCall) Do(opts ...googleapi.CallOption) ( // ], // "parameters": { // "filter": { - // "description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified schedule_id. Format: `schedule_id=`", + // "description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified `schedule_id`. Format: `schedule_id=`", // "location": "query", // "type": "string" // }, @@ -7121,6 +7166,149 @@ func (c *ProjectsLocationsInstancesReportCall) Do(opts ...googleapi.CallOption) } +// method id "notebooks.projects.locations.instances.reportEvent": + +type ProjectsLocationsInstancesReportEventCall struct { + s *Service + name string + reportinstanceeventrequest *ReportInstanceEventRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ReportEvent: Reports and processes an instance event. +// +// - name: Format: +// `projects/{project_id}/locations/{location}/instances/{instance_id}`. +func (r *ProjectsLocationsInstancesService) ReportEvent(name string, reportinstanceeventrequest *ReportInstanceEventRequest) *ProjectsLocationsInstancesReportEventCall { + c := &ProjectsLocationsInstancesReportEventCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.reportinstanceeventrequest = reportinstanceeventrequest + 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 *ProjectsLocationsInstancesReportEventCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesReportEventCall { + 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 *ProjectsLocationsInstancesReportEventCall) Context(ctx context.Context) *ProjectsLocationsInstancesReportEventCall { + 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 *ProjectsLocationsInstancesReportEventCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesReportEventCall) 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.reportinstanceeventrequest) + 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}:reportEvent") + 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 "notebooks.projects.locations.instances.reportEvent" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesReportEventCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Reports and processes an instance event.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reportEvent", + // "httpMethod": "POST", + // "id": "notebooks.projects.locations.instances.reportEvent", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:reportEvent", + // "request": { + // "$ref": "ReportInstanceEventRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "notebooks.projects.locations.instances.reset": type ProjectsLocationsInstancesResetCall struct { @@ -10792,11 +10980,12 @@ func (c *ProjectsLocationsRuntimesPatchCall) RequestId(requestId string) *Projec // the new value, as follows: { "software_config":{ "kernels": [{ // 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', // 'tag': 'latest' }], } } Currently, only the following fields can be -// updated: - software_config.kernels - -// software_config.post_startup_script - -// software_config.custom_gpu_driver_path - -// software_config.idle_shutdown - software_config.idle_shutdown_timeout -// - software_config.disable_terminal +// updated: - `software_config.kernels` - +// `software_config.post_startup_script` - +// `software_config.custom_gpu_driver_path` - +// `software_config.idle_shutdown` - +// `software_config.idle_shutdown_timeout` - +// `software_config.disable_terminal` - `labels` func (c *ProjectsLocationsRuntimesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRuntimesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c @@ -10914,7 +11103,7 @@ func (c *ProjectsLocationsRuntimesPatchCall) Do(opts ...googleapi.CallOption) (* // "type": "string" // }, // "updateMask": { - // "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout - software_config.disable_terminal", + // "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - `software_config.kernels` - `software_config.post_startup_script` - `software_config.custom_gpu_driver_path` - `software_config.idle_shutdown` - `software_config.idle_shutdown_timeout` - `software_config.disable_terminal` - `labels`", // "format": "google-fieldmask", // "location": "query", // "type": "string" diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index 811fd3611a5..9fd39c1e435 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -533,7 +533,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -561,7 +561,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -786,7 +786,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -814,7 +814,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -842,7 +842,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -1067,6 +1067,222 @@ } } }, + "models": { + "methods": { + "create": { + "description": "Creates a new model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.models.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dryRun": { + "description": "Optional. Whether to run a dry run to validate the request (without actually creating the model).", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The parent resource under which to create the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/models", + "request": { + "$ref": "GoogleCloudRetailV2Model" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", + "httpMethod": "DELETE", + "id": "retail.projects.locations.catalogs.models.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Model to delete. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the models linked to this event store.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", + "httpMethod": "GET", + "id": "retail.projects.locations.catalogs.models.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListModels` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent for which to list models. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/models", + "response": { + "$ref": "GoogleCloudRetailV2ListModelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", + "httpMethod": "PATCH", + "id": "retail.projects.locations.catalogs.models.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2Model" + }, + "response": { + "$ref": "GoogleCloudRetailV2Model" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "pause": { + "description": "Pauses the training of an existing model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:pause", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.models.pause", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the model to pause. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:pause", + "request": { + "$ref": "GoogleCloudRetailV2PauseModelRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2Model" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resumes the training of an existing model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:resume", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.models.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the model to resume. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:resume", + "request": { + "$ref": "GoogleCloudRetailV2ResumeModelRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2Model" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "tune": { + "description": "Tunes an existing model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:tune", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.models.tune", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the model to tune. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:tune", + "request": { + "$ref": "GoogleCloudRetailV2TuneModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "get": { @@ -1785,7 +2001,7 @@ } } }, - "revision": "20230117", + "revision": "20230119", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2523,6 +2739,17 @@ }, "type": "object" }, + "GoogleCloudRetailV2CreateModelMetadata": { + "description": "Metadata associated with a create operation.", + "id": "GoogleCloudRetailV2CreateModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2CustomAttribute": { "description": "A custom attribute that is not explicitly modeled in Product.", "id": "GoogleCloudRetailV2CustomAttribute", @@ -2553,6 +2780,36 @@ }, "type": "object" }, + "GoogleCloudRetailV2ExperimentInfo": { + "description": "Metadata for active A/B testing Experiments.", + "id": "GoogleCloudRetailV2ExperimentInfo", + "properties": { + "experimentName": { + "description": "The fully qualified resource name of the experiment that provides the serving config under test, should an active experiment exist. For example: `projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id`", + "type": "string" + }, + "servingConfigExperiment": { + "$ref": "GoogleCloudRetailV2ExperimentInfoServingConfigExperiment", + "description": "A/B test between existing Cloud Retail Search ServingConfigs." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2ExperimentInfoServingConfigExperiment": { + "description": "Metadata for active serving config A/B tests.", + "id": "GoogleCloudRetailV2ExperimentInfoServingConfigExperiment", + "properties": { + "experimentServingConfig": { + "description": "The fully qualified resource name of the serving config VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + }, + "originalServingConfig": { + "description": "The fully qualified resource name of the original SearchRequest.placement in the search request prior to reassignment by experiment API. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2FulfillmentInfo": { "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", "id": "GoogleCloudRetailV2FulfillmentInfo", @@ -2865,6 +3122,24 @@ }, "type": "object" }, + "GoogleCloudRetailV2ListModelsResponse": { + "description": "Response to a ListModelRequest.", + "id": "GoogleCloudRetailV2ListModelsResponse", + "properties": { + "models": { + "description": "List of Models.", + "items": { + "$ref": "GoogleCloudRetailV2Model" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token, if not returned indicates the last page.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2ListProductsResponse": { "description": "Response message for ProductService.ListProducts method.", "id": "GoogleCloudRetailV2ListProductsResponse", @@ -2930,6 +3205,156 @@ }, "type": "object" }, + "GoogleCloudRetailV2Model": { + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", + "id": "GoogleCloudRetailV2Model", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Recommendation Model was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataState": { + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "enum": [ + "DATA_STATE_UNSPECIFIED", + "DATA_OK", + "DATA_ERROR" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has sufficient training data.", + "The model does not have sufficient training data. Error messages can be queried via Stackdriver." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "type": "string" + }, + "filteringOption": { + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", + "enum": [ + "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", + "RECOMMENDATIONS_FILTERING_DISABLED", + "RECOMMENDATIONS_FILTERING_ENABLED" + ], + "enumDescriptions": [ + "Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", + "Recommendation filtering is disabled.", + "Recommendation filtering is enabled." + ], + "type": "string" + }, + "lastTuneTime": { + "description": "Output only. The timestamp when the latest successful tune finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "type": "string" + }, + "optimizationObjective": { + "description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` =\u003e `ctr` `others-you-may-like` =\u003e `ctr` `frequently-bought-together` =\u003e `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "periodicTuningState": { + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", + "enum": [ + "PERIODIC_TUNING_STATE_UNSPECIFIED", + "PERIODIC_TUNING_DISABLED", + "ALL_TUNING_DISABLED", + "PERIODIC_TUNING_ENABLED" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." + ], + "type": "string" + }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2ModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, + "servingState": { + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", + "enum": [ + "SERVING_STATE_UNSPECIFIED", + "INACTIVE", + "ACTIVE", + "TUNED" + ], + "enumDescriptions": [ + "Unspecified serving state.", + "The model is not serving.", + "The model is serving and can be queried.", + "The model is trained on tuned hyperparameters and can be queried." + ], + "readOnly": true, + "type": "string" + }, + "trainingState": { + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", + "enum": [ + "TRAINING_STATE_UNSPECIFIED", + "PAUSED", + "TRAINING" + ], + "enumDescriptions": [ + "Unspecified training state.", + "The model training is paused.", + "The model is training." + ], + "type": "string" + }, + "tuningOperation": { + "description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2ModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", + "id": "GoogleCloudRetailV2ModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2PauseModelRequest": { + "description": "Request for pausing training of a model.", + "id": "GoogleCloudRetailV2PauseModelRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2PredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2PredictRequest", @@ -3608,6 +4033,12 @@ }, "type": "object" }, + "GoogleCloudRetailV2ResumeModelRequest": { + "description": "Request for resuming training of a model.", + "id": "GoogleCloudRetailV2ResumeModelRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2Rule": { "description": "A rule is a condition-action pair * A condition defines when a rule is to be triggered. * An action specifies what occurs on that trigger. Currently rules only work for controls with SOLUTION_TYPE_SEARCH.", "id": "GoogleCloudRetailV2Rule", @@ -4129,6 +4560,13 @@ "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", "type": "string" }, + "experimentInfo": { + "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "items": { + "$ref": "GoogleCloudRetailV2ExperimentInfo" + }, + "type": "array" + }, "facets": { "description": "Results of facets requested by user.", "items": { @@ -4469,6 +4907,29 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2TuneModelMetadata": { + "description": "Metadata associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2TuneModelRequest": { + "description": "Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).", + "id": "GoogleCloudRetailV2TuneModelRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2TuneModelResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEvent": { "description": "UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.", "id": "GoogleCloudRetailV2UserEvent", diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index 76659d54d56..a74450dc0af 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -173,6 +173,7 @@ func NewProjectsLocationsCatalogsService(s *Service) *ProjectsLocationsCatalogsS rs.Branches = NewProjectsLocationsCatalogsBranchesService(s) rs.CompletionData = NewProjectsLocationsCatalogsCompletionDataService(s) rs.Controls = NewProjectsLocationsCatalogsControlsService(s) + rs.Models = NewProjectsLocationsCatalogsModelsService(s) rs.Operations = NewProjectsLocationsCatalogsOperationsService(s) rs.Placements = NewProjectsLocationsCatalogsPlacementsService(s) rs.ServingConfigs = NewProjectsLocationsCatalogsServingConfigsService(s) @@ -191,6 +192,8 @@ type ProjectsLocationsCatalogsService struct { Controls *ProjectsLocationsCatalogsControlsService + Models *ProjectsLocationsCatalogsModelsService + Operations *ProjectsLocationsCatalogsOperationsService Placements *ProjectsLocationsCatalogsPlacementsService @@ -260,6 +263,15 @@ type ProjectsLocationsCatalogsControlsService struct { s *Service } +func NewProjectsLocationsCatalogsModelsService(s *Service) *ProjectsLocationsCatalogsModelsService { + rs := &ProjectsLocationsCatalogsModelsService{s: s} + return rs +} + +type ProjectsLocationsCatalogsModelsService struct { + s *Service +} + func NewProjectsLocationsCatalogsOperationsService(s *Service) *ProjectsLocationsCatalogsOperationsService { rs := &ProjectsLocationsCatalogsOperationsService{s: s} return rs @@ -1671,6 +1683,38 @@ func (s *GoogleCloudRetailV2Control) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2CreateModelMetadata: Metadata associated with a +// create operation. +type GoogleCloudRetailV2CreateModelMetadata struct { + // Model: The resource name of the model that this create applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2CreateModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2CreateModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2CustomAttribute: A custom attribute that is not // explicitly modeled in Product. type GoogleCloudRetailV2CustomAttribute struct { @@ -1732,6 +1776,84 @@ func (s *GoogleCloudRetailV2CustomAttribute) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2ExperimentInfo: Metadata for active A/B testing +// Experiments. +type GoogleCloudRetailV2ExperimentInfo struct { + // ExperimentName: The fully qualified resource name of the experiment + // that provides the serving config under test, should an active + // experiment exist. For example: + // `projects/*/locations/global/catalogs/default_catalog/experiments/expe + // riment_id` + ExperimentName string `json:"experimentName,omitempty"` + + // ServingConfigExperiment: A/B test between existing Cloud Retail + // Search ServingConfigs. + ServingConfigExperiment *GoogleCloudRetailV2ExperimentInfoServingConfigExperiment `json:"servingConfigExperiment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExperimentName") 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. "ExperimentName") 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 *GoogleCloudRetailV2ExperimentInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ExperimentInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2ExperimentInfoServingConfigExperiment: Metadata +// for active serving config A/B tests. +type GoogleCloudRetailV2ExperimentInfoServingConfigExperiment struct { + // ExperimentServingConfig: The fully qualified resource name of the + // serving config VariantArm.serving_config_id responsible for + // generating the search response. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + ExperimentServingConfig string `json:"experimentServingConfig,omitempty"` + + // OriginalServingConfig: The fully qualified resource name of the + // original SearchRequest.placement in the search request prior to + // reassignment by experiment API. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + OriginalServingConfig string `json:"originalServingConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ExperimentServingConfig") 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. "ExperimentServingConfig") + // 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 *GoogleCloudRetailV2ExperimentInfoServingConfigExperiment) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ExperimentInfoServingConfigExperiment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2FulfillmentInfo: Fulfillment information, such as // the store IDs for in-store pickup or region IDs for different // shipping methods. @@ -2368,6 +2490,43 @@ func (s *GoogleCloudRetailV2ListControlsResponse) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2ListModelsResponse: Response to a +// ListModelRequest. +type GoogleCloudRetailV2ListModelsResponse struct { + // Models: List of Models. + Models []*GoogleCloudRetailV2Model `json:"models,omitempty"` + + // NextPageToken: Pagination token, if not returned indicates the last + // page. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Models") 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. "Models") 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 *GoogleCloudRetailV2ListModelsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ListModelsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2ListProductsResponse: Response message for // ProductService.ListProducts method. type GoogleCloudRetailV2ListProductsResponse struct { @@ -2502,104 +2661,308 @@ func (s *GoogleCloudRetailV2LocalInventory) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudRetailV2PredictRequest: Request message for Predict -// method. -type GoogleCloudRetailV2PredictRequest struct { - // Filter: Filter for restricting prediction results with a length limit - // of 5,000 characters. Accepts values for tags and the - // `filterOutOfStockItems` flag. * Tag expressions. Restricts - // predictions to products that match all of the specified tags. Boolean - // operators `OR` and `NOT` are supported if the expression is enclosed - // in parentheses, and must be separated from the tag values by a space. - // `-"tagA" is also supported and is equivalent to `NOT "tagA". Tag - // values must be double quoted UTF-8 encoded strings with a size limit - // of 1,000 characters. Note: "Recently viewed" models don't support tag - // filtering at the moment. * filterOutOfStockItems. Restricts - // predictions to products that do not have a stockState value of - // OUT_OF_STOCK. Examples: * tag=("Red" OR "Blue") tag="New-Arrival" - // tag=(NOT "promotional") * filterOutOfStockItems tag=(-"promotional") - // * filterOutOfStockItems If your filter blocks all prediction results, - // the API will return *no* results. If instead you want empty result - // sets to return generic (unfiltered) popular products, set - // `strictFiltering` to False in `PredictRequest.params`. Note that the - // API will never return items with storageStatus of "EXPIRED" or - // "DELETED" regardless of filter choices. If `filterSyntaxV2` is set to - // true under the `params` field, then attribute-based expressions are - // expected instead of the above described tag-based syntax. Examples: * - // (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) * - // (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR - // categories: ANY("Phones")) - Filter string `json:"filter,omitempty"` +// GoogleCloudRetailV2Model: Metadata that describes the training and +// serving parameters of a Model. A Model can be associated with a +// ServingConfig and then queried through the Predict API. +type GoogleCloudRetailV2Model struct { + // CreateTime: Output only. Timestamp the Recommendation Model was + // created at. + CreateTime string `json:"createTime,omitempty"` - // Labels: The labels applied to a resource must meet the following - // requirements: * Each resource can have multiple labels, up to a - // maximum of 64. * Each label must be a key-value pair. * Keys have a - // minimum length of 1 character and a maximum length of 63 characters - // and cannot be empty. Values can be empty and have a maximum length of - // 63 characters. * Keys and values can contain only lowercase letters, - // numeric characters, underscores, and dashes. All characters must use - // UTF-8 encoding, and international characters are allowed. * The key - // portion of a label must be unique. However, you can use the same key - // with multiple resources. * Keys must start with a lowercase letter or - // international character. See Google Cloud Document - // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) - // for more details. - Labels map[string]string `json:"labels,omitempty"` + // DataState: Output only. The state of data requirements for this + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. + // + // Possible values: + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never + // be explicitly set. + // "DATA_OK" - The model has sufficient training data. + // "DATA_ERROR" - The model does not have sufficient training data. + // Error messages can be queried via Stackdriver. + DataState string `json:"dataState,omitempty"` - // PageSize: Maximum number of results to return. Set this property to - // the number of prediction results needed. If zero, the service will - // choose a reasonable default. The maximum allowed value is 100. Values - // above 100 will be coerced to 100. - PageSize int64 `json:"pageSize,omitempty"` + // DisplayName: Required. The display name of the model. Should be human + // readable, used to display Recommendation Models in the Retail Cloud + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. + DisplayName string `json:"displayName,omitempty"` - // PageToken: This field is not used; leave it unset. - PageToken string `json:"pageToken,omitempty"` + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, + // recommendation filtering by attributes is enabled for the model. + // + // Possible values: + // "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED" - Value used when + // unset. In this case, server behavior defaults to + // RECOMMENDATIONS_FILTERING_DISABLED. + // "RECOMMENDATIONS_FILTERING_DISABLED" - Recommendation filtering is + // disabled. + // "RECOMMENDATIONS_FILTERING_ENABLED" - Recommendation filtering is + // enabled. + FilteringOption string `json:"filteringOption,omitempty"` - // Params: Additional domain specific parameters for the predictions. - // Allowed values: * `returnProduct`: Boolean. If set to true, the - // associated product object will be returned in the `results.metadata` - // field in the prediction response. * `returnScore`: Boolean. If set to - // true, the prediction 'score' corresponding to each returned product - // will be set in the `results.metadata` field in the prediction - // response. The given 'score' indicates the probability of a product - // being clicked/purchased given the user's context and history. * - // `strictFiltering`: Boolean. True by default. If set to false, the - // service will return generic (unfiltered) popular products instead of - // empty if your filter blocks all prediction results. * - // `priceRerankLevel`: String. Default empty. If set to be non-empty, - // then it needs to be one of {'no-price-reranking', - // 'low-price-reranking', 'medium-price-reranking', - // 'high-price-reranking'}. This gives request-level control and adjusts - // prediction results based on product price. * `diversityLevel`: - // String. Default empty. If set to be non-empty, then it needs to be - // one of {'no-diversity', 'low-diversity', 'medium-diversity', - // 'high-diversity', 'auto-diversity'}. This gives request-level control - // and adjusts prediction results based on product category. * - // `filterSyntaxV2`: Boolean. False by default. If set to true, the - // `filter` field is interpreteted according to the new, attribute-based - // syntax. - Params googleapi.RawMessage `json:"params,omitempty"` + // LastTuneTime: Output only. The timestamp when the latest successful + // tune finished. + LastTuneTime string `json:"lastTuneTime,omitempty"` - // UserEvent: Required. Context about the user, what they are looking at - // and what action they took to trigger the predict request. Note that - // this user event detail won't be ingested to userEvent logs. Thus, a - // separate userEvent write request is required for event logging. Don't - // set UserEvent.visitor_id or UserInfo.user_id to the same fixed ID for - // different users. If you are trying to receive non-personalized - // recommendations (not recommended; this can negatively impact model - // performance), instead set UserEvent.visitor_id to a random unique ID - // and leave UserInfo.user_id unset. - UserEvent *GoogleCloudRetailV2UserEvent `json:"userEvent,omitempty"` + // Name: Required. The fully qualified resource name of the model. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. + // recommendation_model_id has char limit of 40. + Name string `json:"name,omitempty"` - // ValidateOnly: Use validate only mode for this prediction query. If - // set to true, a dummy model will be used that returns arbitrary - // products. Note that the validate only mode should only be used for - // testing the API, or if the model is not ready. - ValidateOnly bool `json:"validateOnly,omitempty"` + // OptimizationObjective: Optional. The optimization objective e.g. + // `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. + // If not specified, we choose default based on model type. Default + // depends on type of recommendation: `recommended-for-you` => `ctr` + // `others-you-may-like` => `ctr` `frequently-bought-together` => + // `revenue_per_order` This field together with optimization_objective + // describe model metadata to use to control model training and serving. + // See https://cloud.google.com/retail/docs/models for more details on + // what the model metadata control and which combination of parameters + // are valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + OptimizationObjective string `json:"optimizationObjective,omitempty"` - // ForceSendFields is a list of field names (e.g. "Filter") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any + // PeriodicTuningState: Optional. The state of periodic tuning. The + // period we use is 3 months - to do a one-off tune earlier use the + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. + // + // Possible values: + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, + // should never be explicitly set. + // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning + // disabled. Tuning can be reenabled by calling the + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. + // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic + // tuning OR the `TuneModel` method. Hide the options in customer UI and + // reject any requests through the backend self serve API. + // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` + // method. + PeriodicTuningState string `json:"periodicTuningState,omitempty"` + + // ServingConfigLists: Output only. The list of valid serving configs + // associated with the PageOptimizationConfig. + ServingConfigLists []*GoogleCloudRetailV2ModelServingConfigList `json:"servingConfigLists,omitempty"` + + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. + // + // Possible values: + // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. + // "INACTIVE" - The model is not serving. + // "ACTIVE" - The model is serving and can be queried. + // "TUNED" - The model is trained on tuned hyperparameters and can be + // queried. + ServingState string `json:"servingState,omitempty"` + + // TrainingState: Optional. The training state that the model is in + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the + // service is frequency of training - this can be used to determine when + // to train model in order to control cost. If not specified: the + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. + // + // Possible values: + // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. + // "PAUSED" - The model training is paused. + // "TRAINING" - The model is training. + TrainingState string `json:"trainingState,omitempty"` + + // TuningOperation: Output only. The tune operation associated with the + // model. Can be used to determine if there is an ongoing tune for this + // recommendation. Empty field implies no tune is goig on. + TuningOperation string `json:"tuningOperation,omitempty"` + + // Type: Required. The type of model e.g. `home-page`. Currently + // supported values: `recommended-for-you`, `others-you-may-like`, + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly + // value). This field together with optimization_objective describe + // model metadata to use to control model training and serving. See + // https://cloud.google.com/retail/docs/models for more details on what + // the model metadata control and which combination of parameters are + // valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + Type string `json:"type,omitempty"` + + // UpdateTime: Output only. Timestamp the Recommendation Model was last + // updated. E.g. if a Recommendation Model was paused - this would be + // the time the pause was initiated. + UpdateTime string `json:"updateTime,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 *GoogleCloudRetailV2Model) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2Model + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2ModelServingConfigList: Represents an ordered +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. +type GoogleCloudRetailV2ModelServingConfigList struct { + // ServingConfigIds: Optional. A set of valid serving configs that may + // be used for `PAGE_OPTIMIZATION`. + ServingConfigIds []string `json:"servingConfigIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ServingConfigIds") 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. "ServingConfigIds") 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 *GoogleCloudRetailV2ModelServingConfigList) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ModelServingConfigList + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2PauseModelRequest: Request for pausing training of +// a model. +type GoogleCloudRetailV2PauseModelRequest struct { +} + +// GoogleCloudRetailV2PredictRequest: Request message for Predict +// method. +type GoogleCloudRetailV2PredictRequest struct { + // Filter: Filter for restricting prediction results with a length limit + // of 5,000 characters. Accepts values for tags and the + // `filterOutOfStockItems` flag. * Tag expressions. Restricts + // predictions to products that match all of the specified tags. Boolean + // operators `OR` and `NOT` are supported if the expression is enclosed + // in parentheses, and must be separated from the tag values by a space. + // `-"tagA" is also supported and is equivalent to `NOT "tagA". Tag + // values must be double quoted UTF-8 encoded strings with a size limit + // of 1,000 characters. Note: "Recently viewed" models don't support tag + // filtering at the moment. * filterOutOfStockItems. Restricts + // predictions to products that do not have a stockState value of + // OUT_OF_STOCK. Examples: * tag=("Red" OR "Blue") tag="New-Arrival" + // tag=(NOT "promotional") * filterOutOfStockItems tag=(-"promotional") + // * filterOutOfStockItems If your filter blocks all prediction results, + // the API will return *no* results. If instead you want empty result + // sets to return generic (unfiltered) popular products, set + // `strictFiltering` to False in `PredictRequest.params`. Note that the + // API will never return items with storageStatus of "EXPIRED" or + // "DELETED" regardless of filter choices. If `filterSyntaxV2` is set to + // true under the `params` field, then attribute-based expressions are + // expected instead of the above described tag-based syntax. Examples: * + // (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) * + // (availability: ANY("IN_STOCK")) AND (colors: ANY("Red") OR + // categories: ANY("Phones")) + Filter string `json:"filter,omitempty"` + + // Labels: The labels applied to a resource must meet the following + // requirements: * Each resource can have multiple labels, up to a + // maximum of 64. * Each label must be a key-value pair. * Keys have a + // minimum length of 1 character and a maximum length of 63 characters + // and cannot be empty. Values can be empty and have a maximum length of + // 63 characters. * Keys and values can contain only lowercase letters, + // numeric characters, underscores, and dashes. All characters must use + // UTF-8 encoding, and international characters are allowed. * The key + // portion of a label must be unique. However, you can use the same key + // with multiple resources. * Keys must start with a lowercase letter or + // international character. See Google Cloud Document + // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) + // for more details. + Labels map[string]string `json:"labels,omitempty"` + + // PageSize: Maximum number of results to return. Set this property to + // the number of prediction results needed. If zero, the service will + // choose a reasonable default. The maximum allowed value is 100. Values + // above 100 will be coerced to 100. + PageSize int64 `json:"pageSize,omitempty"` + + // PageToken: This field is not used; leave it unset. + PageToken string `json:"pageToken,omitempty"` + + // Params: Additional domain specific parameters for the predictions. + // Allowed values: * `returnProduct`: Boolean. If set to true, the + // associated product object will be returned in the `results.metadata` + // field in the prediction response. * `returnScore`: Boolean. If set to + // true, the prediction 'score' corresponding to each returned product + // will be set in the `results.metadata` field in the prediction + // response. The given 'score' indicates the probability of a product + // being clicked/purchased given the user's context and history. * + // `strictFiltering`: Boolean. True by default. If set to false, the + // service will return generic (unfiltered) popular products instead of + // empty if your filter blocks all prediction results. * + // `priceRerankLevel`: String. Default empty. If set to be non-empty, + // then it needs to be one of {'no-price-reranking', + // 'low-price-reranking', 'medium-price-reranking', + // 'high-price-reranking'}. This gives request-level control and adjusts + // prediction results based on product price. * `diversityLevel`: + // String. Default empty. If set to be non-empty, then it needs to be + // one of {'no-diversity', 'low-diversity', 'medium-diversity', + // 'high-diversity', 'auto-diversity'}. This gives request-level control + // and adjusts prediction results based on product category. * + // `filterSyntaxV2`: Boolean. False by default. If set to true, the + // `filter` field is interpreteted according to the new, attribute-based + // syntax. + Params googleapi.RawMessage `json:"params,omitempty"` + + // UserEvent: Required. Context about the user, what they are looking at + // and what action they took to trigger the predict request. Note that + // this user event detail won't be ingested to userEvent logs. Thus, a + // separate userEvent write request is required for event logging. Don't + // set UserEvent.visitor_id or UserInfo.user_id to the same fixed ID for + // different users. If you are trying to receive non-personalized + // recommendations (not recommended; this can negatively impact model + // performance), instead set UserEvent.visitor_id to a random unique ID + // and leave UserInfo.user_id unset. + UserEvent *GoogleCloudRetailV2UserEvent `json:"userEvent,omitempty"` + + // ValidateOnly: Use validate only mode for this prediction query. If + // set to true, a dummy model will be used that returns arbitrary + // products. Note that the validate only mode should only be used for + // testing the API, or if the model is not ready. + ValidateOnly bool `json:"validateOnly,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Filter") 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. @@ -3900,6 +4263,11 @@ func (s *GoogleCloudRetailV2ReplaceCatalogAttributeRequest) MarshalJSON() ([]byt return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2ResumeModelRequest: Request for resuming training +// of a model. +type GoogleCloudRetailV2ResumeModelRequest struct { +} + // GoogleCloudRetailV2Rule: A rule is a condition-action pair * A // condition defines when a rule is to be triggered. * An action // specifies what occurs on that trigger. Currently rules only work for @@ -4950,6 +5318,10 @@ type GoogleCloudRetailV2SearchResponse struct { // on corrected_query. Otherwise the original query is used for search. CorrectedQuery string `json:"correctedQuery,omitempty"` + // ExperimentInfo: Metadata related to A/B testing Experiment associated + // with this response. Only exists when an experiment is triggered. + ExperimentInfo []*GoogleCloudRetailV2ExperimentInfo `json:"experimentInfo,omitempty"` + // Facets: Results of facets requested by user. Facets []*GoogleCloudRetailV2SearchResponseFacet `json:"facets,omitempty"` @@ -5532,31 +5904,74 @@ func (s *GoogleCloudRetailV2SetInventoryRequest) MarshalJSON() ([]byte, error) { type GoogleCloudRetailV2SetInventoryResponse struct { } -// GoogleCloudRetailV2UserEvent: UserEvent captures all metadata -// information Retail API needs to know about how end users interact -// with customers' website. -type GoogleCloudRetailV2UserEvent struct { - // Attributes: Extra user event features to include in the - // recommendation model. If you provide custom attributes for ingested - // user events, also include them in the user events that you associate - // with prediction requests. Custom attribute formatting must be - // consistent between imported events and events provided with - // prediction requests. This lets the Retail API use those custom - // attributes when training models and serving predictions, which helps - // improve recommendation quality. This field needs to pass all below - // criteria, otherwise an INVALID_ARGUMENT error is returned: * The key - // must be a UTF-8 encoded string with a length limit of 5,000 - // characters. * For text attributes, at most 400 values are allowed. - // Empty values are not allowed. Each value must be a UTF-8 encoded - // string with a length limit of 256 characters. * For number - // attributes, at most 400 values are allowed. For product - // recommendations, an example of extra user information is - // traffic_channel, which is how a user arrives at the site. Users can - // arrive at the site by coming to the site directly, coming through - // Google search, or in other ways. - Attributes map[string]GoogleCloudRetailV2CustomAttribute `json:"attributes,omitempty"` +// GoogleCloudRetailV2TuneModelMetadata: Metadata associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelMetadata struct { + // Model: The resource name of the model that this tune applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` - // AttributionToken: Highly recommended for user events that are the + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2TuneModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2TuneModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2TuneModelRequest: Request to manually start a +// tuning process now (instead of waiting for the periodically scheduled +// tuning to happen). +type GoogleCloudRetailV2TuneModelRequest struct { +} + +// GoogleCloudRetailV2TuneModelResponse: Response associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelResponse struct { +} + +// GoogleCloudRetailV2UserEvent: UserEvent captures all metadata +// information Retail API needs to know about how end users interact +// with customers' website. +type GoogleCloudRetailV2UserEvent struct { + // Attributes: Extra user event features to include in the + // recommendation model. If you provide custom attributes for ingested + // user events, also include them in the user events that you associate + // with prediction requests. Custom attribute formatting must be + // consistent between imported events and events provided with + // prediction requests. This lets the Retail API use those custom + // attributes when training models and serving predictions, which helps + // improve recommendation quality. This field needs to pass all below + // criteria, otherwise an INVALID_ARGUMENT error is returned: * The key + // must be a UTF-8 encoded string with a length limit of 5,000 + // characters. * For text attributes, at most 400 values are allowed. + // Empty values are not allowed. Each value must be a UTF-8 encoded + // string with a length limit of 256 characters. * For number + // attributes, at most 400 values are allowed. For product + // recommendations, an example of extra user information is + // traffic_channel, which is how a user arrives at the site. Users can + // arrive at the site by coming to the site directly, coming through + // Google search, or in other ways. + Attributes map[string]GoogleCloudRetailV2CustomAttribute `json:"attributes,omitempty"` + + // AttributionToken: Highly recommended for user events that are the // result of PredictionService.Predict. This field enables accurate // attribution of recommendation model performance. The value must be a // valid PredictResponse.attribution_token for user events that are the @@ -10321,9 +10736,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10428,7 +10841,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -10482,9 +10895,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10589,7 +11000,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -11664,9 +12075,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11771,7 +12180,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -11823,9 +12232,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11930,7 +12337,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -11995,9 +12402,7 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // obsolete after one day, and the GetOperation API returns `NOT_FOUND` // afterwards. If conflicting updates are issued, the Operations // associated with the stale updates are not marked as done until they -// are obsolete. This feature is only available for users who have -// Retail Search enabled. Enable Retail Search on Cloud Console before -// using this feature. +// are obsolete. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12100,7 +12505,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -13092,6 +13497,1087 @@ func (c *ProjectsLocationsCatalogsControlsPatchCall) Do(opts ...googleapi.CallOp } +// method id "retail.projects.locations.catalogs.models.create": + +type ProjectsLocationsCatalogsModelsCreateCall struct { + s *Service + parent string + googlecloudretailv2model *GoogleCloudRetailV2Model + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new model. +// +// - parent: The parent resource under which to create the model. +// Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}`. +func (r *ProjectsLocationsCatalogsModelsService) Create(parent string, googlecloudretailv2model *GoogleCloudRetailV2Model) *ProjectsLocationsCatalogsModelsCreateCall { + c := &ProjectsLocationsCatalogsModelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudretailv2model = googlecloudretailv2model + return c +} + +// DryRun sets the optional parameter "dryRun": Whether to run a dry run +// to validate the request (without actually creating the model). +func (c *ProjectsLocationsCatalogsModelsCreateCall) DryRun(dryRun bool) *ProjectsLocationsCatalogsModelsCreateCall { + c.urlParams_.Set("dryRun", fmt.Sprint(dryRun)) + 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 *ProjectsLocationsCatalogsModelsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsCreateCall { + 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 *ProjectsLocationsCatalogsModelsCreateCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsCreateCall { + 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 *ProjectsLocationsCatalogsModelsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsCreateCall) 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.googlecloudretailv2model) + 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, "v2/{+parent}/models") + 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 "retail.projects.locations.catalogs.models.create" 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 *ProjectsLocationsCatalogsModelsCreateCall) 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": "Creates a new model.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", + // "httpMethod": "POST", + // "id": "retail.projects.locations.catalogs.models.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "dryRun": { + // "description": "Optional. Whether to run a dry run to validate the request (without actually creating the model).", + // "location": "query", + // "type": "boolean" + // }, + // "parent": { + // "description": "Required. The parent resource under which to create the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/models", + // "request": { + // "$ref": "GoogleCloudRetailV2Model" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "retail.projects.locations.catalogs.models.delete": + +type ProjectsLocationsCatalogsModelsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an existing model. +// +// - name: The resource name of the Model to delete. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}`. +func (r *ProjectsLocationsCatalogsModelsService) Delete(name string) *ProjectsLocationsCatalogsModelsDeleteCall { + c := &ProjectsLocationsCatalogsModelsDeleteCall{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 *ProjectsLocationsCatalogsModelsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsDeleteCall { + 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 *ProjectsLocationsCatalogsModelsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsDeleteCall { + 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 *ProjectsLocationsCatalogsModelsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsDeleteCall) 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 + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", 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 "retail.projects.locations.catalogs.models.delete" call. +// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.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 *ProjectsLocationsCatalogsModelsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, 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 := &GoogleProtobufEmpty{ + 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": "Deletes an existing model.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", + // "httpMethod": "DELETE", + // "id": "retail.projects.locations.catalogs.models.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the Model to delete. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "GoogleProtobufEmpty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "retail.projects.locations.catalogs.models.list": + +type ProjectsLocationsCatalogsModelsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the models linked to this event store. +// +// - parent: The parent for which to list models. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}`. +func (r *ProjectsLocationsCatalogsModelsService) List(parent string) *ProjectsLocationsCatalogsModelsListCall { + c := &ProjectsLocationsCatalogsModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// results to return. If unspecified, defaults to 50. Max allowed value +// is 1000. +func (c *ProjectsLocationsCatalogsModelsListCall) PageSize(pageSize int64) *ProjectsLocationsCatalogsModelsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, +// received from a previous `ListModels` call. Provide this to retrieve +// the subsequent page. +func (c *ProjectsLocationsCatalogsModelsListCall) PageToken(pageToken string) *ProjectsLocationsCatalogsModelsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsCatalogsModelsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsListCall { + 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 *ProjectsLocationsCatalogsModelsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCatalogsModelsListCall { + 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 *ProjectsLocationsCatalogsModelsListCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsListCall { + 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 *ProjectsLocationsCatalogsModelsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsListCall) 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, "v2/{+parent}/models") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "retail.projects.locations.catalogs.models.list" call. +// Exactly one of *GoogleCloudRetailV2ListModelsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleCloudRetailV2ListModelsResponse.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 *ProjectsLocationsCatalogsModelsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2ListModelsResponse, 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 := &GoogleCloudRetailV2ListModelsResponse{ + 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": "Lists all the models linked to this event store.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models", + // "httpMethod": "GET", + // "id": "retail.projects.locations.catalogs.models.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. A page token, received from a previous `ListModels` call. Provide this to retrieve the subsequent page.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent for which to list models. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/models", + // "response": { + // "$ref": "GoogleCloudRetailV2ListModelsResponse" + // }, + // "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 *ProjectsLocationsCatalogsModelsListCall) Pages(ctx context.Context, f func(*GoogleCloudRetailV2ListModelsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("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.PageToken(x.NextPageToken) + } +} + +// method id "retail.projects.locations.catalogs.models.patch": + +type ProjectsLocationsCatalogsModelsPatchCall struct { + s *Service + name string + googlecloudretailv2model *GoogleCloudRetailV2Model + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Update of model metadata. Only fields that currently can be +// updated are: `filtering_option` and `periodic_tuning_state`. If other +// values are provided, this API method ignores them. +// +// - name: The fully qualified resource name of the model. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}` catalog_id has char limit of 50. +// recommendation_model_id has char limit of 40. +func (r *ProjectsLocationsCatalogsModelsService) Patch(name string, googlecloudretailv2model *GoogleCloudRetailV2Model) *ProjectsLocationsCatalogsModelsPatchCall { + c := &ProjectsLocationsCatalogsModelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudretailv2model = googlecloudretailv2model + return c +} + +// UpdateMask sets the optional parameter "updateMask": Indicates which +// fields in the provided 'model' to update. If not set, by default +// updates all fields. +func (c *ProjectsLocationsCatalogsModelsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCatalogsModelsPatchCall { + 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. +func (c *ProjectsLocationsCatalogsModelsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsPatchCall { + 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 *ProjectsLocationsCatalogsModelsPatchCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsPatchCall { + 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 *ProjectsLocationsCatalogsModelsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsPatchCall) 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.googlecloudretailv2model) + 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, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", 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 "retail.projects.locations.catalogs.models.patch" call. +// Exactly one of *GoogleCloudRetailV2Model or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudRetailV2Model.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 *ProjectsLocationsCatalogsModelsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2Model, 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 := &GoogleCloudRetailV2Model{ + 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": "Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", + // "httpMethod": "PATCH", + // "id": "retail.projects.locations.catalogs.models.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "GoogleCloudRetailV2Model" + // }, + // "response": { + // "$ref": "GoogleCloudRetailV2Model" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "retail.projects.locations.catalogs.models.pause": + +type ProjectsLocationsCatalogsModelsPauseCall struct { + s *Service + name string + googlecloudretailv2pausemodelrequest *GoogleCloudRetailV2PauseModelRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Pause: Pauses the training of an existing model. +// +// - name: The name of the model to pause. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}`. +func (r *ProjectsLocationsCatalogsModelsService) Pause(name string, googlecloudretailv2pausemodelrequest *GoogleCloudRetailV2PauseModelRequest) *ProjectsLocationsCatalogsModelsPauseCall { + c := &ProjectsLocationsCatalogsModelsPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudretailv2pausemodelrequest = googlecloudretailv2pausemodelrequest + 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 *ProjectsLocationsCatalogsModelsPauseCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsPauseCall { + 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 *ProjectsLocationsCatalogsModelsPauseCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsPauseCall { + 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 *ProjectsLocationsCatalogsModelsPauseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsPauseCall) 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.googlecloudretailv2pausemodelrequest) + 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, "v2/{+name}:pause") + 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 "retail.projects.locations.catalogs.models.pause" call. +// Exactly one of *GoogleCloudRetailV2Model or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudRetailV2Model.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 *ProjectsLocationsCatalogsModelsPauseCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2Model, 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 := &GoogleCloudRetailV2Model{ + 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": "Pauses the training of an existing model.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:pause", + // "httpMethod": "POST", + // "id": "retail.projects.locations.catalogs.models.pause", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the model to pause. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}:pause", + // "request": { + // "$ref": "GoogleCloudRetailV2PauseModelRequest" + // }, + // "response": { + // "$ref": "GoogleCloudRetailV2Model" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "retail.projects.locations.catalogs.models.resume": + +type ProjectsLocationsCatalogsModelsResumeCall struct { + s *Service + name string + googlecloudretailv2resumemodelrequest *GoogleCloudRetailV2ResumeModelRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Resume: Resumes the training of an existing model. +// +// - name: The name of the model to resume. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}`. +func (r *ProjectsLocationsCatalogsModelsService) Resume(name string, googlecloudretailv2resumemodelrequest *GoogleCloudRetailV2ResumeModelRequest) *ProjectsLocationsCatalogsModelsResumeCall { + c := &ProjectsLocationsCatalogsModelsResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudretailv2resumemodelrequest = googlecloudretailv2resumemodelrequest + 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 *ProjectsLocationsCatalogsModelsResumeCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsResumeCall { + 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 *ProjectsLocationsCatalogsModelsResumeCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsResumeCall { + 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 *ProjectsLocationsCatalogsModelsResumeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsResumeCall) 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.googlecloudretailv2resumemodelrequest) + 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, "v2/{+name}:resume") + 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 "retail.projects.locations.catalogs.models.resume" call. +// Exactly one of *GoogleCloudRetailV2Model or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudRetailV2Model.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 *ProjectsLocationsCatalogsModelsResumeCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2Model, 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 := &GoogleCloudRetailV2Model{ + 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": "Resumes the training of an existing model.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:resume", + // "httpMethod": "POST", + // "id": "retail.projects.locations.catalogs.models.resume", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the model to resume. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}:resume", + // "request": { + // "$ref": "GoogleCloudRetailV2ResumeModelRequest" + // }, + // "response": { + // "$ref": "GoogleCloudRetailV2Model" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "retail.projects.locations.catalogs.models.tune": + +type ProjectsLocationsCatalogsModelsTuneCall struct { + s *Service + name string + googlecloudretailv2tunemodelrequest *GoogleCloudRetailV2TuneModelRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Tune: Tunes an existing model. +// +// - name: The resource name of the model to tune. Format: +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}`. +func (r *ProjectsLocationsCatalogsModelsService) Tune(name string, googlecloudretailv2tunemodelrequest *GoogleCloudRetailV2TuneModelRequest) *ProjectsLocationsCatalogsModelsTuneCall { + c := &ProjectsLocationsCatalogsModelsTuneCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlecloudretailv2tunemodelrequest = googlecloudretailv2tunemodelrequest + 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 *ProjectsLocationsCatalogsModelsTuneCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsModelsTuneCall { + 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 *ProjectsLocationsCatalogsModelsTuneCall) Context(ctx context.Context) *ProjectsLocationsCatalogsModelsTuneCall { + 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 *ProjectsLocationsCatalogsModelsTuneCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsCatalogsModelsTuneCall) 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.googlecloudretailv2tunemodelrequest) + 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, "v2/{+name}:tune") + 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 "retail.projects.locations.catalogs.models.tune" 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 *ProjectsLocationsCatalogsModelsTuneCall) 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": "Tunes an existing model.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}:tune", + // "httpMethod": "POST", + // "id": "retail.projects.locations.catalogs.models.tune", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the model to tune. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}:tune", + // "request": { + // "$ref": "GoogleCloudRetailV2TuneModelRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "retail.projects.locations.catalogs.operations.get": type ProjectsLocationsCatalogsOperationsGetCall struct { diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index 339d2628a86..dc4cc01ea64 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -599,7 +599,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -627,7 +627,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -885,7 +885,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -913,7 +913,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -941,7 +941,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -2100,7 +2100,7 @@ } } }, - "revision": "20230117", + "revision": "20230119", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2277,6 +2277,17 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2CreateModelMetadata": { + "description": "Metadata associated with a create operation.", + "id": "GoogleCloudRetailV2CreateModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2ImportCompletionDataResponse": { "description": "Response of the ImportCompletionDataRequest. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", "id": "GoogleCloudRetailV2ImportCompletionDataResponse", @@ -2377,6 +2388,150 @@ }, "type": "object" }, + "GoogleCloudRetailV2Model": { + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", + "id": "GoogleCloudRetailV2Model", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Recommendation Model was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataState": { + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "enum": [ + "DATA_STATE_UNSPECIFIED", + "DATA_OK", + "DATA_ERROR" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has sufficient training data.", + "The model does not have sufficient training data. Error messages can be queried via Stackdriver." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "type": "string" + }, + "filteringOption": { + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", + "enum": [ + "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", + "RECOMMENDATIONS_FILTERING_DISABLED", + "RECOMMENDATIONS_FILTERING_ENABLED" + ], + "enumDescriptions": [ + "Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", + "Recommendation filtering is disabled.", + "Recommendation filtering is enabled." + ], + "type": "string" + }, + "lastTuneTime": { + "description": "Output only. The timestamp when the latest successful tune finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "type": "string" + }, + "optimizationObjective": { + "description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` =\u003e `ctr` `others-you-may-like` =\u003e `ctr` `frequently-bought-together` =\u003e `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "periodicTuningState": { + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", + "enum": [ + "PERIODIC_TUNING_STATE_UNSPECIFIED", + "PERIODIC_TUNING_DISABLED", + "ALL_TUNING_DISABLED", + "PERIODIC_TUNING_ENABLED" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." + ], + "type": "string" + }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2ModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, + "servingState": { + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", + "enum": [ + "SERVING_STATE_UNSPECIFIED", + "INACTIVE", + "ACTIVE", + "TUNED" + ], + "enumDescriptions": [ + "Unspecified serving state.", + "The model is not serving.", + "The model is serving and can be queried.", + "The model is trained on tuned hyperparameters and can be queried." + ], + "readOnly": true, + "type": "string" + }, + "trainingState": { + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", + "enum": [ + "TRAINING_STATE_UNSPECIFIED", + "PAUSED", + "TRAINING" + ], + "enumDescriptions": [ + "Unspecified training state.", + "The model training is paused.", + "The model is training." + ], + "type": "string" + }, + "tuningOperation": { + "description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2ModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", + "id": "GoogleCloudRetailV2ModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2PurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2PurgeMetadata", @@ -2449,6 +2604,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2TuneModelMetadata": { + "description": "Metadata associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2TuneModelResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2UserEventImportSummary", @@ -3185,6 +3357,36 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaExperimentInfo": { + "description": "Metadata for active A/B testing Experiments.", + "id": "GoogleCloudRetailV2alphaExperimentInfo", + "properties": { + "experimentName": { + "description": "The fully qualified resource name of the experiment that provides the serving config under test, should an active experiment exist. For example: `projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id`", + "type": "string" + }, + "servingConfigExperiment": { + "$ref": "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment", + "description": "A/B test between existing Cloud Retail Search ServingConfigs." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment": { + "description": "Metadata for active serving config A/B tests.", + "id": "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment", + "properties": { + "experimentServingConfig": { + "description": "The fully qualified resource name of the serving config VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + }, + "originalServingConfig": { + "description": "The fully qualified resource name of the original SearchRequest.placement in the search request prior to reassignment by experiment API. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2alphaExportErrorsConfig", @@ -5272,6 +5474,13 @@ "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", "type": "string" }, + "experimentInfo": { + "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "items": { + "$ref": "GoogleCloudRetailV2alphaExperimentInfo" + }, + "type": "array" + }, "facets": { "description": "Results of facets requested by user.", "items": { diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index d82897f29be..ff017b91ae3 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -670,6 +670,38 @@ type GoogleCloudRetailV2AddLocalInventoriesMetadata struct { type GoogleCloudRetailV2AddLocalInventoriesResponse struct { } +// GoogleCloudRetailV2CreateModelMetadata: Metadata associated with a +// create operation. +type GoogleCloudRetailV2CreateModelMetadata struct { + // Model: The resource name of the model that this create applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2CreateModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2CreateModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2ImportCompletionDataResponse: Response of the // ImportCompletionDataRequest. If the long running operation is done, // this message is returned by the @@ -863,6 +895,201 @@ func (s *GoogleCloudRetailV2ImportUserEventsResponse) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2Model: Metadata that describes the training and +// serving parameters of a Model. A Model can be associated with a +// ServingConfig and then queried through the Predict API. +type GoogleCloudRetailV2Model struct { + // CreateTime: Output only. Timestamp the Recommendation Model was + // created at. + CreateTime string `json:"createTime,omitempty"` + + // DataState: Output only. The state of data requirements for this + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. + // + // Possible values: + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never + // be explicitly set. + // "DATA_OK" - The model has sufficient training data. + // "DATA_ERROR" - The model does not have sufficient training data. + // Error messages can be queried via Stackdriver. + DataState string `json:"dataState,omitempty"` + + // DisplayName: Required. The display name of the model. Should be human + // readable, used to display Recommendation Models in the Retail Cloud + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. + DisplayName string `json:"displayName,omitempty"` + + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, + // recommendation filtering by attributes is enabled for the model. + // + // Possible values: + // "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED" - Value used when + // unset. In this case, server behavior defaults to + // RECOMMENDATIONS_FILTERING_DISABLED. + // "RECOMMENDATIONS_FILTERING_DISABLED" - Recommendation filtering is + // disabled. + // "RECOMMENDATIONS_FILTERING_ENABLED" - Recommendation filtering is + // enabled. + FilteringOption string `json:"filteringOption,omitempty"` + + // LastTuneTime: Output only. The timestamp when the latest successful + // tune finished. + LastTuneTime string `json:"lastTuneTime,omitempty"` + + // Name: Required. The fully qualified resource name of the model. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. + // recommendation_model_id has char limit of 40. + Name string `json:"name,omitempty"` + + // OptimizationObjective: Optional. The optimization objective e.g. + // `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. + // If not specified, we choose default based on model type. Default + // depends on type of recommendation: `recommended-for-you` => `ctr` + // `others-you-may-like` => `ctr` `frequently-bought-together` => + // `revenue_per_order` This field together with optimization_objective + // describe model metadata to use to control model training and serving. + // See https://cloud.google.com/retail/docs/models for more details on + // what the model metadata control and which combination of parameters + // are valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + OptimizationObjective string `json:"optimizationObjective,omitempty"` + + // PeriodicTuningState: Optional. The state of periodic tuning. The + // period we use is 3 months - to do a one-off tune earlier use the + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. + // + // Possible values: + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, + // should never be explicitly set. + // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning + // disabled. Tuning can be reenabled by calling the + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. + // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic + // tuning OR the `TuneModel` method. Hide the options in customer UI and + // reject any requests through the backend self serve API. + // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` + // method. + PeriodicTuningState string `json:"periodicTuningState,omitempty"` + + // ServingConfigLists: Output only. The list of valid serving configs + // associated with the PageOptimizationConfig. + ServingConfigLists []*GoogleCloudRetailV2ModelServingConfigList `json:"servingConfigLists,omitempty"` + + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. + // + // Possible values: + // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. + // "INACTIVE" - The model is not serving. + // "ACTIVE" - The model is serving and can be queried. + // "TUNED" - The model is trained on tuned hyperparameters and can be + // queried. + ServingState string `json:"servingState,omitempty"` + + // TrainingState: Optional. The training state that the model is in + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the + // service is frequency of training - this can be used to determine when + // to train model in order to control cost. If not specified: the + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. + // + // Possible values: + // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. + // "PAUSED" - The model training is paused. + // "TRAINING" - The model is training. + TrainingState string `json:"trainingState,omitempty"` + + // TuningOperation: Output only. The tune operation associated with the + // model. Can be used to determine if there is an ongoing tune for this + // recommendation. Empty field implies no tune is goig on. + TuningOperation string `json:"tuningOperation,omitempty"` + + // Type: Required. The type of model e.g. `home-page`. Currently + // supported values: `recommended-for-you`, `others-you-may-like`, + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly + // value). This field together with optimization_objective describe + // model metadata to use to control model training and serving. See + // https://cloud.google.com/retail/docs/models for more details on what + // the model metadata control and which combination of parameters are + // valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + Type string `json:"type,omitempty"` + + // UpdateTime: Output only. Timestamp the Recommendation Model was last + // updated. E.g. if a Recommendation Model was paused - this would be + // the time the pause was initiated. + 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 *GoogleCloudRetailV2Model) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2Model + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2ModelServingConfigList: Represents an ordered +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. +type GoogleCloudRetailV2ModelServingConfigList struct { + // ServingConfigIds: Optional. A set of valid serving configs that may + // be used for `PAGE_OPTIMIZATION`. + ServingConfigIds []string `json:"servingConfigIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ServingConfigIds") 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. "ServingConfigIds") 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 *GoogleCloudRetailV2ModelServingConfigList) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ModelServingConfigList + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2PurgeMetadata: Metadata related to the progress of // the Purge operation. This will be returned by the // google.longrunning.Operation.metadata field. @@ -980,6 +1207,43 @@ type GoogleCloudRetailV2SetInventoryMetadata struct { type GoogleCloudRetailV2SetInventoryResponse struct { } +// GoogleCloudRetailV2TuneModelMetadata: Metadata associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelMetadata struct { + // Model: The resource name of the model that this tune applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2TuneModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2TuneModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2TuneModelResponse: Response associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelResponse struct { +} + // GoogleCloudRetailV2UserEventImportSummary: A summary of import // result. The UserEventImportSummary summarizes the import status for // user events. @@ -2348,6 +2612,84 @@ func (s *GoogleCloudRetailV2alphaCustomAttribute) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2alphaExperimentInfo: Metadata for active A/B +// testing Experiments. +type GoogleCloudRetailV2alphaExperimentInfo struct { + // ExperimentName: The fully qualified resource name of the experiment + // that provides the serving config under test, should an active + // experiment exist. For example: + // `projects/*/locations/global/catalogs/default_catalog/experiments/expe + // riment_id` + ExperimentName string `json:"experimentName,omitempty"` + + // ServingConfigExperiment: A/B test between existing Cloud Retail + // Search ServingConfigs. + ServingConfigExperiment *GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment `json:"servingConfigExperiment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExperimentName") 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. "ExperimentName") 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 *GoogleCloudRetailV2alphaExperimentInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2alphaExperimentInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment: +// Metadata for active serving config A/B tests. +type GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment struct { + // ExperimentServingConfig: The fully qualified resource name of the + // serving config VariantArm.serving_config_id responsible for + // generating the search response. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + ExperimentServingConfig string `json:"experimentServingConfig,omitempty"` + + // OriginalServingConfig: The fully qualified resource name of the + // original SearchRequest.placement in the search request prior to + // reassignment by experiment API. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + OriginalServingConfig string `json:"originalServingConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ExperimentServingConfig") 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. "ExperimentServingConfig") + // 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 *GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2alphaExportErrorsConfig: Configuration of // destination for Export related errors. type GoogleCloudRetailV2alphaExportErrorsConfig struct { @@ -6499,6 +6841,10 @@ type GoogleCloudRetailV2alphaSearchResponse struct { // on corrected_query. Otherwise the original query is used for search. CorrectedQuery string `json:"correctedQuery,omitempty"` + // ExperimentInfo: Metadata related to A/B testing Experiment associated + // with this response. Only exists when an experiment is triggered. + ExperimentInfo []*GoogleCloudRetailV2alphaExperimentInfo `json:"experimentInfo,omitempty"` + // Facets: Results of facets requested by user. Facets []*GoogleCloudRetailV2alphaSearchResponseFacet `json:"facets,omitempty"` @@ -11090,9 +11436,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11197,7 +11541,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -11251,9 +11595,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11358,7 +11700,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -12601,9 +12943,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12708,7 +13048,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -12760,9 +13100,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12867,7 +13205,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -12932,9 +13270,7 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // obsolete after one day, and the GetOperation API returns `NOT_FOUND` // afterwards. If conflicting updates are issued, the Operations // associated with the stale updates are not marked as done until they -// are obsolete. This feature is only available for users who have -// Retail Search enabled. Enable Retail Search on Cloud Console before -// using this feature. +// are obsolete. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -13037,7 +13373,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index 79994a2933b..4cee025e5d1 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -561,7 +561,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -589,7 +589,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -814,7 +814,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -842,7 +842,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -870,7 +870,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -2029,7 +2029,7 @@ } } }, - "revision": "20230117", + "revision": "20230119", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2206,6 +2206,17 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2CreateModelMetadata": { + "description": "Metadata associated with a create operation.", + "id": "GoogleCloudRetailV2CreateModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this create applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2ImportCompletionDataResponse": { "description": "Response of the ImportCompletionDataRequest. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", "id": "GoogleCloudRetailV2ImportCompletionDataResponse", @@ -2306,6 +2317,150 @@ }, "type": "object" }, + "GoogleCloudRetailV2Model": { + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", + "id": "GoogleCloudRetailV2Model", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Recommendation Model was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataState": { + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "enum": [ + "DATA_STATE_UNSPECIFIED", + "DATA_OK", + "DATA_ERROR" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has sufficient training data.", + "The model does not have sufficient training data. Error messages can be queried via Stackdriver." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "type": "string" + }, + "filteringOption": { + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", + "enum": [ + "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", + "RECOMMENDATIONS_FILTERING_DISABLED", + "RECOMMENDATIONS_FILTERING_ENABLED" + ], + "enumDescriptions": [ + "Value used when unset. In this case, server behavior defaults to RECOMMENDATIONS_FILTERING_DISABLED.", + "Recommendation filtering is disabled.", + "Recommendation filtering is enabled." + ], + "type": "string" + }, + "lastTuneTime": { + "description": "Output only. The timestamp when the latest successful tune finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "type": "string" + }, + "optimizationObjective": { + "description": "Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` =\u003e `ctr` `others-you-may-like` =\u003e `ctr` `frequently-bought-together` =\u003e `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "periodicTuningState": { + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", + "enum": [ + "PERIODIC_TUNING_STATE_UNSPECIFIED", + "PERIODIC_TUNING_DISABLED", + "ALL_TUNING_DISABLED", + "PERIODIC_TUNING_ENABLED" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." + ], + "type": "string" + }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2ModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, + "servingState": { + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", + "enum": [ + "SERVING_STATE_UNSPECIFIED", + "INACTIVE", + "ACTIVE", + "TUNED" + ], + "enumDescriptions": [ + "Unspecified serving state.", + "The model is not serving.", + "The model is serving and can be queried.", + "The model is trained on tuned hyperparameters and can be queried." + ], + "readOnly": true, + "type": "string" + }, + "trainingState": { + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", + "enum": [ + "TRAINING_STATE_UNSPECIFIED", + "PAUSED", + "TRAINING" + ], + "enumDescriptions": [ + "Unspecified training state.", + "The model training is paused.", + "The model is training." + ], + "type": "string" + }, + "tuningOperation": { + "description": "Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2ModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", + "id": "GoogleCloudRetailV2ModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2PurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2PurgeMetadata", @@ -2378,6 +2533,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2TuneModelMetadata": { + "description": "Metadata associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelMetadata", + "properties": { + "model": { + "description": "The resource name of the model that this tune applies to. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2TuneModelResponse": { + "description": "Response associated with a tune operation.", + "id": "GoogleCloudRetailV2TuneModelResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2UserEventImportSummary", @@ -3737,6 +3909,36 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaExperimentInfo": { + "description": "Metadata for active A/B testing Experiments.", + "id": "GoogleCloudRetailV2betaExperimentInfo", + "properties": { + "experimentName": { + "description": "The fully qualified resource name of the experiment that provides the serving config under test, should an active experiment exist. For example: `projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id`", + "type": "string" + }, + "servingConfigExperiment": { + "$ref": "GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment", + "description": "A/B test between existing Cloud Retail Search ServingConfigs." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment": { + "description": "Metadata for active serving config A/B tests.", + "id": "GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment", + "properties": { + "experimentServingConfig": { + "description": "The fully qualified resource name of the serving config VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + }, + "originalServingConfig": { + "description": "The fully qualified resource name of the original SearchRequest.placement in the search request prior to reassignment by experiment API. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2betaExportErrorsConfig", @@ -5659,6 +5861,13 @@ "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", "type": "string" }, + "experimentInfo": { + "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "items": { + "$ref": "GoogleCloudRetailV2betaExperimentInfo" + }, + "type": "array" + }, "facets": { "description": "Results of facets requested by user.", "items": { diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index 6ffa8f16a42..8ef1b6cd0d8 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -646,6 +646,38 @@ type GoogleCloudRetailV2AddLocalInventoriesMetadata struct { type GoogleCloudRetailV2AddLocalInventoriesResponse struct { } +// GoogleCloudRetailV2CreateModelMetadata: Metadata associated with a +// create operation. +type GoogleCloudRetailV2CreateModelMetadata struct { + // Model: The resource name of the model that this create applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2CreateModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2CreateModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2ImportCompletionDataResponse: Response of the // ImportCompletionDataRequest. If the long running operation is done, // this message is returned by the @@ -839,6 +871,201 @@ func (s *GoogleCloudRetailV2ImportUserEventsResponse) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2Model: Metadata that describes the training and +// serving parameters of a Model. A Model can be associated with a +// ServingConfig and then queried through the Predict API. +type GoogleCloudRetailV2Model struct { + // CreateTime: Output only. Timestamp the Recommendation Model was + // created at. + CreateTime string `json:"createTime,omitempty"` + + // DataState: Output only. The state of data requirements for this + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. + // + // Possible values: + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never + // be explicitly set. + // "DATA_OK" - The model has sufficient training data. + // "DATA_ERROR" - The model does not have sufficient training data. + // Error messages can be queried via Stackdriver. + DataState string `json:"dataState,omitempty"` + + // DisplayName: Required. The display name of the model. Should be human + // readable, used to display Recommendation Models in the Retail Cloud + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. + DisplayName string `json:"displayName,omitempty"` + + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, + // recommendation filtering by attributes is enabled for the model. + // + // Possible values: + // "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED" - Value used when + // unset. In this case, server behavior defaults to + // RECOMMENDATIONS_FILTERING_DISABLED. + // "RECOMMENDATIONS_FILTERING_DISABLED" - Recommendation filtering is + // disabled. + // "RECOMMENDATIONS_FILTERING_ENABLED" - Recommendation filtering is + // enabled. + FilteringOption string `json:"filteringOption,omitempty"` + + // LastTuneTime: Output only. The timestamp when the latest successful + // tune finished. + LastTuneTime string `json:"lastTuneTime,omitempty"` + + // Name: Required. The fully qualified resource name of the model. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. + // recommendation_model_id has char limit of 40. + Name string `json:"name,omitempty"` + + // OptimizationObjective: Optional. The optimization objective e.g. + // `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. + // If not specified, we choose default based on model type. Default + // depends on type of recommendation: `recommended-for-you` => `ctr` + // `others-you-may-like` => `ctr` `frequently-bought-together` => + // `revenue_per_order` This field together with optimization_objective + // describe model metadata to use to control model training and serving. + // See https://cloud.google.com/retail/docs/models for more details on + // what the model metadata control and which combination of parameters + // are valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + OptimizationObjective string `json:"optimizationObjective,omitempty"` + + // PeriodicTuningState: Optional. The state of periodic tuning. The + // period we use is 3 months - to do a one-off tune earlier use the + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. + // + // Possible values: + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, + // should never be explicitly set. + // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning + // disabled. Tuning can be reenabled by calling the + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. + // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic + // tuning OR the `TuneModel` method. Hide the options in customer UI and + // reject any requests through the backend self serve API. + // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` + // method. + PeriodicTuningState string `json:"periodicTuningState,omitempty"` + + // ServingConfigLists: Output only. The list of valid serving configs + // associated with the PageOptimizationConfig. + ServingConfigLists []*GoogleCloudRetailV2ModelServingConfigList `json:"servingConfigLists,omitempty"` + + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. + // + // Possible values: + // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. + // "INACTIVE" - The model is not serving. + // "ACTIVE" - The model is serving and can be queried. + // "TUNED" - The model is trained on tuned hyperparameters and can be + // queried. + ServingState string `json:"servingState,omitempty"` + + // TrainingState: Optional. The training state that the model is in + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the + // service is frequency of training - this can be used to determine when + // to train model in order to control cost. If not specified: the + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. + // + // Possible values: + // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. + // "PAUSED" - The model training is paused. + // "TRAINING" - The model is training. + TrainingState string `json:"trainingState,omitempty"` + + // TuningOperation: Output only. The tune operation associated with the + // model. Can be used to determine if there is an ongoing tune for this + // recommendation. Empty field implies no tune is goig on. + TuningOperation string `json:"tuningOperation,omitempty"` + + // Type: Required. The type of model e.g. `home-page`. Currently + // supported values: `recommended-for-you`, `others-you-may-like`, + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly + // value). This field together with optimization_objective describe + // model metadata to use to control model training and serving. See + // https://cloud.google.com/retail/docs/models for more details on what + // the model metadata control and which combination of parameters are + // valid. For invalid combinations of parameters (e.g. type = + // `frequently-bought-together` and optimization_objective = `ctr`), you + // receive an error 400 if you try to create/update a recommendation + // with this set of knobs. + Type string `json:"type,omitempty"` + + // UpdateTime: Output only. Timestamp the Recommendation Model was last + // updated. E.g. if a Recommendation Model was paused - this would be + // the time the pause was initiated. + 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 *GoogleCloudRetailV2Model) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2Model + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2ModelServingConfigList: Represents an ordered +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. +type GoogleCloudRetailV2ModelServingConfigList struct { + // ServingConfigIds: Optional. A set of valid serving configs that may + // be used for `PAGE_OPTIMIZATION`. + ServingConfigIds []string `json:"servingConfigIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ServingConfigIds") 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. "ServingConfigIds") 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 *GoogleCloudRetailV2ModelServingConfigList) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2ModelServingConfigList + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2PurgeMetadata: Metadata related to the progress of // the Purge operation. This will be returned by the // google.longrunning.Operation.metadata field. @@ -956,6 +1183,43 @@ type GoogleCloudRetailV2SetInventoryMetadata struct { type GoogleCloudRetailV2SetInventoryResponse struct { } +// GoogleCloudRetailV2TuneModelMetadata: Metadata associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelMetadata struct { + // Model: The resource name of the model that this tune applies to. + // Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` + Model string `json:"model,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Model") 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. "Model") 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 *GoogleCloudRetailV2TuneModelMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2TuneModelMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2TuneModelResponse: Response associated with a tune +// operation. +type GoogleCloudRetailV2TuneModelResponse struct { +} + // GoogleCloudRetailV2UserEventImportSummary: A summary of import // result. The UserEventImportSummary summarizes the import status for // user events. @@ -3467,6 +3731,84 @@ func (s *GoogleCloudRetailV2betaCustomAttribute) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudRetailV2betaExperimentInfo: Metadata for active A/B +// testing Experiments. +type GoogleCloudRetailV2betaExperimentInfo struct { + // ExperimentName: The fully qualified resource name of the experiment + // that provides the serving config under test, should an active + // experiment exist. For example: + // `projects/*/locations/global/catalogs/default_catalog/experiments/expe + // riment_id` + ExperimentName string `json:"experimentName,omitempty"` + + // ServingConfigExperiment: A/B test between existing Cloud Retail + // Search ServingConfigs. + ServingConfigExperiment *GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment `json:"servingConfigExperiment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExperimentName") 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. "ExperimentName") 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 *GoogleCloudRetailV2betaExperimentInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2betaExperimentInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment: +// Metadata for active serving config A/B tests. +type GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment struct { + // ExperimentServingConfig: The fully qualified resource name of the + // serving config VariantArm.serving_config_id responsible for + // generating the search response. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + ExperimentServingConfig string `json:"experimentServingConfig,omitempty"` + + // OriginalServingConfig: The fully qualified resource name of the + // original SearchRequest.placement in the search request prior to + // reassignment by experiment API. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + OriginalServingConfig string `json:"originalServingConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ExperimentServingConfig") 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. "ExperimentServingConfig") + // 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 *GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRetailV2betaExportErrorsConfig: Configuration of // destination for Export related errors. type GoogleCloudRetailV2betaExportErrorsConfig struct { @@ -7273,6 +7615,10 @@ type GoogleCloudRetailV2betaSearchResponse struct { // on corrected_query. Otherwise the original query is used for search. CorrectedQuery string `json:"correctedQuery,omitempty"` + // ExperimentInfo: Metadata related to A/B testing Experiment associated + // with this response. Only exists when an experiment is triggered. + ExperimentInfo []*GoogleCloudRetailV2betaExperimentInfo `json:"experimentInfo,omitempty"` + // Facets: Results of facets requested by user. Facets []*GoogleCloudRetailV2betaSearchResponseFacet `json:"facets,omitempty"` @@ -10783,9 +11129,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10890,7 +11234,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -10944,9 +11288,7 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11051,7 +11393,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -12127,9 +12469,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // The returned Operations will be obsolete after 1 day, and // GetOperation API will return NOT_FOUND afterwards. If conflicting // updates are issued, the Operations associated with the stale updates -// will not be marked as done until being obsolete. This feature is only -// available for users who have Retail Search enabled. Enable Retail -// Search on Cloud Console before using this feature. +// will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12234,7 +12574,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -12286,9 +12626,7 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // effect on local inventories. The returned Operations will be obsolete // after 1 day, and GetOperation API will return NOT_FOUND afterwards. // If conflicting updates are issued, the Operations associated with the -// stale updates will not be marked as done until being obsolete. This -// feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. +// stale updates will not be marked as done until being obsolete. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12393,7 +12731,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -12458,9 +12796,7 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // obsolete after one day, and the GetOperation API returns `NOT_FOUND` // afterwards. If conflicting updates are issued, the Operations // associated with the stale updates are not marked as done until they -// are obsolete. This feature is only available for users who have -// Retail Search enabled. Enable Retail Search on Cloud Console before -// using this feature. +// are obsolete. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12563,7 +12899,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", diff --git a/run/v1/run-api.json b/run/v1/run-api.json index aa2b453f146..47bbb18bc30 100644 --- a/run/v1/run-api.json +++ b/run/v1/run-api.json @@ -2289,7 +2289,7 @@ } } }, - "revision": "20221213", + "revision": "20230122", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -2560,7 +2560,7 @@ "type": "array" }, "image": { - "description": "Required. URL of the Container image in Google Container Registry or Google Artifact Registry. More info: https://kubernetes.io/docs/concepts/containers/images", + "description": "Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed. More info: https://kubernetes.io/docs/concepts/containers/images", "type": "string" }, "imagePullPolicy": { diff --git a/run/v1/run-gen.go b/run/v1/run-gen.go index 7b089d5cc13..e8e61f6b2ea 100644 --- a/run/v1/run-gen.go +++ b/run/v1/run-gen.go @@ -914,8 +914,9 @@ type Container struct { // EnvFrom: Not supported by Cloud Run. EnvFrom []*EnvFromSource `json:"envFrom,omitempty"` - // Image: Required. URL of the Container image in Google Container - // Registry or Google Artifact Registry. More info: + // Image: Required. Name of the container image in Dockerhub, Google + // Artifact Registry, or Google Container Registry. If the host is not + // provided, Dockerhub is assumed. More info: // https://kubernetes.io/docs/concepts/containers/images Image string `json:"image,omitempty"` diff --git a/safebrowsing/v4/safebrowsing-api.json b/safebrowsing/v4/safebrowsing-api.json index 67e578be9a5..720309d1dcd 100644 --- a/safebrowsing/v4/safebrowsing-api.json +++ b/safebrowsing/v4/safebrowsing-api.json @@ -261,7 +261,7 @@ } } }, - "revision": "20220323", + "revision": "20230121", "rootUrl": "https://safebrowsing.googleapis.com/", "schemas": { "GoogleProtobufEmpty": { @@ -396,8 +396,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -411,14 +410,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" } @@ -598,8 +596,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -613,14 +610,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" } @@ -930,8 +926,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -945,14 +940,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" }, @@ -1102,8 +1096,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1117,14 +1110,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" }, @@ -1205,8 +1197,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1220,14 +1211,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" } @@ -1319,8 +1309,7 @@ "SUSPICIOUS", "TRICK_TO_BILL", "HIGH_CONFIDENCE_ALLOWLIST", - "ACCURACY_TIPS", - "SOCIAL_ENGINEERING_LOWER_PRECISION" + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1334,14 +1323,13 @@ "Client side detection whitelist threat type.", "Client side download detection whitelist threat type.", "Client incident threat type.", - "Whitelist used when detecting client incident threats. This enum was never launched and should be re-used for the next list.", + "Whitelist used when detecting client incident threats.", "List used for offline APK checks in PAM.", - "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", + "Patterns to be used for activating the subresource filter.", "Entities that are suspected to present a threat.", - "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions.", - "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips.", - "Lower precision phishing list for WebRisk. See go/lower-precision-blocklists-enterprise." + "Trick-to-bill threat type.", + "URL expressions that are very likely to be safe.", + "An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." ], "type": "string" } diff --git a/safebrowsing/v4/safebrowsing-gen.go b/safebrowsing/v4/safebrowsing-gen.go index 8d57823c846..30c93e9f967 100644 --- a/safebrowsing/v4/safebrowsing-gen.go +++ b/safebrowsing/v4/safebrowsing-gen.go @@ -372,20 +372,16 @@ type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Constraints") to @@ -590,20 +586,16 @@ type GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateRespons // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Additions") to @@ -1121,20 +1113,16 @@ type GoogleSecuritySafebrowsingV4ThreatHit struct { // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatType string `json:"threatType,omitempty"` // UserInfo: Details about the user that encountered the threat. @@ -1298,20 +1286,16 @@ type GoogleSecuritySafebrowsingV4ThreatInfo struct { // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatTypes []string `json:"threatTypes,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformTypes") to @@ -1387,20 +1371,16 @@ type GoogleSecuritySafebrowsingV4ThreatListDescriptor struct { // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformType") to @@ -1485,20 +1465,16 @@ type GoogleSecuritySafebrowsingV4ThreatMatch struct { // threat type. // "CLIENT_INCIDENT" - Client incident threat type. // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client - // incident threats. This enum was never launched and should be re-used - // for the next list. + // incident threats. // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. // "SUBRESOURCE_FILTER" - Patterns to be used for activating the - // subresource filter. Interstitial will not be shown for patterns from - // this list. + // subresource filter. // "SUSPICIOUS" - Entities that are suspected to present a threat. - // "TRICK_TO_BILL" - Trick-to-bill threat list. - // "HIGH_CONFIDENCE_ALLOWLIST" - Safe list to ship hashes of known - // safe URL expressions. - // "ACCURACY_TIPS" - List from the Jigsaw team to show accuracy tips - // in Chrome. See go/sb-accuracytips. - // "SOCIAL_ENGINEERING_LOWER_PRECISION" - Lower precision phishing - // list for WebRisk. See go/lower-precision-blocklists-enterprise. + // "TRICK_TO_BILL" - Trick-to-bill threat type. + // "HIGH_CONFIDENCE_ALLOWLIST" - URL expressions that are very likely + // to be safe. + // "ACCURACY_TIPS" - An experimental threat type related to Jigsaw. + // See https://jigsaw.google.com/. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "CacheDuration") to diff --git a/sourcerepo/v1/sourcerepo-api.json b/sourcerepo/v1/sourcerepo-api.json index c0cab80bcb6..b74d3e78569 100644 --- a/sourcerepo/v1/sourcerepo-api.json +++ b/sourcerepo/v1/sourcerepo-api.json @@ -450,7 +450,7 @@ } } }, - "revision": "20220829", + "revision": "20230123", "rootUrl": "https://sourcerepo.googleapis.com/", "schemas": { "AuditConfig": { @@ -510,7 +510,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.", "items": { "type": "string" }, diff --git a/sourcerepo/v1/sourcerepo-gen.go b/sourcerepo/v1/sourcerepo-gen.go index 51c65b49f1e..b2050620bbb 100644 --- a/sourcerepo/v1/sourcerepo-gen.go +++ b/sourcerepo/v1/sourcerepo-gen.go @@ -300,7 +300,9 @@ type Binding struct { // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. // * `group:{emailid}`: An email address that represents a Google group. - // For example, `admins@example.com`. * + // For example, `admins@example.com`. * `domain:{domain}`: The G Suite + // domain (primary) that represents all the users of that domain. For + // example, `google.com` or `example.com`. * // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus // unique identifier) representing a user that has been recently // deleted. For example, `alice@example.com?uid=123456789012345678901`. @@ -317,9 +319,7 @@ type Binding struct { // that has been recently deleted. For example, // `admins@example.com?uid=123456789012345678901`. If the group is // recovered, this value reverts to `group:{emailid}` and the recovered - // group retains the role in the binding. * `domain:{domain}`: The G - // Suite domain (primary) that represents all the users of that domain. - // For example, `google.com` or `example.com`. + // group retains the role in the binding. Members []string `json:"members,omitempty"` // Role: Role that is assigned to the list of `members`, or principals. diff --git a/sts/v1/sts-api.json b/sts/v1/sts-api.json index b4101b490f4..54123fcb9a4 100644 --- a/sts/v1/sts-api.json +++ b/sts/v1/sts-api.json @@ -146,7 +146,7 @@ } } }, - "revision": "20221204", + "revision": "20230121", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { @@ -255,6 +255,10 @@ "format": "int32", "type": "integer" }, + "id_token": { + "description": "Google issued ID token in response to the OAuth token exchange request for ID token flow.", + "type": "string" + }, "refresh_token": { "description": "A refresh token, issued by Google, in response to the OAuth token exchange request for refresh token flow", "type": "string" @@ -264,7 +268,7 @@ "type": "string" }, "token_type": { - "description": "The type of token. Field reserved for RFC compliance. See https://www.rfc-editor.org/rfc/rfc6749#section-5.1 Note: No token_type is returned for current implementation", + "description": "The type of token. Field reserved for RFC compliance. See https://www.rfc-editor.org/rfc/rfc6749#section-5.1", "type": "string" } }, diff --git a/sts/v1/sts-gen.go b/sts/v1/sts-gen.go index 360e62d119c..36aa63851f0 100644 --- a/sts/v1/sts-gen.go +++ b/sts/v1/sts-gen.go @@ -400,6 +400,10 @@ type GoogleIdentityStsV1ExchangeOauthTokenResponse struct { // expires. ExpiresIn int64 `json:"expires_in,omitempty"` + // IdToken: Google issued ID token in response to the OAuth token + // exchange request for ID token flow. + IdToken string `json:"id_token,omitempty"` + // RefreshToken: A refresh token, issued by Google, in response to the // OAuth token exchange request for refresh token flow RefreshToken string `json:"refresh_token,omitempty"` @@ -408,8 +412,7 @@ type GoogleIdentityStsV1ExchangeOauthTokenResponse struct { Scope string `json:"scope,omitempty"` // TokenType: The type of token. Field reserved for RFC compliance. See - // https://www.rfc-editor.org/rfc/rfc6749#section-5.1 Note: No - // token_type is returned for current implementation + // https://www.rfc-editor.org/rfc/rfc6749#section-5.1 TokenType string `json:"token_type,omitempty"` // ServerResponse contains the HTTP response code and headers from the diff --git a/testing/v1/testing-api.json b/testing/v1/testing-api.json index b04a123d358..6111bdfcf39 100644 --- a/testing/v1/testing-api.json +++ b/testing/v1/testing-api.json @@ -282,7 +282,7 @@ } } }, - "revision": "20230103", + "revision": "20230124", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -509,6 +509,13 @@ "description": "The human-readable marketing name for this device model. Examples: \"Nexus 5\", \"Galaxy S5\".", "type": "string" }, + "perVersionInfo": { + "description": "Version-specific information of an Android model.", + "items": { + "$ref": "PerAndroidVersionInfo" + }, + "type": "array" + }, "screenDensity": { "description": "Screen density in DPI. This corresponds to ro.sf.lcd_density", "format": "int32", @@ -1218,6 +1225,13 @@ "description": "The human-readable name for this device model. Examples: \"iPhone 4s\", \"iPad Mini 2\".", "type": "string" }, + "perVersionInfo": { + "description": "Version-specific information of an iOS model.", + "items": { + "$ref": "PerIosVersionInfo" + }, + "type": "array" + }, "screenDensity": { "description": "Screen density in DPI.", "format": "int32", @@ -1516,6 +1530,64 @@ }, "type": "object" }, + "PerAndroidVersionInfo": { + "description": "A version-specific information of an Android model.", + "id": "PerAndroidVersionInfo", + "properties": { + "deviceCapacity": { + "description": "The number of online devices for an Android version.", + "enum": [ + "DEVICE_CAPACITY_UNSPECIFIED", + "DEVICE_CAPACITY_HIGH", + "DEVICE_CAPACITY_MEDIUM", + "DEVICE_CAPACITY_LOW", + "DEVICE_CAPACITY_NONE" + ], + "enumDescriptions": [ + "The value of device capacity is unknown or unset.", + "Devices that are high in capacity (The lab has a large number of these devices). These devices are generally suggested for running a large number of simultaneous tests (e.g. more than 100 tests). Please note that high capacity devices do not guarantee short wait times due to several factors: 1. Traffic (how heavily they are used at any given moment) 2. High capacity devices are prioritized for certain usages, which may cause user tests to be slower than selecting other similar device types.", + "Devices that are medium in capacity (The lab has a decent number of these devices, though not as many as high capacity devices). These devices are suitable for fewer test runs (e.g. fewer than 100 tests) and only for low shard counts (e.g. less than 10 shards).", + "Devices that are low in capacity (The lab has a small number of these devices). These devices may be used if users need to test on this specific device model and version. Please note that due to low capacity, the tests may take much longer to finish, especially if a large number of tests are invoked at once. These devices are not suitable for test sharding.", + "Devices that are completely missing from the lab. These devices are unavailable either temporarily or permanently and should not be requested. If the device is also marked as deprecated, this state is very likely permanent." + ], + "type": "string" + }, + "versionId": { + "description": "An Android version.", + "type": "string" + } + }, + "type": "object" + }, + "PerIosVersionInfo": { + "description": "A version-specific information of an iOS model.", + "id": "PerIosVersionInfo", + "properties": { + "deviceCapacity": { + "description": "The number of online devices for an iOS version.", + "enum": [ + "DEVICE_CAPACITY_UNSPECIFIED", + "DEVICE_CAPACITY_HIGH", + "DEVICE_CAPACITY_MEDIUM", + "DEVICE_CAPACITY_LOW", + "DEVICE_CAPACITY_NONE" + ], + "enumDescriptions": [ + "The value of device capacity is unknown or unset.", + "Devices that are high in capacity (The lab has a large number of these devices). These devices are generally suggested for running a large number of simultaneous tests (e.g. more than 100 tests). Please note that high capacity devices do not guarantee short wait times due to several factors: 1. Traffic (how heavily they are used at any given moment) 2. High capacity devices are prioritized for certain usages, which may cause user tests to be slower than selecting other similar device types.", + "Devices that are medium in capacity (The lab has a decent number of these devices, though not as many as high capacity devices). These devices are suitable for fewer test runs (e.g. fewer than 100 tests) and only for low shard counts (e.g. less than 10 shards).", + "Devices that are low in capacity (The lab has a small number of these devices). These devices may be used if users need to test on this specific device model and version. Please note that due to low capacity, the tests may take much longer to finish, especially if a large number of tests are invoked at once. These devices are not suitable for test sharding.", + "Devices that are completely missing from the lab. These devices are unavailable either temporarily or permanently and should not be requested. If the device is also marked as deprecated, this state is very likely permanent." + ], + "type": "string" + }, + "versionId": { + "description": "An iOS version.", + "type": "string" + } + }, + "type": "object" + }, "ProvidedSoftwareCatalog": { "description": "The currently provided software environment on the devices under test.", "id": "ProvidedSoftwareCatalog", diff --git a/testing/v1/testing-gen.go b/testing/v1/testing-gen.go index 5e7441c4bf0..8122d58a4bb 100644 --- a/testing/v1/testing-gen.go +++ b/testing/v1/testing-gen.go @@ -507,6 +507,9 @@ type AndroidModel struct { // Examples: "Nexus 5", "Galaxy S5". Name string `json:"name,omitempty"` + // PerVersionInfo: Version-specific information of an Android model. + PerVersionInfo []*PerAndroidVersionInfo `json:"perVersionInfo,omitempty"` + // ScreenDensity: Screen density in DPI. This corresponds to // ro.sf.lcd_density ScreenDensity int64 `json:"screenDensity,omitempty"` @@ -1664,6 +1667,9 @@ type IosModel struct { // "iPhone 4s", "iPad Mini 2". Name string `json:"name,omitempty"` + // PerVersionInfo: Version-specific information of an iOS model. + PerVersionInfo []*PerIosVersionInfo `json:"perVersionInfo,omitempty"` + // ScreenDensity: Screen density in DPI. ScreenDensity int64 `json:"screenDensity,omitempty"` @@ -2173,6 +2179,125 @@ func (s *Orientation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PerAndroidVersionInfo: A version-specific information of an Android +// model. +type PerAndroidVersionInfo struct { + // DeviceCapacity: The number of online devices for an Android version. + // + // Possible values: + // "DEVICE_CAPACITY_UNSPECIFIED" - The value of device capacity is + // unknown or unset. + // "DEVICE_CAPACITY_HIGH" - Devices that are high in capacity (The lab + // has a large number of these devices). These devices are generally + // suggested for running a large number of simultaneous tests (e.g. more + // than 100 tests). Please note that high capacity devices do not + // guarantee short wait times due to several factors: 1. Traffic (how + // heavily they are used at any given moment) 2. High capacity devices + // are prioritized for certain usages, which may cause user tests to be + // slower than selecting other similar device types. + // "DEVICE_CAPACITY_MEDIUM" - Devices that are medium in capacity (The + // lab has a decent number of these devices, though not as many as high + // capacity devices). These devices are suitable for fewer test runs + // (e.g. fewer than 100 tests) and only for low shard counts (e.g. less + // than 10 shards). + // "DEVICE_CAPACITY_LOW" - Devices that are low in capacity (The lab + // has a small number of these devices). These devices may be used if + // users need to test on this specific device model and version. Please + // note that due to low capacity, the tests may take much longer to + // finish, especially if a large number of tests are invoked at once. + // These devices are not suitable for test sharding. + // "DEVICE_CAPACITY_NONE" - Devices that are completely missing from + // the lab. These devices are unavailable either temporarily or + // permanently and should not be requested. If the device is also marked + // as deprecated, this state is very likely permanent. + DeviceCapacity string `json:"deviceCapacity,omitempty"` + + // VersionId: An Android version. + VersionId string `json:"versionId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceCapacity") 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. "DeviceCapacity") 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 *PerAndroidVersionInfo) MarshalJSON() ([]byte, error) { + type NoMethod PerAndroidVersionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PerIosVersionInfo: A version-specific information of an iOS model. +type PerIosVersionInfo struct { + // DeviceCapacity: The number of online devices for an iOS version. + // + // Possible values: + // "DEVICE_CAPACITY_UNSPECIFIED" - The value of device capacity is + // unknown or unset. + // "DEVICE_CAPACITY_HIGH" - Devices that are high in capacity (The lab + // has a large number of these devices). These devices are generally + // suggested for running a large number of simultaneous tests (e.g. more + // than 100 tests). Please note that high capacity devices do not + // guarantee short wait times due to several factors: 1. Traffic (how + // heavily they are used at any given moment) 2. High capacity devices + // are prioritized for certain usages, which may cause user tests to be + // slower than selecting other similar device types. + // "DEVICE_CAPACITY_MEDIUM" - Devices that are medium in capacity (The + // lab has a decent number of these devices, though not as many as high + // capacity devices). These devices are suitable for fewer test runs + // (e.g. fewer than 100 tests) and only for low shard counts (e.g. less + // than 10 shards). + // "DEVICE_CAPACITY_LOW" - Devices that are low in capacity (The lab + // has a small number of these devices). These devices may be used if + // users need to test on this specific device model and version. Please + // note that due to low capacity, the tests may take much longer to + // finish, especially if a large number of tests are invoked at once. + // These devices are not suitable for test sharding. + // "DEVICE_CAPACITY_NONE" - Devices that are completely missing from + // the lab. These devices are unavailable either temporarily or + // permanently and should not be requested. If the device is also marked + // as deprecated, this state is very likely permanent. + DeviceCapacity string `json:"deviceCapacity,omitempty"` + + // VersionId: An iOS version. + VersionId string `json:"versionId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceCapacity") 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. "DeviceCapacity") 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 *PerIosVersionInfo) MarshalJSON() ([]byte, error) { + type NoMethod PerIosVersionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ProvidedSoftwareCatalog: The currently provided software environment // on the devices under test. type ProvidedSoftwareCatalog struct { diff --git a/vmmigration/v1/vmmigration-api.json b/vmmigration/v1/vmmigration-api.json index b1e7467b0d8..e90ff47c366 100644 --- a/vmmigration/v1/vmmigration-api.json +++ b/vmmigration/v1/vmmigration-api.json @@ -1972,7 +1972,7 @@ } } }, - "revision": "20230105", + "revision": "20230119", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -3445,7 +3445,7 @@ }, "currentSyncInfo": { "$ref": "ReplicationCycle", - "description": "Output only. The percentage progress of the current running replication cycle.", + "description": "Output only. Details of the current running replication cycle.", "readOnly": true }, "description": { diff --git a/vmmigration/v1/vmmigration-gen.go b/vmmigration/v1/vmmigration-gen.go index a2e98dfed8e..474a6af3b65 100644 --- a/vmmigration/v1/vmmigration-gen.go +++ b/vmmigration/v1/vmmigration-gen.go @@ -2109,8 +2109,8 @@ type MigratingVm struct { // source). CreateTime string `json:"createTime,omitempty"` - // CurrentSyncInfo: Output only. The percentage progress of the current - // running replication cycle. + // CurrentSyncInfo: Output only. Details of the current running + // replication cycle. CurrentSyncInfo *ReplicationCycle `json:"currentSyncInfo,omitempty"` // Description: The description attached to the migrating VM by the