From 6a8be6aa91660e43e4a63138fdcc4d45f2f9ff5d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 4 Aug 2022 07:13:24 -0700 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#1643) --- admin/directory/v1/admin-api.json | 57 +- admin/directory/v1/admin-gen.go | 72 +- .../v1alpha/analyticsadmin-api.json | 510 +- analyticsadmin/v1alpha/analyticsadmin-gen.go | 1066 + bigquery/v2/bigquery-api.json | 8 +- bigquery/v2/bigquery-gen.go | 13 +- cloudidentity/v1/cloudidentity-api.json | 7 +- cloudidentity/v1/cloudidentity-gen.go | 5 - .../v3/cloudresourcemanager-api.json | 10 +- .../v3/cloudresourcemanager-gen.go | 24 +- cloudsearch/v1/cloudsearch-api.json | 11869 +++++++- cloudsearch/v1/cloudsearch-gen.go | 22350 +++++++++++++--- .../v1/containeranalysis-api.json | 6 +- containeranalysis/v1/containeranalysis-gen.go | 2 +- .../v1alpha1/containeranalysis-api.json | 29 +- .../v1alpha1/containeranalysis-gen.go | 44 +- .../v1beta1/containeranalysis-api.json | 6 +- .../v1beta1/containeranalysis-gen.go | 2 +- content/v2.1/content-api.json | 222 +- content/v2.1/content-gen.go | 302 +- 20 files changed, 31415 insertions(+), 5189 deletions(-) diff --git a/admin/directory/v1/admin-api.json b/admin/directory/v1/admin-api.json index 124a8e4f7e5..b39c6572695 100644 --- a/admin/directory/v1/admin-api.json +++ b/admin/directory/v1/admin-api.json @@ -4407,7 +4407,7 @@ } } }, - "revision": "20220621", + "revision": "20220802", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -5131,6 +5131,10 @@ "description": "The Chrome device's firmware version.", "type": "string" }, + "firstEnrollmentTime": { + "description": "Date and time for the first time the device was enrolled.", + "type": "string" + }, "kind": { "default": "admin#directory#chromeosdevice", "description": "The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`.", @@ -5196,6 +5200,10 @@ "description": "The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).", "type": "string" }, + "osUpdateStatus": { + "$ref": "OsUpdateStatus", + "description": "The status of the OS updates for the device." + }, "osVersion": { "description": "The Chrome device's operating system version.", "type": "string" @@ -5914,7 +5922,7 @@ "type": "boolean" }, "aliases": { - "description": "Read-only. A list of a group's alias email addresses.", + "description": "Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored.", "items": { "type": "string" }, @@ -5956,7 +5964,7 @@ "type": "string" }, "nonEditableAliases": { - "description": "Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service.", + "description": "Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored.", "items": { "type": "string" }, @@ -6426,6 +6434,49 @@ }, "type": "object" }, + "OsUpdateStatus": { + "description": "Contains information regarding the current OS update status.", + "id": "OsUpdateStatus", + "properties": { + "rebootTime": { + "description": "Date and time of the last reboot.", + "type": "string" + }, + "state": { + "description": "The update state of an OS update.", + "enum": [ + "updateStateUnspecified", + "updateStateNotStarted", + "updateStateDownloadInProgress", + "updateStateNeedReboot" + ], + "enumDescriptions": [ + "The update state is unspecified.", + "There is an update pending but it hasn't started.", + "The pending update is being downloaded.", + "The device is ready to install the update, but it just needs to reboot." + ], + "type": "string" + }, + "targetKioskAppVersion": { + "description": "New required platform version from the pending updated kiosk app.", + "type": "string" + }, + "targetOsVersion": { + "description": "New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy \"0.0.0.0\" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot.", + "type": "string" + }, + "updateCheckTime": { + "description": "Date and time of the last update check.", + "type": "string" + }, + "updateTime": { + "description": "Date and time of the last successful OS update.", + "type": "string" + } + }, + "type": "object" + }, "Printer": { "description": "Printer configuration.", "id": "Printer", diff --git a/admin/directory/v1/admin-gen.go b/admin/directory/v1/admin-gen.go index 3edac477b1d..19b7a572cd2 100644 --- a/admin/directory/v1/admin-gen.go +++ b/admin/directory/v1/admin-gen.go @@ -1449,6 +1449,10 @@ type ChromeOsDevice struct { // FirmwareVersion: The Chrome device's firmware version. FirmwareVersion string `json:"firmwareVersion,omitempty"` + // FirstEnrollmentTime: Date and time for the first time the device was + // enrolled. + FirstEnrollmentTime string `json:"firstEnrollmentTime,omitempty"` + // Kind: The type of resource. For the Chromeosdevices resource, the // value is `admin#directory#chromeosdevice`. Kind string `json:"kind,omitempty"` @@ -1521,6 +1525,9 @@ type ChromeOsDevice struct { // center (https://support.google.com/a/answer/182433). OrgUnitPath string `json:"orgUnitPath,omitempty"` + // OsUpdateStatus: The status of the OS updates for the device. + OsUpdateStatus *OsUpdateStatus `json:"osUpdateStatus,omitempty"` + // OsVersion: The Chrome device's operating system version. OsVersion string `json:"osVersion,omitempty"` @@ -2993,7 +3000,10 @@ type Group struct { // an administrator rather than a user. AdminCreated bool `json:"adminCreated,omitempty"` - // Aliases: Read-only. A list of a group's alias email addresses. + // Aliases: Read-only. A list of a group's alias email addresses. To + // add, update, or remove a group's aliases, use the `groups.aliases` + // methods. If edited in a group's POST or PUT request, the edit is + // ignored. Aliases []string `json:"aliases,omitempty"` // Description: An extended description to help users determine the @@ -3036,7 +3046,7 @@ type Group struct { // domain or subdomains. These are functioning email addresses used by // the group. This is a read-only property returned in the API's // response for a group. If edited in a group's POST or PUT request, the - // edit is ignored by the API service. + // edit is ignored. NonEditableAliases []string `json:"nonEditableAliases,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -3766,6 +3776,64 @@ func (s *OrgUnits) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OsUpdateStatus: Contains information regarding the current OS update +// status. +type OsUpdateStatus struct { + // RebootTime: Date and time of the last reboot. + RebootTime string `json:"rebootTime,omitempty"` + + // State: The update state of an OS update. + // + // Possible values: + // "updateStateUnspecified" - The update state is unspecified. + // "updateStateNotStarted" - There is an update pending but it hasn't + // started. + // "updateStateDownloadInProgress" - The pending update is being + // downloaded. + // "updateStateNeedReboot" - The device is ready to install the + // update, but it just needs to reboot. + State string `json:"state,omitempty"` + + // TargetKioskAppVersion: New required platform version from the pending + // updated kiosk app. + TargetKioskAppVersion string `json:"targetKioskAppVersion,omitempty"` + + // TargetOsVersion: New platform version of the OS image being + // downloaded and applied. It is only set when update status is + // UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note + // this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for + // some edge cases, e.g. update engine is restarted without a reboot. + TargetOsVersion string `json:"targetOsVersion,omitempty"` + + // UpdateCheckTime: Date and time of the last update check. + UpdateCheckTime string `json:"updateCheckTime,omitempty"` + + // UpdateTime: Date and time of the last successful OS update. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RebootTime") 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. "RebootTime") 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 *OsUpdateStatus) MarshalJSON() ([]byte, error) { + type NoMethod OsUpdateStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Printer: Printer configuration. type Printer struct { // AuxiliaryMessages: Output only. Auxiliary messages about issues with diff --git a/analyticsadmin/v1alpha/analyticsadmin-api.json b/analyticsadmin/v1alpha/analyticsadmin-api.json index f1dc3c015be..dff1cf3e16a 100644 --- a/analyticsadmin/v1alpha/analyticsadmin-api.json +++ b/analyticsadmin/v1alpha/analyticsadmin-api.json @@ -889,6 +889,35 @@ "https://www.googleapis.com/auth/analytics.edit" ] }, + "runAccessReport": { + "description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 Data API, and other products like Firebase \u0026 Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).", + "flatPath": "v1alpha/properties/{propertiesId}:runAccessReport", + "httpMethod": "POST", + "id": "analyticsadmin.properties.runAccessReport", + "parameterOrder": [ + "entity" + ], + "parameters": { + "entity": { + "description": "The Data Access Report is requested for this property. For example if \"123\" is your GA4 property ID, then entity should be \"properties/123\".", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+entity}:runAccessReport", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, "updateAttributionSettings": { "description": "Updates attribution settings on a property.", "flatPath": "v1alpha/properties/{propertiesId}/attributionSettings", @@ -2773,9 +2802,373 @@ } } }, - "revision": "20220802", + "revision": "20220803", "rootUrl": "https://analyticsadmin.googleapis.com/", "schemas": { + "GoogleAnalyticsAdminV1alphaAccessBetweenFilter": { + "description": "To express that the result needs to be between two numbers (inclusive).", + "id": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", + "properties": { + "fromValue": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "Begins with this number." + }, + "toValue": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "Ends with this number." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDateRange": { + "description": "A contiguous range of days: startDate, startDate + 1, ..., endDate.", + "id": "GoogleAnalyticsAdminV1alphaAccessDateRange", + "properties": { + "endDate": { + "description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", + "type": "string" + }, + "startDate": { + "description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDimension": { + "description": "Dimensions are attributes of your data. For example, the dimension `userEmail` indicates the email of the user that accessed reporting data. Dimension values in report responses are strings.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimension", + "properties": { + "dimensionName": { + "description": "The API name of the dimension. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of dimensions supported in this API. Dimensions are referenced by name in `dimensionFilter` and `orderBys`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDimensionHeader": { + "description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader", + "properties": { + "dimensionName": { + "description": "The dimension's name; for example 'userEmail'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDimensionValue": { + "description": "The value of a dimension.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimensionValue", + "properties": { + "value": { + "description": "The dimension value. For example, this value may be 'France' for the 'country' dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilter": { + "description": "An expression to filter dimension or metric values.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilter", + "properties": { + "betweenFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", + "description": "A filter for two values." + }, + "fieldName": { + "description": "The dimension name or metric name.", + "type": "string" + }, + "inListFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessInListFilter", + "description": "A filter for in list values." + }, + "numericFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", + "description": "A filter for numeric or date values." + }, + "stringFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessStringFilter", + "description": "Strings related filter." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilterExpression": { + "description": "Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "properties": { + "accessFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilter", + "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics." + }, + "andGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "description": "Each of the FilterExpressions in the and_group has an AND relationship." + }, + "notExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "The FilterExpression is NOT of not_expression." + }, + "orGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "description": "Each of the FilterExpressions in the or_group has an OR relationship." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList": { + "description": "A list of filter expressions.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "properties": { + "expressions": { + "description": "A list of filter expressions.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessInListFilter": { + "description": "The result needs to be in a list of string values.", + "id": "GoogleAnalyticsAdminV1alphaAccessInListFilter", + "properties": { + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "values": { + "description": "The list of string values. Must be non-empty.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessMetric": { + "description": "The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetric", + "properties": { + "metricName": { + "description": "The API name of the metric. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of metrics supported in this API. Metrics are referenced by name in `metricFilter` \u0026 `orderBys`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessMetricHeader": { + "description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetricHeader", + "properties": { + "metricName": { + "description": "The metric's name; for example 'accessCount'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessMetricValue": { + "description": "The value of a metric.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetricValue", + "properties": { + "value": { + "description": "The measurement value. For example, this value may be '13'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessNumericFilter": { + "description": "Filters for numeric or date values.", + "id": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", + "properties": { + "operation": { + "description": "The operation type for this filter.", + "enum": [ + "OPERATION_UNSPECIFIED", + "EQUAL", + "LESS_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL" + ], + "enumDescriptions": [ + "Unspecified.", + "Equal", + "Less than", + "Less than or equal", + "Greater than", + "Greater than or equal" + ], + "type": "string" + }, + "value": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "A numeric value or a date value." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderBy": { + "description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending access count is one ordering, and ordering rows by the country string is a different ordering.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderBy", + "properties": { + "desc": { + "description": "If true, sorts by descending order. If false or unspecified, sorts in ascending order.", + "type": "boolean" + }, + "dimension": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", + "description": "Sorts results by a dimension's values." + }, + "metric": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", + "description": "Sorts results by a metric's values." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy": { + "description": "Sorts by dimension values.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", + "properties": { + "dimensionName": { + "description": "A dimension name in the request to order by.", + "type": "string" + }, + "orderType": { + "description": "Controls the rule for dimension value ordering.", + "enum": [ + "ORDER_TYPE_UNSPECIFIED", + "ALPHANUMERIC", + "CASE_INSENSITIVE_ALPHANUMERIC", + "NUMERIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Alphanumeric sort by Unicode code point. For example, \"2\" \u003c \"A\" \u003c \"X\" \u003c \"b\" \u003c \"z\".", + "Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" \u003c \"A\" \u003c \"b\" \u003c \"X\" \u003c \"z\".", + "Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" \u003c \"100\", and in `ALPHANUMERIC` sort, \"100\" \u003c \"25\". Non-numeric dimension values all have equal ordering value below all numeric values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy": { + "description": "Sorts by metric values.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", + "properties": { + "metricName": { + "description": "A metric name in the request to order by.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessQuota": { + "description": "Current state of all quotas for this Analytics property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.", + "id": "GoogleAnalyticsAdminV1alphaAccessQuota", + "properties": { + "concurrentRequests": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use up to 50 concurrent requests." + }, + "serverErrorsPerProjectPerHour": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties and cloud project pairs can have up to 50 server errors per hour." + }, + "tokensPerDay": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens." + }, + "tokensPerHour": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from both the hourly and daily quotas." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessQuotaStatus": { + "description": "Current state for a particular quota group.", + "id": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "properties": { + "consumed": { + "description": "Quota consumed by this request.", + "format": "int32", + "type": "integer" + }, + "remaining": { + "description": "Quota remaining after this request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessRow": { + "description": "Access report data for each row.", + "id": "GoogleAnalyticsAdminV1alphaAccessRow", + "properties": { + "dimensionValues": { + "description": "List of dimension values. These values are in the same order as specified in the request.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionValue" + }, + "type": "array" + }, + "metricValues": { + "description": "List of metric values. These values are in the same order as specified in the request.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessStringFilter": { + "description": "The filter for strings.", + "id": "GoogleAnalyticsAdminV1alphaAccessStringFilter", + "properties": { + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "matchType": { + "description": "The match type for this filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "EXACT", + "BEGINS_WITH", + "ENDS_WITH", + "CONTAINS", + "FULL_REGEXP", + "PARTIAL_REGEXP" + ], + "enumDescriptions": [ + "Unspecified", + "Exact match of the string value.", + "Begins with the string value.", + "Ends with the string value.", + "Contains the string value.", + "Full match for the regular expression with the string value.", + "Partial match for the regular expression with the string value." + ], + "type": "string" + }, + "value": { + "description": "The string value used for the matching.", + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaAccount": { "description": "A resource message representing a Google Analytics account.", "id": "GoogleAnalyticsAdminV1alphaAccount", @@ -4559,6 +4952,23 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaNumericValue": { + "description": "To represent a number.", + "id": "GoogleAnalyticsAdminV1alphaNumericValue", + "properties": { + "doubleValue": { + "description": "Double value", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "Integer value", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaProperty": { "description": "A resource message representing a Google Analytics GA4 property.", "id": "GoogleAnalyticsAdminV1alphaProperty", @@ -4769,6 +5179,104 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaRunAccessReportRequest": { + "description": "The request for a Data Access Record Report.", + "id": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest", + "properties": { + "dateRanges": { + "description": "Date ranges of access records to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the access records for the overlapping days is included in the response rows for both date ranges. Requests are allowed up to 2 date ranges.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDateRange" + }, + "type": "array" + }, + "dimensionFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "Dimension filters allow you to restrict report response to specific dimension values which match the filter. For example, filtering on access records of a single user. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter." + }, + "dimensions": { + "description": "The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimension" + }, + "type": "array" + }, + "limit": { + "description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for. `limit` must be positive. The API may return fewer rows than the requested `limit`, if there aren't as many remaining rows as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int64", + "type": "string" + }, + "metricFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "Metric filters allow you to restrict report response to specific metric values which match the filter. Metric filters are applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." + }, + "metrics": { + "description": "The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetric" + }, + "type": "array" + }, + "offset": { + "description": "The row count of the start row. The first row is counted as row 0. If offset is unspecified, it is treated as 0. If offset is zero, then this method will return the first page of results with `limit` entries. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "Specifies how rows are ordered in the response.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderBy" + }, + "type": "array" + }, + "returnEntityQuota": { + "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [AccessQuota](#AccessQuota).", + "type": "boolean" + }, + "timeZone": { + "description": "This request's time zone if specified. If unspecified, the property's time zone is used. The request's time zone is used to interpret the start \u0026 end dates of the report. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaRunAccessReportResponse": { + "description": "The customized Data Access Record Report response.", + "id": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse", + "properties": { + "dimensionHeaders": { + "description": "The header for a column in the report that corresponds to a specific dimension. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader" + }, + "type": "array" + }, + "metricHeaders": { + "description": "The header for a column in the report that corresponds to a specific metric. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricHeader" + }, + "type": "array" + }, + "quota": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuota", + "description": "The quota state for this Analytics property including this request." + }, + "rowCount": { + "description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int32", + "type": "integer" + }, + "rows": { + "description": "Rows of dimension value combinations and metric values in the report.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessRow" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest": { "description": "Request message for SearchChangeHistoryEvents RPC.", "id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest", diff --git a/analyticsadmin/v1alpha/analyticsadmin-gen.go b/analyticsadmin/v1alpha/analyticsadmin-gen.go index cf81863d236..8105fa01838 100644 --- a/analyticsadmin/v1alpha/analyticsadmin-gen.go +++ b/analyticsadmin/v1alpha/analyticsadmin-gen.go @@ -329,6 +329,720 @@ type PropertiesUserLinksService struct { s *Service } +// GoogleAnalyticsAdminV1alphaAccessBetweenFilter: To express that the +// result needs to be between two numbers (inclusive). +type GoogleAnalyticsAdminV1alphaAccessBetweenFilter struct { + // FromValue: Begins with this number. + FromValue *GoogleAnalyticsAdminV1alphaNumericValue `json:"fromValue,omitempty"` + + // ToValue: Ends with this number. + ToValue *GoogleAnalyticsAdminV1alphaNumericValue `json:"toValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FromValue") 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. "FromValue") 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 *GoogleAnalyticsAdminV1alphaAccessBetweenFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessBetweenFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessDateRange: A contiguous range of +// days: startDate, startDate + 1, ..., endDate. +type GoogleAnalyticsAdminV1alphaAccessDateRange struct { + // EndDate: The inclusive end date for the query in the format + // `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, + // `yesterday`, or `today` is also accepted, and in that case, the date + // is inferred based on the current time in the request's time zone. + EndDate string `json:"endDate,omitempty"` + + // StartDate: The inclusive start date for the query in the format + // `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, + // `yesterday`, or `today` is also accepted, and in that case, the date + // is inferred based on the current time in the request's time zone. + StartDate string `json:"startDate,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndDate") 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. "EndDate") 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 *GoogleAnalyticsAdminV1alphaAccessDateRange) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessDateRange + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessDimension: Dimensions are attributes +// of your data. For example, the dimension `userEmail` indicates the +// email of the user that accessed reporting data. Dimension values in +// report responses are strings. +type GoogleAnalyticsAdminV1alphaAccessDimension struct { + // DimensionName: The API name of the dimension. See Data Access Schema + // (https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) + // for the list of dimensions supported in this API. Dimensions are + // referenced by name in `dimensionFilter` and `orderBys`. + DimensionName string `json:"dimensionName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DimensionName") 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. "DimensionName") 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 *GoogleAnalyticsAdminV1alphaAccessDimension) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessDimension + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessDimensionHeader: Describes a +// dimension column in the report. Dimensions requested in a report +// produce column entries within rows and DimensionHeaders. However, +// dimensions used exclusively within filters or expressions do not +// produce columns in a report; correspondingly, those dimensions do not +// produce headers. +type GoogleAnalyticsAdminV1alphaAccessDimensionHeader struct { + // DimensionName: The dimension's name; for example 'userEmail'. + DimensionName string `json:"dimensionName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DimensionName") 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. "DimensionName") 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 *GoogleAnalyticsAdminV1alphaAccessDimensionHeader) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessDimensionHeader + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessDimensionValue: The value of a +// dimension. +type GoogleAnalyticsAdminV1alphaAccessDimensionValue struct { + // Value: The dimension value. For example, this value may be 'France' + // for the 'country' dimension. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Value") 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. "Value") 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 *GoogleAnalyticsAdminV1alphaAccessDimensionValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessDimensionValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessFilter: An expression to filter +// dimension or metric values. +type GoogleAnalyticsAdminV1alphaAccessFilter struct { + // BetweenFilter: A filter for two values. + BetweenFilter *GoogleAnalyticsAdminV1alphaAccessBetweenFilter `json:"betweenFilter,omitempty"` + + // FieldName: The dimension name or metric name. + FieldName string `json:"fieldName,omitempty"` + + // InListFilter: A filter for in list values. + InListFilter *GoogleAnalyticsAdminV1alphaAccessInListFilter `json:"inListFilter,omitempty"` + + // NumericFilter: A filter for numeric or date values. + NumericFilter *GoogleAnalyticsAdminV1alphaAccessNumericFilter `json:"numericFilter,omitempty"` + + // StringFilter: Strings related filter. + StringFilter *GoogleAnalyticsAdminV1alphaAccessStringFilter `json:"stringFilter,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BetweenFilter") 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. "BetweenFilter") 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 *GoogleAnalyticsAdminV1alphaAccessFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessFilterExpression: Expresses +// dimension or metric filters. The fields in the same expression need +// to be either all dimensions or all metrics. +type GoogleAnalyticsAdminV1alphaAccessFilterExpression struct { + // AccessFilter: A primitive filter. In the same FilterExpression, all + // of the filter's field names need to be either all dimensions or all + // metrics. + AccessFilter *GoogleAnalyticsAdminV1alphaAccessFilter `json:"accessFilter,omitempty"` + + // AndGroup: Each of the FilterExpressions in the and_group has an AND + // relationship. + AndGroup *GoogleAnalyticsAdminV1alphaAccessFilterExpressionList `json:"andGroup,omitempty"` + + // NotExpression: The FilterExpression is NOT of not_expression. + NotExpression *GoogleAnalyticsAdminV1alphaAccessFilterExpression `json:"notExpression,omitempty"` + + // OrGroup: Each of the FilterExpressions in the or_group has an OR + // relationship. + OrGroup *GoogleAnalyticsAdminV1alphaAccessFilterExpressionList `json:"orGroup,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccessFilter") 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. "AccessFilter") 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 *GoogleAnalyticsAdminV1alphaAccessFilterExpression) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessFilterExpression + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessFilterExpressionList: A list of +// filter expressions. +type GoogleAnalyticsAdminV1alphaAccessFilterExpressionList struct { + // Expressions: A list of filter expressions. + Expressions []*GoogleAnalyticsAdminV1alphaAccessFilterExpression `json:"expressions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Expressions") 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. "Expressions") 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 *GoogleAnalyticsAdminV1alphaAccessFilterExpressionList) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessFilterExpressionList + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessInListFilter: The result needs to be +// in a list of string values. +type GoogleAnalyticsAdminV1alphaAccessInListFilter struct { + // CaseSensitive: If true, the string value is case sensitive. + CaseSensitive bool `json:"caseSensitive,omitempty"` + + // Values: The list of string values. Must be non-empty. + Values []string `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CaseSensitive") 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. "CaseSensitive") 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 *GoogleAnalyticsAdminV1alphaAccessInListFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessInListFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessMetric: The quantitative +// measurements of a report. For example, the metric `accessCount` is +// the total number of data access records. +type GoogleAnalyticsAdminV1alphaAccessMetric struct { + // MetricName: The API name of the metric. See Data Access Schema + // (https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) + // for the list of metrics supported in this API. Metrics are referenced + // by name in `metricFilter` & `orderBys`. + MetricName string `json:"metricName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MetricName") 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. "MetricName") 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 *GoogleAnalyticsAdminV1alphaAccessMetric) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessMetric + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessMetricHeader: Describes a metric +// column in the report. Visible metrics requested in a report produce +// column entries within rows and MetricHeaders. However, metrics used +// exclusively within filters or expressions do not produce columns in a +// report; correspondingly, those metrics do not produce headers. +type GoogleAnalyticsAdminV1alphaAccessMetricHeader struct { + // MetricName: The metric's name; for example 'accessCount'. + MetricName string `json:"metricName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MetricName") 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. "MetricName") 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 *GoogleAnalyticsAdminV1alphaAccessMetricHeader) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessMetricHeader + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessMetricValue: The value of a metric. +type GoogleAnalyticsAdminV1alphaAccessMetricValue struct { + // Value: The measurement value. For example, this value may be '13'. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Value") 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. "Value") 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 *GoogleAnalyticsAdminV1alphaAccessMetricValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessMetricValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessNumericFilter: Filters for numeric +// or date values. +type GoogleAnalyticsAdminV1alphaAccessNumericFilter struct { + // Operation: The operation type for this filter. + // + // Possible values: + // "OPERATION_UNSPECIFIED" - Unspecified. + // "EQUAL" - Equal + // "LESS_THAN" - Less than + // "LESS_THAN_OR_EQUAL" - Less than or equal + // "GREATER_THAN" - Greater than + // "GREATER_THAN_OR_EQUAL" - Greater than or equal + Operation string `json:"operation,omitempty"` + + // Value: A numeric value or a date value. + Value *GoogleAnalyticsAdminV1alphaNumericValue `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Operation") 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. "Operation") 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 *GoogleAnalyticsAdminV1alphaAccessNumericFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessNumericFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessOrderBy: Order bys define how rows +// will be sorted in the response. For example, ordering rows by +// descending access count is one ordering, and ordering rows by the +// country string is a different ordering. +type GoogleAnalyticsAdminV1alphaAccessOrderBy struct { + // Desc: If true, sorts by descending order. If false or unspecified, + // sorts in ascending order. + Desc bool `json:"desc,omitempty"` + + // Dimension: Sorts results by a dimension's values. + Dimension *GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy `json:"dimension,omitempty"` + + // Metric: Sorts results by a metric's values. + Metric *GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy `json:"metric,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Desc") 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. "Desc") 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 *GoogleAnalyticsAdminV1alphaAccessOrderBy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessOrderBy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy: Sorts by +// dimension values. +type GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy struct { + // DimensionName: A dimension name in the request to order by. + DimensionName string `json:"dimensionName,omitempty"` + + // OrderType: Controls the rule for dimension value ordering. + // + // Possible values: + // "ORDER_TYPE_UNSPECIFIED" - Unspecified. + // "ALPHANUMERIC" - Alphanumeric sort by Unicode code point. For + // example, "2" < "A" < "X" < "b" < "z". + // "CASE_INSENSITIVE_ALPHANUMERIC" - Case insensitive alphanumeric + // sort by lower case Unicode code point. For example, "2" < "A" < "b" < + // "X" < "z". + // "NUMERIC" - Dimension values are converted to numbers before + // sorting. For example in NUMERIC sort, "25" < "100", and in + // `ALPHANUMERIC` sort, "100" < "25". Non-numeric dimension values all + // have equal ordering value below all numeric values. + OrderType string `json:"orderType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DimensionName") 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. "DimensionName") 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 *GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy: Sorts by +// metric values. +type GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy struct { + // MetricName: A metric name in the request to order by. + MetricName string `json:"metricName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MetricName") 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. "MetricName") 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 *GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessQuota: Current state of all quotas +// for this Analytics property. If any quota for a property is +// exhausted, all requests to that property will return Resource +// Exhausted errors. +type GoogleAnalyticsAdminV1alphaAccessQuota struct { + // ConcurrentRequests: Properties can use up to 50 concurrent requests. + ConcurrentRequests *GoogleAnalyticsAdminV1alphaAccessQuotaStatus `json:"concurrentRequests,omitempty"` + + // ServerErrorsPerProjectPerHour: Properties and cloud project pairs can + // have up to 50 server errors per hour. + ServerErrorsPerProjectPerHour *GoogleAnalyticsAdminV1alphaAccessQuotaStatus `json:"serverErrorsPerProjectPerHour,omitempty"` + + // TokensPerDay: Properties can use 250,000 tokens per day. Most + // requests consume fewer than 10 tokens. + TokensPerDay *GoogleAnalyticsAdminV1alphaAccessQuotaStatus `json:"tokensPerDay,omitempty"` + + // TokensPerHour: Properties can use 50,000 tokens per hour. An API + // request consumes a single number of tokens, and that number is + // deducted from both the hourly and daily quotas. + TokensPerHour *GoogleAnalyticsAdminV1alphaAccessQuotaStatus `json:"tokensPerHour,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConcurrentRequests") + // 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. "ConcurrentRequests") 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 *GoogleAnalyticsAdminV1alphaAccessQuota) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessQuota + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessQuotaStatus: Current state for a +// particular quota group. +type GoogleAnalyticsAdminV1alphaAccessQuotaStatus struct { + // Consumed: Quota consumed by this request. + Consumed int64 `json:"consumed,omitempty"` + + // Remaining: Quota remaining after this request. + Remaining int64 `json:"remaining,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Consumed") 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. "Consumed") 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 *GoogleAnalyticsAdminV1alphaAccessQuotaStatus) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessQuotaStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessRow: Access report data for each +// row. +type GoogleAnalyticsAdminV1alphaAccessRow struct { + // DimensionValues: List of dimension values. These values are in the + // same order as specified in the request. + DimensionValues []*GoogleAnalyticsAdminV1alphaAccessDimensionValue `json:"dimensionValues,omitempty"` + + // MetricValues: List of metric values. These values are in the same + // order as specified in the request. + MetricValues []*GoogleAnalyticsAdminV1alphaAccessMetricValue `json:"metricValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DimensionValues") 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. "DimensionValues") 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 *GoogleAnalyticsAdminV1alphaAccessRow) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessRow + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaAccessStringFilter: The filter for +// strings. +type GoogleAnalyticsAdminV1alphaAccessStringFilter struct { + // CaseSensitive: If true, the string value is case sensitive. + CaseSensitive bool `json:"caseSensitive,omitempty"` + + // MatchType: The match type for this filter. + // + // Possible values: + // "MATCH_TYPE_UNSPECIFIED" - Unspecified + // "EXACT" - Exact match of the string value. + // "BEGINS_WITH" - Begins with the string value. + // "ENDS_WITH" - Ends with the string value. + // "CONTAINS" - Contains the string value. + // "FULL_REGEXP" - Full match for the regular expression with the + // string value. + // "PARTIAL_REGEXP" - Partial match for the regular expression with + // the string value. + MatchType string `json:"matchType,omitempty"` + + // Value: The string value used for the matching. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CaseSensitive") 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. "CaseSensitive") 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 *GoogleAnalyticsAdminV1alphaAccessStringFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaAccessStringFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleAnalyticsAdminV1alphaAccount: A resource message representing a // Google Analytics account. type GoogleAnalyticsAdminV1alphaAccount struct { @@ -3424,6 +4138,51 @@ func (s *GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret) MarshalJSON() ([] return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleAnalyticsAdminV1alphaNumericValue: To represent a number. +type GoogleAnalyticsAdminV1alphaNumericValue struct { + // DoubleValue: Double value + DoubleValue float64 `json:"doubleValue,omitempty"` + + // Int64Value: Integer value + Int64Value int64 `json:"int64Value,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "DoubleValue") 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. "DoubleValue") 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 *GoogleAnalyticsAdminV1alphaNumericValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaNumericValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleAnalyticsAdminV1alphaNumericValue) UnmarshalJSON(data []byte) error { + type NoMethod GoogleAnalyticsAdminV1alphaNumericValue + var s1 struct { + DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.DoubleValue = float64(s1.DoubleValue) + return nil +} + // GoogleAnalyticsAdminV1alphaProperty: A resource message representing // a Google Analytics GA4 property. type GoogleAnalyticsAdminV1alphaProperty struct { @@ -3677,6 +4436,155 @@ func (s *GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse) MarshalJSON( return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleAnalyticsAdminV1alphaRunAccessReportRequest: The request for a +// Data Access Record Report. +type GoogleAnalyticsAdminV1alphaRunAccessReportRequest struct { + // DateRanges: Date ranges of access records to read. If multiple date + // ranges are requested, each response row will contain a zero based + // date range index. If two date ranges overlap, the access records for + // the overlapping days is included in the response rows for both date + // ranges. Requests are allowed up to 2 date ranges. + DateRanges []*GoogleAnalyticsAdminV1alphaAccessDateRange `json:"dateRanges,omitempty"` + + // DimensionFilter: Dimension filters allow you to restrict report + // response to specific dimension values which match the filter. For + // example, filtering on access records of a single user. To learn more, + // see Fundamentals of Dimension Filters + // (https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) + // for examples. Metrics cannot be used in this filter. + DimensionFilter *GoogleAnalyticsAdminV1alphaAccessFilterExpression `json:"dimensionFilter,omitempty"` + + // Dimensions: The dimensions requested and displayed in the response. + // Requests are allowed up to 9 dimensions. + Dimensions []*GoogleAnalyticsAdminV1alphaAccessDimension `json:"dimensions,omitempty"` + + // Limit: The number of rows to return. If unspecified, 10,000 rows are + // returned. The API returns a maximum of 100,000 rows per request, no + // matter how many you ask for. `limit` must be positive. The API may + // return fewer rows than the requested `limit`, if there aren't as many + // remaining rows as the `limit`. For instance, there are fewer than 300 + // possible values for the dimension `country`, so when reporting on + // only `country`, you can't get more than 300 rows, even if you set + // `limit` to a higher value. To learn more about this pagination + // parameter, see Pagination + // (https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + Limit int64 `json:"limit,omitempty,string"` + + // MetricFilter: Metric filters allow you to restrict report response to + // specific metric values which match the filter. Metric filters are + // applied after aggregating the report's rows, similar to SQL + // having-clause. Dimensions cannot be used in this filter. + MetricFilter *GoogleAnalyticsAdminV1alphaAccessFilterExpression `json:"metricFilter,omitempty"` + + // Metrics: The metrics requested and displayed in the response. + // Requests are allowed up to 10 metrics. + Metrics []*GoogleAnalyticsAdminV1alphaAccessMetric `json:"metrics,omitempty"` + + // Offset: The row count of the start row. The first row is counted as + // row 0. If offset is unspecified, it is treated as 0. If offset is + // zero, then this method will return the first page of results with + // `limit` entries. To learn more about this pagination parameter, see + // Pagination + // (https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + Offset int64 `json:"offset,omitempty,string"` + + // OrderBys: Specifies how rows are ordered in the response. + OrderBys []*GoogleAnalyticsAdminV1alphaAccessOrderBy `json:"orderBys,omitempty"` + + // ReturnEntityQuota: Toggles whether to return the current state of + // this Analytics Property's quota. Quota is returned in AccessQuota + // (#AccessQuota). + ReturnEntityQuota bool `json:"returnEntityQuota,omitempty"` + + // TimeZone: This request's time zone if specified. If unspecified, the + // property's time zone is used. The request's time zone is used to + // interpret the start & end dates of the report. Formatted as strings + // from the IANA Time Zone database (https://www.iana.org/time-zones); + // for example "America/New_York" or "Asia/Tokyo". + TimeZone string `json:"timeZone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DateRanges") 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. "DateRanges") 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 *GoogleAnalyticsAdminV1alphaRunAccessReportRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaRunAccessReportRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAnalyticsAdminV1alphaRunAccessReportResponse: The customized +// Data Access Record Report response. +type GoogleAnalyticsAdminV1alphaRunAccessReportResponse struct { + // DimensionHeaders: The header for a column in the report that + // corresponds to a specific dimension. The number of DimensionHeaders + // and ordering of DimensionHeaders matches the dimensions present in + // rows. + DimensionHeaders []*GoogleAnalyticsAdminV1alphaAccessDimensionHeader `json:"dimensionHeaders,omitempty"` + + // MetricHeaders: The header for a column in the report that corresponds + // to a specific metric. The number of MetricHeaders and ordering of + // MetricHeaders matches the metrics present in rows. + MetricHeaders []*GoogleAnalyticsAdminV1alphaAccessMetricHeader `json:"metricHeaders,omitempty"` + + // Quota: The quota state for this Analytics property including this + // request. + Quota *GoogleAnalyticsAdminV1alphaAccessQuota `json:"quota,omitempty"` + + // RowCount: The total number of rows in the query result. `rowCount` is + // independent of the number of rows returned in the response, the + // `limit` request parameter, and the `offset` request parameter. For + // example if a query returns 175 rows and includes `limit` of 50 in the + // API request, the response will contain `rowCount` of 175 but only 50 + // rows. To learn more about this pagination parameter, see Pagination + // (https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). + RowCount int64 `json:"rowCount,omitempty"` + + // Rows: Rows of dimension value combinations and metric values in the + // report. + Rows []*GoogleAnalyticsAdminV1alphaAccessRow `json:"rows,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DimensionHeaders") 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. "DimensionHeaders") 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 *GoogleAnalyticsAdminV1alphaRunAccessReportResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleAnalyticsAdminV1alphaRunAccessReportResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest: Request // message for SearchChangeHistoryEvents RPC. type GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest struct { @@ -8147,6 +9055,164 @@ func (c *PropertiesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleAnalytics } +// method id "analyticsadmin.properties.runAccessReport": + +type PropertiesRunAccessReportCall struct { + s *Service + entity string + googleanalyticsadminv1alpharunaccessreportrequest *GoogleAnalyticsAdminV1alphaRunAccessReportRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RunAccessReport: Returns a customized report of data access records. +// The report provides records of each time a user reads Google +// Analytics reporting data. Access records are retained for up to 2 +// years. Data Access Reports can be requested for a property. The +// property must be in Google Analytics 360. This method is only +// available to Administrators. These data access records include GA4 UI +// Reporting, GA4 UI Explorations, GA4 Data API, and other products like +// Firebase & Admob that can retrieve data from Google Analytics through +// a linkage. These records don't include property configuration changes +// like adding a stream or changing a property's time zone. For +// configuration change history, see searchChangeHistoryEvents +// (https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). +// +// - entity: The Data Access Report is requested for this property. For +// example if "123" is your GA4 property ID, then entity should be +// "properties/123". +func (r *PropertiesService) RunAccessReport(entity string, googleanalyticsadminv1alpharunaccessreportrequest *GoogleAnalyticsAdminV1alphaRunAccessReportRequest) *PropertiesRunAccessReportCall { + c := &PropertiesRunAccessReportCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.entity = entity + c.googleanalyticsadminv1alpharunaccessreportrequest = googleanalyticsadminv1alpharunaccessreportrequest + 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 *PropertiesRunAccessReportCall) Fields(s ...googleapi.Field) *PropertiesRunAccessReportCall { + 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 *PropertiesRunAccessReportCall) Context(ctx context.Context) *PropertiesRunAccessReportCall { + 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 *PropertiesRunAccessReportCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PropertiesRunAccessReportCall) 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.googleanalyticsadminv1alpharunaccessreportrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+entity}:runAccessReport") + 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{ + "entity": c.entity, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "analyticsadmin.properties.runAccessReport" call. +// Exactly one of *GoogleAnalyticsAdminV1alphaRunAccessReportResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleAnalyticsAdminV1alphaRunAccessReportResponse.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 *PropertiesRunAccessReportCall) Do(opts ...googleapi.CallOption) (*GoogleAnalyticsAdminV1alphaRunAccessReportResponse, 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, &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, err + } + ret := &GoogleAnalyticsAdminV1alphaRunAccessReportResponse{ + 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": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 Data API, and other products like Firebase \u0026 Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).", + // "flatPath": "v1alpha/properties/{propertiesId}:runAccessReport", + // "httpMethod": "POST", + // "id": "analyticsadmin.properties.runAccessReport", + // "parameterOrder": [ + // "entity" + // ], + // "parameters": { + // "entity": { + // "description": "The Data Access Report is requested for this property. For example if \"123\" is your GA4 property ID, then entity should be \"properties/123\".", + // "location": "path", + // "pattern": "^properties/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+entity}:runAccessReport", + // "request": { + // "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest" + // }, + // "response": { + // "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/analytics.edit", + // "https://www.googleapis.com/auth/analytics.readonly" + // ] + // } + +} + // method id "analyticsadmin.properties.updateAttributionSettings": type PropertiesUpdateAttributionSettingsCall struct { diff --git a/bigquery/v2/bigquery-api.json b/bigquery/v2/bigquery-api.json index ac3ae805758..2a6da6e8322 100644 --- a/bigquery/v2/bigquery-api.json +++ b/bigquery/v2/bigquery-api.json @@ -1710,7 +1710,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -5686,15 +5686,15 @@ "id": "RemoteFunctionOptions", "properties": { "connection": { - "description": "Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id}", + "description": "Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```\"projects/{projectId}/locations/{locationId}/connections/{connectionId}\"```", "type": "string" }, "endpoint": { - "description": "Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions).", + "description": "Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add```", "type": "string" }, "maxBatchingRows": { - "description": "Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit.", + "description": "Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.", "format": "int64", "type": "string" }, diff --git a/bigquery/v2/bigquery-gen.go b/bigquery/v2/bigquery-gen.go index ff2ccea8d26..b29143cf370 100644 --- a/bigquery/v2/bigquery-gen.go +++ b/bigquery/v2/bigquery-gen.go @@ -6864,17 +6864,18 @@ func (s *RegressionMetrics) UnmarshalJSON(data []byte) error { type RemoteFunctionOptions struct { // Connection: Fully qualified name of the user-provided connection // object which holds the authentication information to send requests to - // the remote service. - // projects/{project_id}/locations/{location_id}/connections/{connection_ - // id} + // the remote service. Format: + // ``"projects/{projectId}/locations/{locationId}/connections/{connectio + // nId}"`` Connection string `json:"connection,omitempty"` - // Endpoint: Endpoint of the user-provided remote service (e.g. a - // function url in Google Cloud Functions). + // Endpoint: Endpoint of the user-provided remote service, e.g. + // ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` Endpoint string `json:"endpoint,omitempty"` // MaxBatchingRows: Max number of rows in each batch sent to the remote - // service. If absent or if 0, it means no limit. + // service. If absent or if 0, BigQuery dynamically decides the number + // of rows in a batch. MaxBatchingRows int64 `json:"maxBatchingRows,omitempty,string"` // UserDefinedContext: User-defined context as a set of key/value pairs, diff --git a/cloudidentity/v1/cloudidentity-api.json b/cloudidentity/v1/cloudidentity-api.json index 97744df4b71..4c9e45d475a 100644 --- a/cloudidentity/v1/cloudidentity-api.json +++ b/cloudidentity/v1/cloudidentity-api.json @@ -158,7 +158,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] }, @@ -184,7 +183,6 @@ "$ref": "UserInvitation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -211,7 +209,6 @@ "$ref": "IsInvitableUserResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -259,7 +256,6 @@ "$ref": "ListUserInvitationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -289,7 +285,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] } @@ -1613,7 +1608,7 @@ } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "CancelUserInvitationRequest": { diff --git a/cloudidentity/v1/cloudidentity-gen.go b/cloudidentity/v1/cloudidentity-gen.go index 5676c10509e..59ab2c4a47c 100644 --- a/cloudidentity/v1/cloudidentity-gen.go +++ b/cloudidentity/v1/cloudidentity-gen.go @@ -2960,7 +2960,6 @@ func (c *CustomersUserinvitationsCancelCall) Do(opts ...googleapi.CallOption) (* // "$ref": "Operation" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-identity", // "https://www.googleapis.com/auth/cloud-identity.userinvitations" // ] // } @@ -3111,7 +3110,6 @@ func (c *CustomersUserinvitationsGetCall) Do(opts ...googleapi.CallOption) (*Use // "$ref": "UserInvitation" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-identity", // "https://www.googleapis.com/auth/cloud-identity.userinvitations", // "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" // ] @@ -3267,7 +3265,6 @@ func (c *CustomersUserinvitationsIsInvitableUserCall) Do(opts ...googleapi.CallO // "$ref": "IsInvitableUserResponse" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-identity", // "https://www.googleapis.com/auth/cloud-identity.userinvitations", // "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" // ] @@ -3479,7 +3476,6 @@ func (c *CustomersUserinvitationsListCall) Do(opts ...googleapi.CallOption) (*Li // "$ref": "ListUserInvitationsResponse" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-identity", // "https://www.googleapis.com/auth/cloud-identity.userinvitations", // "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" // ] @@ -3651,7 +3647,6 @@ func (c *CustomersUserinvitationsSendCall) Do(opts ...googleapi.CallOption) (*Op // "$ref": "Operation" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-identity", // "https://www.googleapis.com/auth/cloud-identity.userinvitations" // ] // } diff --git a/cloudresourcemanager/v3/cloudresourcemanager-api.json b/cloudresourcemanager/v3/cloudresourcemanager-api.json index e42d6ee1e3c..533e3d13a53 100644 --- a/cloudresourcemanager/v3/cloudresourcemanager-api.json +++ b/cloudresourcemanager/v3/cloudresourcemanager-api.json @@ -1464,7 +1464,7 @@ ] }, "get": { - "description": "Retrieves TagValue. If the TagValue or namespaced name does not exist, or if the user does not have permission to view it, this method will return `PERMISSION_DENIED`.", + "description": "Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it.", "flatPath": "v3/tagValues/{tagValuesId}", "httpMethod": "GET", "id": "cloudresourcemanager.tagValues.get", @@ -1760,7 +1760,7 @@ } } }, - "revision": "20220710", + "revision": "20220731", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1997,11 +1997,11 @@ "type": "boolean" }, "namespacedTagKey": { - "description": "The namespaced_name of the TagKey, in the format of `{organization_id}/{tag_key_short_name}`", + "description": "The namespaced_name of the TagKey. Now only supported in the format of `{organization_id}/{tag_key_short_name}`. Other formats will be supported when we add non-org parented tags.", "type": "string" }, "namespacedTagValue": { - "description": "Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`.", + "description": "Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. Other formats will be supported when we add non-org parented tags.", "type": "string" }, "tagKey": { @@ -2866,7 +2866,7 @@ "type": "string" }, "namespacedName": { - "description": "Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`.", + "description": "Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags.", "readOnly": true, "type": "string" }, diff --git a/cloudresourcemanager/v3/cloudresourcemanager-gen.go b/cloudresourcemanager/v3/cloudresourcemanager-gen.go index e23e73f76f3..49adf8aacad 100644 --- a/cloudresourcemanager/v3/cloudresourcemanager-gen.go +++ b/cloudresourcemanager/v3/cloudresourcemanager-gen.go @@ -655,13 +655,15 @@ type EffectiveTag struct { // value is directly attached to the resource, inherited will be false. Inherited bool `json:"inherited,omitempty"` - // NamespacedTagKey: The namespaced_name of the TagKey, in the format of - // `{organization_id}/{tag_key_short_name}` + // NamespacedTagKey: The namespaced_name of the TagKey. Now only + // supported in the format of `{organization_id}/{tag_key_short_name}`. + // Other formats will be supported when we add non-org parented tags. NamespacedTagKey string `json:"namespacedTagKey,omitempty"` - // NamespacedTagValue: Namespaced name of the TagValue. Must be in the - // format + // NamespacedTagValue: Namespaced name of the TagValue. Now only + // supported in the format // `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. + // Other formats will be supported when we add non-org parented tags. NamespacedTagValue string `json:"namespacedTagValue,omitempty"` // TagKey: The name of the TagKey, in the format `tagKeys/{id}`, such as @@ -2270,8 +2272,10 @@ type TagValue struct { // `tagValues/456`. Name string `json:"name,omitempty"` - // NamespacedName: Output only. Namespaced name of the TagValue. Must be - // in the format `{organization_id}/{tag_key_short_name}/{short_name}`. + // NamespacedName: Output only. Namespaced name of the TagValue. Now + // only supported in the format + // `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats + // will be supported when we add non-org parented tags. NamespacedName string `json:"namespacedName,omitempty"` // Parent: Immutable. The resource name of the new TagValue's parent @@ -9819,9 +9823,9 @@ type TagValuesGetCall struct { header_ http.Header } -// Get: Retrieves TagValue. If the TagValue or namespaced name does not -// exist, or if the user does not have permission to view it, this -// method will return `PERMISSION_DENIED`. +// Get: Retrieves a TagValue. This method will return +// `PERMISSION_DENIED` if the value does not exist or the user does not +// have permission to view it. // // - name: Resource name for TagValue to be fetched in the format // `tagValues/456`. @@ -9930,7 +9934,7 @@ func (c *TagValuesGetCall) Do(opts ...googleapi.CallOption) (*TagValue, error) { } return ret, nil // { - // "description": "Retrieves TagValue. If the TagValue or namespaced name does not exist, or if the user does not have permission to view it, this method will return `PERMISSION_DENIED`.", + // "description": "Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it.", // "flatPath": "v3/tagValues/{tagValuesId}", // "httpMethod": "GET", // "id": "cloudresourcemanager.tagValues.get", diff --git a/cloudsearch/v1/cloudsearch-api.json b/cloudsearch/v1/cloudsearch-api.json index 6e467a6efad..0a6dd0558a0 100644 --- a/cloudsearch/v1/cloudsearch-api.json +++ b/cloudsearch/v1/cloudsearch-api.json @@ -1193,6 +1193,41 @@ "https://www.googleapis.com/auth/cloud_search.settings.indexing" ] }, + "patch": { + "description": "Updates a datasource. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/datasources/{datasourcesId}", + "httpMethod": "PATCH", + "id": "cloudsearch.settings.datasources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "debugOptions.enableDebugging": { + "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "location": "path", + "pattern": "^datasources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/settings/{+name}", + "request": { + "$ref": "DataSource" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.indexing" + ] + }, "update": { "description": "Updates a datasource. **Note:** This API requires an admin account to execute.", "flatPath": "v1/settings/datasources/{datasourcesId}", @@ -1345,6 +1380,36 @@ "https://www.googleapis.com/auth/cloud_search.settings.query" ] }, + "patch": { + "description": "Updates a search application. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/searchapplications/{searchapplicationsId}", + "httpMethod": "PATCH", + "id": "cloudsearch.settings.searchapplications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the Search Application. Format: searchapplications/{application_id}.", + "location": "path", + "pattern": "^searchapplications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/settings/{+name}", + "request": { + "$ref": "SearchApplication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.query" + ] + }, "reset": { "description": "Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.", "flatPath": "v1/settings/searchapplications/{searchapplicationsId}:reset", @@ -1994,9 +2059,45 @@ } } }, - "revision": "20220718", + "revision": "20220725", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { + "AbuseReportingConfig": { + "description": "Abuse reporting configuration outlining what is supported in this conference.", + "id": "AbuseReportingConfig", + "properties": { + "recordingAllowed": { + "description": "Whether the current call may include video recordings in its abuse reports.", + "type": "boolean" + }, + "writtenUgcAllowed": { + "description": "Whether the current call may include user generated content (chat, polls, Q\u0026A...) in its abuse reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "AckInfo": { + "description": "Information about how devices in a meeting have acked for a session/operation.", + "id": "AckInfo", + "properties": { + "unackedDeviceCount": { + "description": "Output only. Number of meeting devices that have not acked yet.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "unackedDeviceIds": { + "description": "Output only. IDs of meeting devices (at most ten are provided) that have not acked yet.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "AclInfo": { "description": "Next tag: 4", "id": "AclInfo", @@ -2034,9 +2135,209 @@ }, "type": "object" }, - "AppId": { + "ActionParameter": { + "description": "List of string parameters that developers can specify when the above action method (in apps script) is invoked. An example use case is for 3 snooze buttons: snooze now, snooze 1 day, snooze next week. Developers can have action method = snooze() and pass the snooze type and snooze time in list of string parameters.", + "id": "ActionParameter", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "AllAuthenticatedUsersProto": { + "description": "Represents a principal who has authenticated as any kind of user which the application understands. This is typically used for \"wiki-like\" security, where anyone is allowed access so long as they can be held accountable for that access. Since the purpose is knowing whom to blame, it is up to the application to decide what kinds of users it knows how to blame. For example, an application might choose to include GAIA users in \"all authenticated users\", but not include MDB users. Nothing here.", + "id": "AllAuthenticatedUsersProto", + "properties": {}, + "type": "object" + }, + "AppsDynamiteAnnotation": { + "description": "NOTE WHEN ADDING NEW PROTO FIELDS: Be sure to add datapol annotations to new fields with potential PII, so they get scrubbed when logging protos for errors. NEXT TAG: 29", + "id": "AppsDynamiteAnnotation", + "properties": { + "babelPlaceholderMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadata" + }, + "cardCapabilityMetadata": { + "$ref": "AppsDynamiteCardCapabilityMetadata", + "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" + }, + "chipRenderType": { + "description": "Whether the annotation should be rendered as a chip. If this is missing or unspecified, fallback to should_not_render on the metadata.", + "enum": [ + "CHIP_RENDER_TYPE_UNSPECIFIED", + "RENDER", + "RENDER_IF_POSSIBLE", + "DO_NOT_RENDER" + ], + "enumDescriptions": [ + "", + "Clients must render the annotation as a chip, and if they cannot render this many Annotations, show a fallback card.", + "Client can render the annotation if it has room to render it.", + "Client should not render the annotation as a chip." + ], + "type": "string" + }, + "consentedAppUnfurlMetadata": { + "$ref": "AppsDynamiteConsentedAppUnfurlMetadata" + }, + "customEmojiMetadata": { + "$ref": "AppsDynamiteCustomEmojiMetadata" + }, + "dataLossPreventionMetadata": { + "$ref": "AppsDynamiteDataLossPreventionMetadata" + }, + "driveMetadata": { + "$ref": "AppsDynamiteDriveMetadata", + "description": "Chip annotations" + }, + "formatMetadata": { + "$ref": "AppsDynamiteFormatMetadata" + }, + "groupRetentionSettingsUpdated": { + "$ref": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData" + }, + "gsuiteIntegrationMetadata": { + "$ref": "AppsDynamiteGsuiteIntegrationMetadata", + "description": "Metadata for 1P integrations like tasks, calendar. These are supported only through integration server as 1P integrations use the integration API (which in turn uses backend API with special permissions) to post messages. Clients should never set this. LINT.IfChange" + }, + "incomingWebhookChangedMetadata": { + "$ref": "AppsDynamiteIncomingWebhookChangedMetadata" + }, + "integrationConfigUpdated": { + "$ref": "AppsDynamiteIntegrationConfigUpdatedMetadata", + "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" + }, + "length": { + "description": "Length of the text_body substring beginning from start_index the Annotation corresponds to.", + "format": "int32", + "type": "integer" + }, + "localId": { + "description": "A unique client-assigned ID for this annotation. This is helpful in matching the back-filled annotations to the original annotations on client side, without having to re-parse the message.", + "type": "string" + }, + "membershipChanged": { + "$ref": "AppsDynamiteMembershipChangedMetadata", + "description": "Metadata for system messages. Clients should never set this. LINT.IfChange" + }, + "readReceiptsSettingsMetadata": { + "$ref": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata" + }, + "requiredMessageFeaturesMetadata": { + "$ref": "AppsDynamiteRequiredMessageFeaturesMetadata", + "description": "Metadata that defines all of the required features that must be rendered in the message. Clients can use this to see whether they support the entire message, or show a fallback chip otherwise. See go/message-quoting-client-to-server for details. LINT.ThenChange( //depot/google3/java/com/google/apps/dynamite/v1/allshared/parser/AnnotationSanitizer.java, //depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java, //depot/google3/java/com/google/caribou/eli/mediation/chat/AnnotationTranslator.java )" + }, + "roomUpdated": { + "$ref": "AppsDynamiteRoomUpdatedMetadata" + }, + "serverInvalidated": { + "description": "Whether or not the annotation is invalidated by the server. Example of situations for invalidation include: when the URL is malformed, or when Drive item ID is rejected by Drive Service.", + "type": "boolean" + }, + "slashCommandMetadata": { + "$ref": "AppsDynamiteSlashCommandMetadata" + }, + "startIndex": { + "description": "Start index (0-indexed) of the Message text the Annotation corresponds to, inclusive.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "Type of the Annotation.", + "enum": [ + "TYPE_UNSPECIFIED", + "URL", + "DRIVE_FILE", + "DRIVE_DOC", + "DRIVE_SHEET", + "DRIVE_SLIDE", + "DRIVE_FORM", + "USER_MENTION", + "SLASH_COMMAND", + "CONSENTED_APP_UNFURL", + "VIDEO", + "FORMAT_DATA", + "IMAGE", + "PDF", + "VIDEO_CALL", + "UPLOAD_METADATA", + "GSUITE_INTEGRATION", + "CUSTOM_EMOJI", + "CARD_CAPABILITY", + "DATA_LOSS_PREVENTION", + "REQUIRED_MESSAGE_FEATURES_METADATA", + "MEMBERSHIP_CHANGED", + "ROOM_UPDATED", + "GROUP_RETENTION_SETTINGS_UPDATED", + "BABEL_PLACEHOLDER", + "READ_RECEIPTS_SETTINGS_UPDATED", + "INCOMING_WEBHOOK_CHANGED", + "INTEGRATION_CONFIG_UPDATED", + "INVITATION" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "These can have overlaps, i.e. same message can have multiple of these. For example a Drive link to a PDF can have URL, DRIVE_FILE and PDF all set Links", + "Any drive file", + "", + "", + "", + "", + "", + "", + "", + "Any video, not just youtube, the url decides how to play", + "UI should not be concerned with FORMAT_DATA", + "", + "", + "For Thor integration", + "Blobstore uploads", + "Generic annotation for gsuite integrations", + "", + "Card capability for in-stream widgets.", + "", + "Clients can use this to see whether they support the entire message, or show a fallback chip otherwise.", + "Annotation types for system messages. Clients should never set this.", + "", + "", + "", + "", + "", + "", + "Message-level annotations. First message of an invite. Should not be set by clients." + ], + "type": "string" + }, + "uniqueId": { + "description": "A unique server-assigned ID for this annotation. This is helpful in matching annotation objects when fetched from service.", + "type": "string" + }, + "uploadMetadata": { + "$ref": "AppsDynamiteUploadMetadata" + }, + "urlMetadata": { + "$ref": "AppsDynamiteUrlMetadata" + }, + "userMentionMetadata": { + "$ref": "AppsDynamiteUserMentionMetadata", + "description": "Metadata that clients can set for annotations. LINT.IfChange In-text annotations" + }, + "videoCallMetadata": { + "$ref": "AppsDynamiteVideoCallMetadata" + }, + "youtubeMetadata": { + "$ref": "AppsDynamiteYoutubeMetadata" + } + }, + "type": "object" + }, + "AppsDynamiteAppId": { "description": "Identifier of an App.", - "id": "AppId", + "id": "AppsDynamiteAppId", "properties": { "appType": { "description": "Enum indicating the type of App this is.", @@ -2092,1305 +2393,8768 @@ }, "type": "object" }, - "AuditLoggingSettings": { - "description": "Represents the settings for Cloud audit logging", - "id": "AuditLoggingSettings", + "AppsDynamiteAttachment": { + "description": "Attachments that follow the message text.", + "id": "AppsDynamiteAttachment", "properties": { - "logAdminReadActions": { - "description": "Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.", - "type": "boolean" - }, - "logDataReadActions": { - "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", - "type": "boolean" + "addOnData": { + "$ref": "GoogleChatV1ContextualAddOnMarkup", + "description": "Revised version of Gmail AddOn attachment approved by API design review." }, - "logDataWriteActions": { - "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", - "type": "boolean" + "appId": { + "$ref": "AppsDynamiteUserId", + "description": "The userId for the bot/app that created this data, to be used for attribution of attachments when the attachment was not created by the message sender." }, - "project": { - "description": "The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id}", + "attachmentId": { + "description": "To identify an attachment within repeated in a message", "type": "string" + }, + "cardAddOnData": { + "$ref": "AppsDynamiteSharedCard", + "description": "Card AddOn attachment with the possibility for specifying editable widgets." + }, + "deprecatedAddOnData": { + "$ref": "ContextualAddOnMarkup", + "description": "Deprecated version of Gmail AddOn attachment." + }, + "slackData": { + "$ref": "AppsDynamiteV1ApiCompatV1Attachment", + "description": "Slack attachment." + }, + "slackDataImageUrlHeight": { + "description": "The height of image url as fetched by fife. This field is asynchronously filled.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "AvatarInfo": { - "id": "AvatarInfo", + "AppsDynamiteBabelMessageProps": { + "description": "Container for Babel (Hangouts Classic) only message properties. The properties here will not be consumed by Dynamite clients. They are relevant only for Hangouts Classic.", + "id": "AppsDynamiteBabelMessageProps", "properties": { - "emoji": { - "$ref": "Emoji" + "clientGeneratedId": { + "description": "Babel clients locally generate this ID to dedupe against the async fanout.", + "format": "int64", + "type": "string" + }, + "contentExtension": { + "$ref": "ChatContentExtension", + "description": "Stores additional Babel-specific properties (such as event metadata)." + }, + "deliveryMedium": { + "$ref": "DeliveryMedium", + "description": "Stores the delivery source of messages (such as phone number for SMS)." + }, + "eventId": { + "description": "Primary identifier used by Hangouts Classic for its events (messages).", + "type": "string" + }, + "messageContent": { + "$ref": "MessageContent", + "description": "Stores message segments (text content) and attachments (media URLs)." + }, + "wasUpdatedByBackfill": { + "description": "Whether or not these message properties were backfilled by go/dinnertrain.", + "type": "boolean" } }, "type": "object" }, - "BooleanOperatorOptions": { - "description": "Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "BooleanOperatorOptions", + "AppsDynamiteBabelPlaceholderMetadata": { + "description": "Annotation metadata for Babel-only items that signals which type of placeholder message should be displayed in Babel clients.", + "id": "AppsDynamiteBabelPlaceholderMetadata", "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is *closed* and the property's name is *isClosed*, then queries like *closed:\u003cvalue\u003e* show results only where the value of the property named *isClosed* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", - "type": "string" + "deleteMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata" + }, + "editMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataEditMetadata" + }, + "hangoutVideoMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata" } }, "type": "object" }, - "BooleanPropertyOptions": { - "description": "The options for boolean properties.", - "id": "BooleanPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "BooleanOperatorOptions", - "description": "If set, describes how the boolean should be used as a search operator." - } - }, + "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata": { + "description": "A message delete in Dynamite inserts a Babel-only item containing this field. This is only inserted for messages before the source-of-truth flip. See go/hsc-message-deletions for more details.", + "id": "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata", + "properties": {}, "type": "object" }, - "CheckAccessResponse": { - "id": "CheckAccessResponse", + "AppsDynamiteBabelPlaceholderMetadataEditMetadata": { + "description": "A message edit in Dynamite inserts a Babel-only item containing this field.", + "id": "AppsDynamiteBabelPlaceholderMetadataEditMetadata", + "properties": {}, + "type": "object" + }, + "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata": { + "description": "A message representing the Hangout video start/end events in Babel", + "id": "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata", "properties": { - "hasAccess": { - "description": "Returns true if principal has access. Returns false otherwise.", - "type": "boolean" + "hangoutVideoType": { + "enum": [ + "UNKNOWN_HANGOUT_VIDEO_EVENT_TYPE", + "VIDEO_START", + "VIDEO_END" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "CompositeFilter": { - "id": "CompositeFilter", + "AppsDynamiteBackendDlpScanSummary": { + "description": "A summary of a DLP scan event. This is a summary and should contain the minimum amount of data required to identify and process DLP scans. It is written to Starcast and encoded \u0026 returned to the client on attachment upload.", + "id": "AppsDynamiteBackendDlpScanSummary", "properties": { - "logicOperator": { - "description": "The logic operator of the sub filter.", + "scanId": { + "description": "The scan ID of the corresponding {@link DlpViolationScanRecord} in the {@link EphemeralDlpScans} Spanner table. This can be used to fetch additional details about the scan, e.g. for audit logging.", + "type": "string" + }, + "scanNotApplicableForContext": { + "description": "Indicates that was no attempt to scan a message or attachment because it was not applicable in the given context (e.g. atomic mutuate). If this is true, scan_outcome should not be set. This flag is used to identify messages that DLP did not attempt to scan for monitoring scan coverage. Contents that DLP attempted to scan but skipped can be identified by DlpScanOutcome.SCAN_SKIPPED_* reasons.", + "type": "boolean" + }, + "scanOutcome": { + "description": "The outcome of a DLP Scan. If this is set, scan_not_applicable_for_context should not be true.", "enum": [ - "AND", - "OR", - "NOT" + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" ], "enumDescriptions": [ - "Logical operators, which can only be applied to sub filters.", "", - "NOT can only be applied on a single sub filter." + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." ], "type": "string" - }, - "subFilters": { - "description": "Sub filters.", - "items": { - "$ref": "Filter" - }, - "type": "array" } }, "type": "object" }, - "ContextAttribute": { - "description": "A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.", - "id": "ContextAttribute", + "AppsDynamiteBackendLabelsCommunalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a communal type that's associated with a message.", + "id": "AppsDynamiteBackendLabelsCommunalLabelTag", "properties": { - "name": { - "description": "The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.", - "type": "string" + "creatorUserId": { + "description": "Gaia ID of the user who added the tag, if any. Not present for any tags automatically created by server-side processing.", + "format": "int64", + "type": "string" }, - "values": { - "description": "Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.", - "items": { - "type": "string" - }, - "type": "array" + "labelId": { + "description": "A string ID representing the label. Possible ID values are documented at go/chat-labels-howto:ids. Example: \"^*t_p\" for \"Pinned\".", + "type": "string" } }, "type": "object" }, - "CustomEmoji": { - "description": "Proto representation of a custom emoji. May be used in both APIs and in Spanner, but certain fields should be restricted to one or the other. See the per-field documentation for details. NEXT_TAG: 14", - "id": "CustomEmoji", + "AppsDynamiteBackendLabelsPersonalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a personal type that's associated with a message.", + "id": "AppsDynamiteBackendLabelsPersonalLabelTag", "properties": { - "blobId": { - "description": "ID for the underlying image data in Blobstore. This field should *only* be present in Spanner or within the server, but should not be exposed in public APIs.", - "type": "string" - }, - "contentType": { - "description": "Content type of the file used to upload the emoji. Used for takeout. Written to Spanner when the emoji is created.", - "type": "string" - }, - "createTimeMicros": { - "description": "Time when the Emoji was created, in microseconds. This field may be present in Spanner, within the server, or in public APIs.", - "format": "int64", - "type": "string" - }, - "creatorUserId": { - "$ref": "UserId", - "description": "This field should *never* be persisted to Spanner." - }, - "deleteTimeMicros": { - "description": "Time when the emoji was deleted, in microseconds. This field may be present in Spanner, within the server, or in public APIs. Only present if the emoji has been deleted.", - "format": "int64", - "type": "string" - }, - "ephemeralUrl": { - "description": "Output only. A short-lived URL clients can use for directly accessing a custom emoji image. This field is intended for API consumption, and should *never* be persisted to Spanner.", - "readOnly": true, - "type": "string" - }, - "ownerCustomerId": { - "$ref": "CustomerId", - "description": "This field should *never* be persisted to Spanner." - }, - "readToken": { - "description": "Opaque token that clients use to construct the URL for accessing the custom emoji’s image data. This field is intended for API consumption, and should *never* be persisted to Spanner.", - "type": "string" - }, - "shortcode": { - "description": "User-provided, human-readable ID for the custom emoji. Users are expected to observe this field in the UI instead of the UUID. This shortcode should be unique within an organization, but has no global uniqueness guarantees, unlike the UUID. This field should *never* be persisted to Spanner.", + "labelId": { + "description": "A string ID representing the label. Possible ID values are documented at go/chat-labels-howto:ids. Examples: \"^t\" for \"Starred\", \"^nu\" for \"Nudged\".", "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteBotResponse": { + "description": "Information about a bot response, branched from shared/bot_response.proto without frontend User proto as we never store it.", + "id": "AppsDynamiteBotResponse", + "properties": { + "botId": { + "$ref": "AppsDynamiteUserId" }, - "state": { - "description": "Snapshot of the current state of the emoji, which may differ from the source-of-truth in the CustomEmojis table. This field should *never* be persisted to Spanner.", + "requiredAction": { "enum": [ - "EMOJI_STATE_UNSPECIFIED", - "EMOJI_ENABLED", - "EMOJI_SYSTEM_DISABLED", - "EMOJI_HIDDEN", - "EMOJI_DELETED" + "UNKNOWN_SETUP_TYPE", + "CONFIGURATION", + "AUTHENTICATION" ], "enumDescriptions": [ "", - "Emoji is visible and available to be used, subject to access control requirements.", - "Emoji can no longer be used (e.g. due to a shortcode conflict), but is not removed from existing embeddings.", - "Emoji is hidden from pickers, so new usages are not allowed, but is not removed from existing embeddings.", - "Emoji is removed everywhere and is not available to end-users." + "Bot requires configuration.", + "Bot requires authentication." ], "type": "string" }, - "updateTimeMicros": { - "format": "int64", + "responseType": { + "enum": [ + "UNKNOWN_RESPONSE_TYPE", + "ERROR", + "SETUP_REQUIRED", + "DISABLED_BY_ADMIN", + "DISABLED_BY_DEVELOPER", + "PRIVATE" + ], + "enumDescriptions": [ + "", + "Bot fails to respond because of deadline_exceeded or failing to parse bot message.", + "Bot requires auth or config", + "Bot fails to respond because it is disabled by domain admin", + "Bot fails to respond because it is disabled by the bot's developer", + "Message to bot should be permanently private." + ], "type": "string" }, - "uuid": { - "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "setupUrl": { + "description": "URL for setting up bot.", "type": "string" } }, "type": "object" }, - "CustomerId": { - "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", - "id": "CustomerId", + "AppsDynamiteCardCapabilityMetadata": { + "id": "AppsDynamiteCardCapabilityMetadata", "properties": { - "customerId": { - "type": "string" + "requiredCapabilities": { + "description": "NEXT TAG : 2", + "items": { + "enum": [ + "UNKNOWN", + "SUPPORTS_BASE_CARDS" + ], + "enumDescriptions": [ + "", + "NEXT TAG : 2" + ], + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "CustomerIndexStats": { - "description": "Aggregation of items by status code as of the specified date.", - "id": "CustomerIndexStats", + "AppsDynamiteConsentedAppUnfurlMetadata": { + "description": "Annotation metadata app unfurl consent.", + "id": "AppsDynamiteConsentedAppUnfurlMetadata", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which statistics were calculated." - }, - "itemCountByStatus": { - "description": "Number of items aggregrated by status code.", - "items": { - "$ref": "ItemCountByStatus" - }, - "type": "array" + "clientSpecifiedAppId": { + "$ref": "AppsDynamiteUserId", + "description": "Client specified AppId, which will not be sanitized and is untrusted." } }, "type": "object" }, - "CustomerQueryStats": { - "id": "CustomerQueryStats", + "AppsDynamiteContentReport": { + "id": "AppsDynamiteContentReport", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which query stats were calculated. Stats calculated on the next day close to midnight are returned." + "reportCreateTimestamp": { + "description": "The time at which the report is generated. Always populated when it is in a response.", + "format": "google-datetime", + "type": "string" }, - "queryCountByStatus": { - "items": { - "$ref": "QueryCountByStatus" - }, - "type": "array" + "reportJustification": { + "$ref": "AppsDynamiteContentReportJustification", + "description": "Additional user-provided justification on the report. Optional." + }, + "reportType": { + "$ref": "AppsDynamiteSharedContentReportType", + "description": "Type of the report. Always populated when it is in a response." + }, + "reporterUserId": { + "$ref": "AppsDynamiteUserId", + "description": "User ID of the reporter. Always populated when it is in a response." + }, + "revisionCreateTimestamp": { + "description": "Create timestamp of the revisions of the message when it's reported. Always populated when it is in a response.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "CustomerSearchApplicationStats": { - "description": "Search application stats for a customer for the given date.", - "id": "CustomerSearchApplicationStats", + "AppsDynamiteContentReportJustification": { + "id": "AppsDynamiteContentReportJustification", "properties": { - "count": { - "description": "The count of search applications for the date.", - "format": "int64", + "userJustification": { + "description": "Optional. User-generated free-text justification for the content report.", "type": "string" - }, - "date": { - "$ref": "Date", - "description": "The date for which search application stats were calculated." } }, "type": "object" }, - "CustomerSessionStats": { - "id": "CustomerSessionStats", + "AppsDynamiteCustomEmojiMetadata": { + "id": "AppsDynamiteCustomEmojiMetadata", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." - }, - "searchSessionsCount": { - "description": "The count of search sessions on the day", - "format": "int64", + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteCustomerId": { + "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", + "id": "AppsDynamiteCustomerId", + "properties": { + "customerId": { "type": "string" } }, "type": "object" }, - "CustomerSettings": { - "description": "Represents settings at a customer level.", - "id": "CustomerSettings", + "AppsDynamiteDataLossPreventionMetadata": { + "description": "Annotation metadata for Data Loss Prevention that pertains to DLP violation on message send or edit events. It is used for client -\u003e BE communication and other downstream process in BE (e.g. storage and audit logging), and it should never be returned to the client.", + "id": "AppsDynamiteDataLossPreventionMetadata", "properties": { - "auditLoggingSettings": { - "$ref": "AuditLoggingSettings", - "description": "Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "The DLP scan summary that should only be set after the message is scanned in the Chat backend." }, - "vpcSettings": { - "$ref": "VPCSettings", - "description": "VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + "warnAcknowledged": { + "description": "Flag set by client on message resend to bypass WARN violation.", + "type": "boolean" } }, "type": "object" }, - "CustomerUserStats": { - "id": "CustomerUserStats", + "AppsDynamiteDmId": { + "id": "AppsDynamiteDmId", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." - }, - "oneDayActiveUsersCount": { - "description": "The count of unique active users in the past one day", - "format": "int64", - "type": "string" - }, - "sevenDaysActiveUsersCount": { - "description": "The count of unique active users in the past seven days", - "format": "int64", - "type": "string" - }, - "thirtyDaysActiveUsersCount": { - "description": "The count of unique active users in the past thirty days", - "format": "int64", + "dmId": { + "description": "Unique server assigned Id, per Direct Message Space.", "type": "string" } }, "type": "object" }, - "DataSource": { - "description": "Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.", - "id": "DataSource", + "AppsDynamiteDriveMetadata": { + "description": "Annotation metadata for Drive artifacts.", + "id": "AppsDynamiteDriveMetadata", "properties": { - "disableModifications": { - "description": "If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.", + "aclFixRequest": { + "$ref": "AppsDynamiteDriveMetadataAclFixRequest" + }, + "aclFixStatus": { + "$ref": "AppsDynamiteDriveMetadataAclFixStatus" + }, + "canEdit": { + "description": "Can the current user edit this resource", "type": "boolean" }, - "disableServing": { - "description": "Disable serving any search or assist results.", + "canShare": { + "description": "Can the current user share this resource", "type": "boolean" }, - "displayName": { - "description": "Required. Display name of the datasource The maximum length is 300 characters.", + "canView": { + "description": "Can the current user view this resource", + "type": "boolean" + }, + "driveAction": { + "description": "DriveAction for organizing this file in Drive. If the user does not have access to the Drive file, the value will be DriveAction.DRIVE_ACTION_UNSPECIFIED. This field is only set when part of a FileResult in a ListFilesResponse.", + "enum": [ + "DRIVE_ACTION_UNSPECIFIED", + "ADD_TO_DRIVE", + "ORGANIZE", + "ADD_SHORTCUT", + "ADD_ANOTHER_SHORTCUT" + ], + "enumDescriptions": [ + "No organize action should be shown.", + "Show \"Add to Drive\" button, for adding file that doesn't exist in Drive to Drive. Note that deleted Drive files that still exist (i.e. in your Trash) will still be ORGANIZE (this is consistent with Gmail Drive attachments).", + "Show \"Move\" button, for organizing a Drive file the user has permission to move.", + "Show \"Add shortcut\" button, for adding a shortcut to a Drive file the user does not have permission to move.", + "Show \"Add another shortcut\" button, for Drive files the user has already created a shortcut to." + ], "type": "string" }, - "indexingServiceAccounts": { - "description": "List of service accounts that have indexing access.", - "items": { - "type": "string" - }, - "type": "array" + "driveState": { + "enum": [ + "DRIVE_STATE_UNSPECIFIED", + "IN_MY_DRIVE", + "IN_TEAM_DRIVE", + "SHARED_IN_DRIVE", + "NOT_IN_DRIVE" + ], + "enumDescriptions": [ + "Default value", + "File in My Drive", + "File in Team Drive", + "File in someone else's Drive, but is shared with the current user", + "File not in drive" + ], + "type": "string" }, - "itemsVisibility": { - "description": "This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.", - "items": { - "$ref": "GSuitePrincipal" - }, - "type": "array" + "embedUrl": { + "$ref": "TrustedResourceUrlProto", + "description": "Output only. Trusted Resource URL for drive file embedding.", + "readOnly": true }, - "name": { - "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "encryptedDocId": { + "description": "Indicates whether the Drive link contains an encrypted doc ID. If true, Dynamite should not attempt to query the doc ID in Drive Service. See go/docid-encryption for details.", + "type": "boolean" + }, + "encryptedResourceKey": { + "description": "This is deprecated and unneeded. TODO (b/182479059): Remove this.", "type": "string" }, - "operationIds": { - "description": "IDs of the Long Running Operations (LROs) currently running for this schema.", - "items": { - "type": "string" - }, - "type": "array" + "externalMimetype": { + "description": "External mimetype of the Drive Resource (Useful for creating Drive URL) See: http://b/35219462", + "type": "string" }, - "returnThumbnailUrls": { - "description": "Can a user request to get thumbnail URI for Items indexed in this data source.", + "id": { + "description": "Drive resource ID of the artifact.", + "type": "string" + }, + "isDownloadRestricted": { + "description": "Deprecated. Whether the setting to restrict downloads is enabled for this file. This was previously used to determine whether to hide the download and print buttons in the UI, but is no longer used by clients, because Projector now independently queries Drive to ensure that we have the most up-to-date value.", "type": "boolean" }, - "shortName": { - "description": "A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is *\u003cvalue\u003e* then queries like *source:\u003cvalue\u003e* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.", + "isOwner": { + "description": "If the current user is the Drive file's owner. The field is currently only set for Annotations for the ListFiles action (as opposed to fetching Topics/Messages with Drive annotations).", + "type": "boolean" + }, + "legacyUploadMetadata": { + "$ref": "AppsDynamiteDriveMetadataLegacyUploadMetadata", + "description": "Only present if this DriveMetadata is converted from an UploadMetadata." + }, + "mimetype": { + "description": "Mimetype of the Drive Resource", + "type": "string" + }, + "organizationDisplayName": { + "description": "The display name of the organization owning the Drive item.", + "type": "string" + }, + "shortcutAuthorizedItemId": { + "$ref": "AuthorizedItemId", + "description": "Shortcut ID of this drive file in the shared drive, which is associated with a named room this file was shared in. Shortcuts will not be created for DMs or unnamed rooms. This is populated after the DriveMetadata is migrated to shared drive. go/chat-shared-drive-uploads." + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "thumbnailHeight": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" + }, + "thumbnailUrl": { + "description": "Thumbnail image of the Drive Resource", + "type": "string" + }, + "thumbnailWidth": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" + }, + "title": { + "description": "Title of the Drive Resource", + "type": "string" + }, + "urlFragment": { + "description": "Url string fragment that generally indicates the specific location in the linked file. Example: #header=h.123abc456. If the fragment is not present this will not be present and therefore default to an empty string. The \"#\" will not be included.", "type": "string" + }, + "wrappedResourceKey": { + "$ref": "WrappedResourceKey", + "description": "This is considered SPII and should not be logged." } }, "type": "object" }, - "DataSourceIndexStats": { - "description": "Aggregation of items by status code as of the specified date.", - "id": "DataSourceIndexStats", + "AppsDynamiteDriveMetadataAclFixRequest": { + "description": "The request set by clients to instruct Backend how the user intend to fix the ACL. Technically it's not a request to ACL Fixer, because Backend uses /DriveService.Share to modify Drive ACLs.", + "id": "AppsDynamiteDriveMetadataAclFixRequest", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which index stats were calculated. If the date of request is not the current date then stats calculated on the next day are returned. Stats are calculated close to mid night in this case. If date of request is current date, then real time stats are returned." - }, - "itemCountByStatus": { - "description": "Number of items aggregrated by status code.", + "recipientEmails": { + "description": "For Spaces messages: This field is ignored. For DMs messages: The list of email addresses that should be added to the Drive item's ACL. In general, the list should not be empty when the boolean \"should_fix\" field is set; otherwise, the list should be empty. During transition - when clients do not specify this field but the \"should_fix\" is true, we follow the legacy behavior: share to all users in the DM regardless of emails. This behavior is being phased out.", "items": { - "$ref": "ItemCountByStatus" + "type": "string" }, "type": "array" + }, + "role": { + "enum": [ + "UNKNOWN", + "READER", + "COMMENTER", + "WRITER" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "shouldFix": { + "description": "Whether to attempt to fix the ACL by adding the room or DM members to the Drive file's ACL.", + "type": "boolean" } }, "type": "object" }, - "DataSourceRestriction": { - "description": "Restriction on Datasource.", - "id": "DataSourceRestriction", + "AppsDynamiteDriveMetadataAclFixStatus": { + "description": "The message reconstructed based on information in the response of /PermissionFixOptionsService.Query (or the Apiary API that wraps it). Indicates the ability of the requester to change the access to the Drive file for the room roster or the DM members. Used in GetMessagePreviewMetadataResponse only.", + "id": "AppsDynamiteDriveMetadataAclFixStatus", "properties": { - "filterOptions": { - "description": "Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: \"objecttype\", \"type\" and \"mimetype\". For now, schema specific filters cannot be used to filter suggestions.", + "fixability": { + "enum": [ + "UNKNOWN", + "ALREADY_ACCESSIBLE", + "CAN_FIX", + "CANNOT_FIX", + "ACL_FIXER_ERROR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "fixableEmailAddress": { + "description": "List of recipient email addresses for which access can be granted. This field contains the same email addresses from the GetMessagePreviewMetadata request if all recipients can be successfully added to the ACL as determined by Drive ACL Fixer. For now, the field is non-empty if and only if the \"fixability\" value is \"CAN_FIX\".", "items": { - "$ref": "FilterOptions" + "type": "string" }, "type": "array" }, - "source": { - "$ref": "Source", - "description": "The source of restriction." + "outOfDomainWarningEmailAddress": { + "description": "List of recipient email addresses for which an out-of-domain-sharing warning must be shown, stating that these email addresses are not in the Google Apps organization that the requested item belong to. Empty if all recipients are in the same Google Apps organization.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "Date": { - "description": "Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.", - "id": "Date", + "AppsDynamiteDriveMetadataLegacyUploadMetadata": { + "description": "The original UploadMetadata that this DriveMetadata was converted from.", + "id": "AppsDynamiteDriveMetadataLegacyUploadMetadata", "properties": { - "day": { - "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", - "format": "int32", - "type": "integer" + "legacyUniqueId": { + "description": "A unique ID generated from legacy UploadMetadata. This is used for interopping URLs after uploading blob to shared drive. Links in Classic might break without this. go/drive-file-attachment-interop-from-dynamite.", + "type": "string" }, - "month": { - "description": "Month of date. Must be from 1 to 12.", - "format": "int32", + "uploadMetadata": { + "$ref": "AppsDynamiteUploadMetadata", + "description": "The blob in this UploadMetadata has been uploaded to shared drive. This UploadMetadata is no longer attached to a message. go/shared-drive-data-migration." + } + }, + "type": "object" + }, + "AppsDynamiteFormatMetadata": { + "description": "Annotation metadata for markup formatting", + "id": "AppsDynamiteFormatMetadata", + "properties": { + "fontColor": { + "description": "Font color is set if and only if format_type is FONT_COLOR. The components are stored as (alpha \u003c\u003c 24) | (red \u003c\u003c 16) | (green \u003c\u003c 8) | blue. Clients should always set the alpha component to 0xFF. NEXT TAG: 3", + "format": "uint32", "type": "integer" }, - "year": { - "description": "Year of date. Must be from 1 to 9999.", - "format": "int32", - "type": "integer" + "formatType": { + "description": "LINT.ThenChange(//depot/google3/apps/dynamite/v1/web/datakeys/annotated_span.proto)", + "enum": [ + "TYPE_UNSPECIFIED", + "BOLD", + "ITALIC", + "STRIKE", + "SOURCE_CODE", + "MONOSPACE", + "HIDDEN", + "MONOSPACE_BLOCK", + "UNDERLINE", + "FONT_COLOR", + "BULLETED_LIST", + "BULLETED_LIST_ITEM", + "CLIENT_HIDDEN" + ], + "enumDescriptions": [ + "Default value for the enum.", + "", + "", + "", + "", + "Inline monospace.", + "", + "Multi-line monospace block.", + "", + "", + "Encloses BULLETED_LIST_ITEM annotations.", + "Must cover the whole line including the newline", + "character at the end. Not used anymore." + ], + "type": "string" } }, "type": "object" }, - "DateOperatorOptions": { - "description": "Optional. Provides a search operator for date properties. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "DateOperatorOptions", + "AppsDynamiteFrontendBotInfo": { + "description": "Bot-specific profile information.", + "id": "AppsDynamiteFrontendBotInfo", "properties": { - "greaterThanOperatorName": { - "description": "Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is *closedafter* and the property's name is *closeDate*, then queries like *closedafter:\u003cvalue\u003e* show results only where the value of the property named *closeDate* is later than *\u003cvalue\u003e*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "appId": { + "$ref": "AppsDynamiteAppId", + "description": "Identifier of the application associated with the bot." + }, + "botAvatarUrl": { + "description": "URL for the avatar picture of the User in dynamite. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries", "type": "string" }, - "lessThanOperatorName": { - "description": "Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, then queries like *closedbefore:\u003cvalue\u003e* show results only where the value of the property named *closeDate* is earlier than *\u003cvalue\u003e*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "botName": { + "description": "Non-unique, user-defined display name of the Bot. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries.", "type": "string" }, - "operatorName": { - "description": "Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named *closeDate* that specifies an operator with an operatorName of *closedon*. For searches on that data, queries like *closedon:\u003cvalue\u003e* show results only where the value of the *closeDate* property matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "description": { + "description": "Short description for the bot.", + "type": "string" + }, + "developerName": { + "description": "Name of bot developer.", + "type": "string" + }, + "marketPlaceBannerUrl": { + "description": "URL for the banner image in GSuite Market Place. The banner will be 220x140.", + "type": "string" + }, + "status": { + "description": "Indicates whether bot is enabled/disabled.", + "enum": [ + "UNKNOWN_STATUS", + "ENABLED", + "DISABLED_BY_DEVELOPER" + ], + "enumDescriptions": [ + "", + "", + "Bot has been disabled by the bot developer. No one can @mention or interact with the bot." + ], + "type": "string" + }, + "supportUrls": { + "$ref": "AppsDynamiteFrontendBotInfoSupportUrls", + "description": "Urls with additional information related to the bot. This field should always be set even if all the fields within it are empty, so that it is convenient for clients to work with this field in javascript." + }, + "supportedUses": { + "description": "The supported uses are limited according to the user that made the request. If the user does not have permission to use the bot, the list will be empty. This could occur for non whitelisted bots in the catalog.", + "items": { + "enum": [ + "UNKNOWN", + "CAN_ADD_TO_DM", + "CAN_ADD_TO_ROOM", + "CAN_ADD_TO_HUMAN_DM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "whitelistStatus": { + "enum": [ + "UNSPECIFIED_STATUS", + "ALLOWED", + "ALL_BOTS_DISABLED_BY_ADMIN", + "BOT_NOT_WHITELISTED_BY_ADMIN" + ], + "enumDescriptions": [ + "", + "", + "For both ALL_BOTS_DISABLED_BY_ADMIN and BOT_NOT_WHITELISTED_BY_ADMIN, the bot should still be visible in the catalog, but usage of the bot will be disabled. Indicates that all bots has been disabled by the dasher admin.", + "Indicates that the customer is using whitelisting, but that the bot is not whitelisted." + ], "type": "string" } }, "type": "object" }, - "DatePropertyOptions": { - "description": "The options for date properties.", - "id": "DatePropertyOptions", + "AppsDynamiteFrontendBotInfoSupportUrls": { + "description": "Urls with additional bot related information.", + "id": "AppsDynamiteFrontendBotInfoSupportUrls", "properties": { - "operatorOptions": { - "$ref": "DateOperatorOptions", - "description": "If set, describes how the date should be used as a search operator." + "adminConfigUrl": { + "description": "Link to the admin configuration webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "deletionPolicyUrl": { + "description": "Link to the deletion policy webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "privacyPolicyUrl": { + "description": "Link to the privacy policy webpage for the bot. May be empty.", + "type": "string" + }, + "setupUrl": { + "description": "Link to the setup webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "supportUrl": { + "description": "Link to the support webpage for the developer of the bot. May be empty.", + "type": "string" + }, + "tosUrl": { + "description": "Link to the terms of service webpage for the bot. May be empty.", + "type": "string" } }, "type": "object" }, - "DateValues": { - "description": "List of date values.", - "id": "DateValues", + "AppsDynamiteFrontendMember": { + "id": "AppsDynamiteFrontendMember", "properties": { - "values": { - "items": { - "$ref": "Date" - }, - "type": "array" + "roster": { + "$ref": "AppsDynamiteFrontendRoster" + }, + "user": { + "$ref": "AppsDynamiteFrontendUser" } }, "type": "object" }, - "DebugOptions": { - "description": "Shared request debug options for all cloudsearch RPC methods.", - "id": "DebugOptions", + "AppsDynamiteFrontendRoster": { + "description": "Roster profile information.", + "id": "AppsDynamiteFrontendRoster", "properties": { - "enableDebugging": { - "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", - "type": "boolean" + "avatarUrl": { + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteRosterId" + }, + "membershipCount": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "rosterGaiaKey": { + "description": "Roster gaia key, usually an email address. Set in looking up rosters response.", + "type": "string" + }, + "rosterState": { + "description": "Roster deletion state - considered active unless set to deleted", + "enum": [ + "ROSTER_STATE_UNKNOWN", + "ROSTER_ACTIVE", + "ROSTER_DELETED" + ], + "enumDescriptions": [ + "", + "Roster is active", + "Roster deleted" + ], + "type": "string" } }, "type": "object" }, - "DeleteQueueItemsRequest": { - "id": "DeleteQueueItemsRequest", + "AppsDynamiteFrontendUser": { + "description": "User profile information. This user is not necessarily member of a space.", + "id": "AppsDynamiteFrontendUser", "properties": { - "connectorName": { - "description": "The name of connector making this call. Format: datasources/{source_id}/connectors/{ID}", + "avatarUrl": { + "description": "URL for the avatar picture of the User in dynamite", "type": "string" }, - "debugOptions": { - "$ref": "DebugOptions", - "description": "Common debug options." + "blockRelationship": { + "$ref": "AppsDynamiteSharedUserBlockRelationship", + "description": "Information about whether the user is blocked by requester and/or has blocked requester." }, - "queue": { - "description": "The name of a queue to delete items from.", + "botInfo": { + "$ref": "AppsDynamiteFrontendBotInfo", + "description": "Bot-specific profile information. Leave it empty for human users." + }, + "deleted": { + "description": "Deleted flag, if true, means User has been soft-deleted/purged Deprecated. Use user_account_state field instead.", + "type": "boolean" + }, + "email": { + "description": "Email ID of the user", + "type": "string" + }, + "firstName": { + "description": "First or given name of the user", + "type": "string" + }, + "gender": { + "description": "Gender of the user", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "UserId" + }, + "isAnonymous": { + "description": "Set to true if none of the depending services (Gaia, PeopleApi) returns any info for this user.", + "type": "boolean" + }, + "lastName": { + "description": "Last or family name of the user", + "type": "string" + }, + "name": { + "description": "Non-unique, user-defined display name of the User", + "type": "string" + }, + "organizationInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfo", + "description": "Information about whether the user is a consumer user, or the GSuite customer that they belong to." + }, + "phoneNumber": { + "description": "Phone number(s) of the user", + "items": { + "$ref": "AppsDynamiteSharedPhoneNumber" + }, + "type": "array" + }, + "userAccountState": { + "description": "State of user's Gaia Account", + "enum": [ + "UNKNOWN_USER_ACCOUNT_STATE", + "ENABLED", + "DISABLED", + "DELETED", + "TEMPORARY_UNAVAILABLE" + ], + "enumDescriptions": [ + "", + "User has Dynamite enabled.", + "User doesn't have Dynamite enabled. This includes service disabled by admin, or user's account is suspended", + "User account is deleted", + "Failed to retrieve user's info. Will use user's email address as name and first_name." + ], + "type": "string" + }, + "userProfileVisibility": { + "description": "Visibility of user's Profile", + "enum": [ + "UNKNOWN_USER_PROFILE_VISIBILITY", + "FULL_PROFILE", + "PRIMARY_MAIL", + "INVITEE_EMAIL", + "DELETED_USER", + "UNKNOWN_USER", + "FAILURE" + ], + "enumDescriptions": [ + "", + "Caller has full visibility.", + "Caller can only see target user's primary email from Gaia", + "Caller can only see the email used to invite the target user", + "Caller can only see the target user as a deleted user. Email is empty. Names are redacted as \"Deleted User\".", + "Caller has no visibility to the target user at all. Email is empty. Names are redacted as \"Unknown User\".", + "Stubby failed. Clients should always retry ASAP" + ], "type": "string" } }, "type": "object" }, - "DisplayedProperty": { - "description": "A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label for that property if one is specified. If a display label is not specified, only the values is shown.", - "id": "DisplayedProperty", + "AppsDynamiteGroupId": { + "description": "Id representing a group that could be a space, a chat, or a direct message space. Which ID is set here will determine which group", + "id": "AppsDynamiteGroupId", "properties": { - "propertyName": { - "description": "The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema.", - "type": "string" + "dmId": { + "$ref": "AppsDynamiteDmId", + "description": "Unique, immutable ID of the Direct Message Space" + }, + "spaceId": { + "$ref": "AppsDynamiteSpaceId", + "description": "Unique, immutable ID of the Space" } }, "type": "object" }, - "DmId": { - "id": "DmId", + "AppsDynamiteGroupRetentionSettingsUpdatedMetaData": { + "id": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData", "properties": { - "dmId": { - "description": "Unique server assigned Id, per Direct Message Space.", - "type": "string" + "initiator": { + "$ref": "AppsDynamiteUserId", + "description": "The user who triggered the retention settings update" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "The updated space retention settings" } }, "type": "object" }, - "DoubleOperatorOptions": { - "description": "Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "DoubleOperatorOptions", + "AppsDynamiteGsuiteIntegrationMetadata": { + "description": "Annotation metadata for an GsuiteIntegration artifact.", + "id": "AppsDynamiteGsuiteIntegrationMetadata", "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "activityFeedData": { + "$ref": "AppsDynamiteSharedActivityFeedAnnotationData" + }, + "assistantData": { + "$ref": "AppsDynamiteSharedAssistantAnnotationData" + }, + "calendarEventData": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationData" + }, + "callData": { + "$ref": "AppsDynamiteSharedCallAnnotationData", + "description": "Data used to render call artifacts." + }, + "clientType": { + "enum": [ + "UNKNOWN_CLIENT_TYPE", + "MEET", + "TASKS", + "CALENDAR_EVENT", + "ASSISTANT", + "ACTIVITY_FEED_SERVICE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], "type": "string" + }, + "indexableTexts": { + "description": "A list of all strings that are to be indexed for this 1P chip. Each string in this list would be the contents of a single string field in the 1P chip. Eg. For Tasks[title = “hello world”, description = “good bye”]. If we want to index only the title, this would be set to [“hello world”]. If both title and description, then this would be [“hello world”, “good bye”]. Please make sure that the contents of this field is a subset of strings that are rendered as part of the 1P Chip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tasksData": { + "$ref": "AppsDynamiteSharedTasksAnnotationData" } }, "type": "object" }, - "DoublePropertyOptions": { - "description": "The options for double properties.", - "id": "DoublePropertyOptions", + "AppsDynamiteIncomingWebhookChangedMetadata": { + "description": "Annotation metadata to display system messages for incoming webhook events. Next Tag: 7", + "id": "AppsDynamiteIncomingWebhookChangedMetadata", "properties": { - "operatorOptions": { - "$ref": "DoubleOperatorOptions", - "description": "If set, describes how the double should be used as a search operator." + "incomingWebhookName": { + "description": "The webhook name at the time of the change. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "initiatorId": { + "$ref": "AppsDynamiteUserId", + "description": "The user id of the user whose action triggered this system message. Used in Spanner storage, BE API responses and FE API responses." + }, + "initiatorProfile": { + "$ref": "AppsDynamiteFrontendUser", + "description": "Complete profile when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in. Used in FE API responses." + }, + "obfuscatedIncomingWebhookId": { + "description": "The webhook id of the incoming webhook in question. This field should not be used to load webhook information dynamically and is only present for debugging purposes. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "oldIncomingWebhookName": { + "description": "Only populated for UPDATED_NAME and UPDATED_NAME_AND_AVATAR events, where the webhook name was changed. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "type": { + "description": "Used in Spanner storage, BE API responses and FE API responses.", + "enum": [ + "UNSPECIFIED", + "ADDED", + "UPDATED", + "REMOVED", + "UPDATED_NAME", + "UPDATED_AVATAR", + "UPDATED_NAME_AND_AVATAR" + ], + "enumDescriptions": [ + "", + "", + "TODO (b/154857280): remove UPDATED field.", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "DoubleValues": { - "description": "List of double values.", - "id": "DoubleValues", + "AppsDynamiteIntegrationConfigMutation": { + "id": "AppsDynamiteIntegrationConfigMutation", "properties": { - "values": { + "addApp": { + "$ref": "AppsDynamiteAppId", + "description": "Add an app using its identifier." + }, + "addPinnedItem": { + "$ref": "AppsDynamitePinnedItemId", + "description": "Add a pinned tab using its identifier." + }, + "removeApp": { + "$ref": "AppsDynamiteAppId", + "description": "Remove an active app using its identifier." + }, + "removePinnedItem": { + "$ref": "AppsDynamitePinnedItemId", + "description": "Remove an active pinned tab using its identifier." + } + }, + "type": "object" + }, + "AppsDynamiteIntegrationConfigUpdatedMetadata": { + "description": "Annotation metadata to display system message for integration config updated event. This metadata is stored in spanner, and can be dispatched to clients without any field modification or transformation.", + "id": "AppsDynamiteIntegrationConfigUpdatedMetadata", + "properties": { + "initiatorId": { + "$ref": "AppsDynamiteUserId", + "description": "The user whose action triggered this system message." + }, + "mutations": { + "description": "A list of updates applied on the integration config.", "items": { - "format": "double", - "type": "number" + "$ref": "AppsDynamiteIntegrationConfigMutation" }, "type": "array" } }, "type": "object" }, - "DriveFollowUpRestrict": { - "description": "Drive follow-up search restricts (e.g. \"followup:suggestions\").", - "id": "DriveFollowUpRestrict", + "AppsDynamiteInviteeInfo": { + "description": "Invitee information from a Dynamite invitation. See go/dynamite-invitee-mgmt.", + "id": "AppsDynamiteInviteeInfo", "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "FOLLOWUP_SUGGESTIONS", - "FOLLOWUP_ACTION_ITEMS" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "email": { + "description": "Email as typed by the user when invited to Room or DM. This value will be canonicalized and hashed before retained in storage.", "type": "string" + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Unique, immutable ID of the User." } }, "type": "object" }, - "DriveLocationRestrict": { - "description": "Drive location search restricts (e.g. \"is:starred\").", - "id": "DriveLocationRestrict", + "AppsDynamiteMemberId": { + "description": "Eventually this can be updated to a oneOf User, Space (for nested spaces), Bots or Service, as and when these use cases come up.", + "id": "AppsDynamiteMemberId", "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "TRASHED", - "STARRED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" + "rosterId": { + "$ref": "AppsDynamiteRosterId", + "description": "Unique, immutable ID of the Roster." + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Unique, immutable ID of the User." } }, "type": "object" }, - "DriveMimeTypeRestrict": { - "description": "Drive mime-type search restricts (e.g. \"type:pdf\").", - "id": "DriveMimeTypeRestrict", + "AppsDynamiteMembershipChangedMetadata": { + "description": "Annotation metadata to display system messages for membership changes.", + "id": "AppsDynamiteMembershipChangedMetadata", "properties": { + "affectedMemberProfiles": { + "items": { + "$ref": "AppsDynamiteFrontendMember" + }, + "type": "array" + }, + "affectedMembers": { + "description": "List of users and rosters whose membership status changed.", + "items": { + "$ref": "AppsDynamiteMemberId" + }, + "type": "array" + }, + "affectedMemberships": { + "items": { + "$ref": "AppsDynamiteMembershipChangedMetadataAffectedMembership" + }, + "type": "array" + }, + "initiator": { + "$ref": "AppsDynamiteUserId", + "description": "The user whose action triggered this system message." + }, + "initiatorProfile": { + "$ref": "AppsDynamiteFrontendUser", + "description": "Complete member profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in." + }, "type": { "enum": [ - "UNSPECIFIED", - "PDF", - "DOCUMENT", - "PRESENTATION", - "SPREADSHEET", - "FORM", - "DRAWING", - "SCRIPT", - "MAP", - "IMAGE", - "AUDIO", - "VIDEO", - "FOLDER", - "ARCHIVE", - "SITE" + "TYPE_UNSPECIFIED", + "INVITED", + "JOINED", + "ADDED", + "REMOVED", + "LEFT", + "BOT_ADDED", + "BOT_REMOVED", + "KICKED_DUE_TO_OTR_CONFLICT", + "ROLE_UPDATED", + "ROLE_TARGET_AUDIENCE_UPDATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "Default value for the enum. DO NOT USE.", + "Non-member -\u003e Can join. Multiple groups and users.", + "Can join -\u003e Member. One user.", + "Non-member -\u003e Member. Multiple users.", + "Can join -\u003e Non-member. One group or user.", + "Member -\u003e Can join. One user.", + "Bot added to the room.", + "Bot removed from the room.", + "This signifies the user is kicked because the user's OTR policy is conflicted with the room history settings. Joined -\u003e Non-member. One user.", + "MembershipRole changed. Multiple users.", + "The room is now joinable by an" ], "type": "string" } }, "type": "object" }, - "DriveTimeSpanRestrict": { - "description": "The time span search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").", - "id": "DriveTimeSpanRestrict", + "AppsDynamiteMembershipChangedMetadataAffectedMembership": { + "description": "Earlier we used to populate just the affected_members list and inferred the new membership state (roles didn't exist back then) from the Type. go/dynamite-finra required backend to know the previous membership state to reconstruct membership history. The proper solution involved cleaning up up Type enum, but it was used in many, many places. This was added as a stop-gap solution to unblock FINRA without breaking everything. Later role update and target audience update started relying on this to communicate information to clients about what transition happened. So this is now required to be populated and should be in sync with affected_members for new messages.", + "id": "AppsDynamiteMembershipChangedMetadataAffectedMembership", "properties": { - "type": { + "affectedMember": { + "$ref": "AppsDynamiteMemberId" + }, + "priorMembershipRole": { "enum": [ - "UNSPECIFIED", - "TODAY", - "YESTERDAY", - "LAST_7_DAYS", - "LAST_30_DAYS", - "LAST_90_DAYS" + "ROLE_UNKNOWN", + "ROLE_NONE", + "ROLE_INVITEE", + "ROLE_MEMBER", + "ROLE_OWNER" ], "enumDescriptions": [ "", + "This role is used when a user is forcibly removed from a room by another user. They will no longer be able to search for the room, but their history will be retained.", + "This role is used for two purposes. 1. A group is invited to a room, making it discoverable for its members. 2. A user was part of a room, but willingly left the room.", + "--- Following roles are for joined members of a roster. --- Default role for any joined user. Has basic capabilities within a room.", + "Role assigned to room creators and explicitly promoted members. Has broad powers to manage the room." + ], + "type": "string" + }, + "priorMembershipState": { + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], + "type": "string" + }, + "targetMembershipRole": { + "enum": [ + "ROLE_UNKNOWN", + "ROLE_NONE", + "ROLE_INVITEE", + "ROLE_MEMBER", + "ROLE_OWNER" + ], + "enumDescriptions": [ "", - "", - "", - "Not Enabled", - "Not Enabled" + "This role is used when a user is forcibly removed from a room by another user. They will no longer be able to search for the room, but their history will be retained.", + "This role is used for two purposes. 1. A group is invited to a room, making it discoverable for its members. 2. A user was part of a room, but willingly left the room.", + "--- Following roles are for joined members of a roster. --- Default role for any joined user. Has basic capabilities within a room.", + "Role assigned to room creators and explicitly promoted members. Has broad powers to manage the room." ], "type": "string" } }, "type": "object" }, - "DynamiteSpacesScoringInfo": { - "description": "This is the proto for holding space level scoring information. This data is used for logging in query-api server and for testing purposes.", - "id": "DynamiteSpacesScoringInfo", + "AppsDynamiteMessage": { + "description": "Message posted to a Space.", + "id": "AppsDynamiteMessage", "properties": { - "affinityScore": { - "format": "double", - "type": "number" + "annotations": { + "description": "Annotations parsed and extracted from the text body.", + "items": { + "$ref": "AppsDynamiteAnnotation" + }, + "type": "array" }, - "commonContactCountAffinityScore": { - "format": "double", - "type": "number" + "appProfile": { + "$ref": "AppsDynamiteSharedAppProfile", + "description": "Custom display profile info for apps. Leave the field empty for real users." }, - "contactsIntersectionCount": { - "format": "double", - "type": "number" + "attachments": { + "description": "Attachments parsed from incoming webhooks", + "items": { + "$ref": "AppsDynamiteAttachment" + }, + "type": "array" }, - "finalScore": { - "format": "double", - "type": "number" + "attributes": { + "$ref": "AppsDynamiteMessageAttributes", + "description": "Lightweight message attributes which values are calculated and set in the servers." }, - "freshnessScore": { - "format": "double", - "type": "number" + "botResponses": { + "description": "Responses from bots indicating if extra auth/config is needed.", + "items": { + "$ref": "AppsDynamiteBotResponse" + }, + "type": "array" }, - "joinedSpacesAffinityScore": { - "format": "double", - "type": "number" + "communalLabels": { + "description": "Communal labels associated with a message. These exist on the message itself regardless of which user fetches them. Order of entries is arbitrary and will not list duplicates of the same label_id. See go/chat-labels-design for details.", + "items": { + "$ref": "AppsDynamiteBackendLabelsCommunalLabelTag" + }, + "type": "array" }, - "lastMessagePostedTimestampSecs": { + "contentReportSummary": { + "$ref": "AppsDynamiteMessageContentReportSummary", + "readOnly": true + }, + "createTime": { + "description": "Time when the Message was posted in microseconds.", "format": "int64", "type": "string" }, - "lastReadTimestampSecs": { + "creatorId": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the User who posted the Message. This includes information to identify if this was posted by an App on behalf of a user." + }, + "deletableBy": { + "description": "Indicates who can delete the message. This field is set on the read path (e.g. ListTopics) but doesn’t have any effect on the write path (e.g. CreateMessageRequest).", + "enum": [ + "PERMISSION_UNSPECIFIED", + "PERMISSION_NO_ONE", + "PERMISSION_CREATOR", + "PERMISSION_MEMBER" + ], + "enumDescriptions": [ + "Default case, should never be used. If this data is encountered in the DB any request should throw an exception.", + "No one can mutate the entity.", + "Only the creator of an entity can mutate it.", + "Every human member of a space or the creator can mutate the entity." + ], + "type": "string" + }, + "deleteTime": { + "description": "Time when the Message was deleted in microseconds. This field is set to nonzero value only for Messages deleted globally.", "format": "int64", "type": "string" }, - "memberMetadataCount": { - "format": "double", - "type": "number" + "deleteTimeForRequester": { + "description": "Time when the Message was per-user deleted by the message requester in microseconds. This field is set to nonzero value only for Message per-user deleted by the requester.", + "format": "int64", + "type": "string" }, - "messageScore": { - "format": "double", - "type": "number" + "deletedByVault": { + "description": "Was this message deleted by Vault (Only used for Vault support) This is false if message is live or message was deleted by user.", + "type": "boolean" }, - "numAucContacts": { - "format": "int64", + "dlpScanOutcome": { + "description": "Data Loss Prevention scan information for this message. Messages are evaluated in the backend on create message/topic and edit message actions. DEPRECATED: use dlp_scan_summary instead.", + "enum": [ + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" + ], + "enumDescriptions": [ + "", + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." + ], "type": "string" }, - "smallContactListAffinityScore": { - "format": "double", - "type": "number" + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "Data Loss Prevention scan information for this message. Messages are evaluated in the backend on create message/topic and edit message actions." }, - "smallUnjoinedSpacesAffinityScore": { - "format": "double", - "type": "number" + "editableBy": { + "description": "Indicates who can edit the message. This field is set on the read path (e.g. ListTopics) but doesn’t have any effect on the write path (e.g. CreateMessageRequest).", + "enum": [ + "PERMISSION_UNSPECIFIED", + "PERMISSION_NO_ONE", + "PERMISSION_CREATOR", + "PERMISSION_MEMBER" + ], + "enumDescriptions": [ + "Default case, should never be used. If this data is encountered in the DB any request should throw an exception.", + "No one can mutate the entity.", + "Only the creator of an entity can mutate it.", + "Every human member of a space or the creator can mutate the entity." + ], + "type": "string" }, - "spaceAgeInDays": { - "format": "double", - "type": "number" + "fallbackText": { + "description": "A plain-text description of the attachment, used when clients cannot display formatted attachment (e.g. mobile push notifications).", + "type": "string" }, - "spaceCreationTimestampSecs": { + "id": { + "$ref": "AppsDynamiteMessageId", + "description": "ID of the resource." + }, + "isInlineReply": { + "description": "Output only. Indicates if the message is an inline reply. Set to true only if the message's ParentPath is non-NULL. Currently, only inline replies have non-NULL ParentPath. See go/chat-be-inline-reply-indicator.", + "readOnly": true, + "type": "boolean" + }, + "lastEditTime": { + "description": "If the message was edited by a user, timestamp of the last edit, in microseconds.", "format": "int64", "type": "string" }, - "topicalityScore": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "EmailAddress": { - "description": "A person's email address.", - "id": "EmailAddress", - "properties": { - "emailAddress": { - "description": "The email address.", + "lastUpdateTime": { + "description": "Time when the Message text was last updated in microseconds.", + "format": "int64", "type": "string" - } - }, - "type": "object" - }, - "Emoji": { - "id": "Emoji", - "properties": { - "customEmoji": { - "$ref": "CustomEmoji", - "description": "A custom emoji." }, - "unicode": { - "description": "A basic emoji represented by a unicode string.", + "localId": { + "description": "A unique id specified on the client side.", "type": "string" - } - }, - "type": "object" - }, - "EnumOperatorOptions": { - "description": "Used to provide a search operator for enum properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a *priority* enum property with possible values *p0* and *p1*, a query that contains the term *p0* returns items that have *p0* as the value of the *priority* property, as well as any items that contain the string *p0* in other fields. If you provide an operator name for the enum, such as *priority*, then search users can use that operator to refine results to only items that have *p0* as this property's value, with the query *priority:p0*.", - "id": "EnumOperatorOptions", - "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the enum property. For example, if operatorName is *priority* and the property's name is *priorityVal*, then queries like *priority:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + }, + "messageIntegrationPayload": { + "$ref": "AppsDynamiteSharedMessageIntegrationPayload", + "description": "An optional payload (restricted to 1P applications) that will be stored with this message. This can only be set by the 1P API and should be used to deliver additional data such a 1P sync version, 1P entity ID to the client for more advanced functionality [Eg. inform Group Tasks tab of new version while linking, fetch \u0026 render a live Task/Meet call tile]." + }, + "messageOrigin": { + "description": "Where the message was posted from", + "enum": [ + "ORIGIN_NOT_SET", + "ORIGIN_DYNAMITE", + "ORIGIN_BABEL_INTEROP_LIVE", + "ORIGIN_BABEL_INTEROP_RETRY", + "ORIGIN_BABEL", + "ORIGIN_BABEL_DUAL_WRITE", + "ORIGIN_BABEL_DUAL_WRITE_RETRY", + "ORIGIN_BACKFILL_FROM_PAPYRUS", + "ORIGIN_BACKFILL_FROM_GMAIL_ARCHIVE" + ], + "enumDescriptions": [ + "", + "", + "The message is from Babel (Hangouts Classic) interop.", + "The message is from Babel interop retries from Manifold queue.", + "The message came directly from Babel as source-of-truth", + "The message came directly from Babel during dual-write", + "The message came directly from Babel Manifold queue during dual write", + "The message was backfilled by go/dinnertrain as part of go/storage-consolidation. The backfill origin corresponds to the BackfillState in which the message was created.", + "" + ], "type": "string" - } - }, - "type": "object" - }, - "EnumPropertyOptions": { - "description": "The options for enum properties, which allow you to define a restricted set of strings to match user queries, set rankings for those string values, and define an operator name to be paired with those strings so that users can narrow results to only items with a specific value. For example, for items in a request tracking system with priority information, you could define *p0* as an allowable enum value and tie this enum to the operator name *priority* so that search users could add *priority:p0* to their query to restrict the set of results to only those items indexed with the value *p0*.", - "id": "EnumPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "EnumOperatorOptions", - "description": "If set, describes how the enum should be used as a search operator." }, - "orderedRanking": { - "description": "Used to specify the ordered ranking for the enumeration that determines how the integer values provided in the possible EnumValuePairs are used to rank results. If specified, integer values must be provided for all possible EnumValuePair values given for this property. Can only be used if isRepeatable is false.", + "messageState": { + "description": "State of the message, indicating whether the message is visible to all members in the group or is only visible to the sender only, or the private_message_viewer if it is set.", "enum": [ - "NO_ORDER", - "ASCENDING", - "DESCENDING" + "PUBLIC", + "PRIVATE" ], "enumDescriptions": [ - "There is no ranking order for the property. Results aren't adjusted by this property's value.", - "This property is ranked in ascending order. Lower values indicate lower ranking.", - "This property is ranked in descending order. Lower values indicate higher ranking." + "Default - visible to the room / DM.", + "Private state - only visible to the message creator, and the private_message_viewer if set." ], "type": "string" }, - "possibleValues": { - "description": "The list of possible values for the enumeration property. All EnumValuePairs must provide a string value. If you specify an integer value for one EnumValuePair, then all possible EnumValuePairs must provide an integer value. Both the string value and integer value must be unique over all possible values. Once set, possible values cannot be removed or modified. If you supply an ordered ranking and think you might insert additional enum values in the future, leave gaps in the initial integer values to allow adding a value in between previously registered values. The maximum number of elements is 100.", + "originAppSuggestions": { + "description": "Indicates if this message contains any suggestions that were provided by any Apps.", "items": { - "$ref": "EnumValuePair" + "$ref": "AppsDynamiteSharedOriginAppSuggestion" }, "type": "array" - } - }, - "type": "object" - }, - "EnumValuePair": { - "description": "The enumeration value pair defines two things: a required string value and an optional integer value. The string value defines the necessary query term required to retrieve that item, such as *p0* for a priority item. The integer value determines the ranking of that string value relative to other enumerated values for the same property. For example, you might associate *p0* with *0* and define another enum pair such as *p1* and *1*. You must use the integer value in combination with ordered ranking to set the ranking of a given value relative to other enumerated values for the same property name. Here, a ranking order of DESCENDING for *priority* properties results in a ranking boost for items indexed with a value of *p0* compared to items indexed with a value of *p1*. Without a specified ranking order, the integer value has no effect on item ranking.", - "id": "EnumValuePair", - "properties": { - "integerValue": { - "description": "The integer value of the EnumValuePair which must be non-negative. Optional.", - "format": "int32", - "type": "integer" }, - "stringValue": { - "description": "The string value of the EnumValuePair. The maximum length is 32 characters.", + "personalLabels": { + "description": "Personal labels associated with a message for the viewing user. Order of entries is arbitrary and will not list duplicates of the same label_id. See go/chat-labels-design for details. NOTE: This will be unpopulated in the case of SpaceChangelog events.", + "items": { + "$ref": "AppsDynamiteBackendLabelsPersonalLabelTag" + }, + "type": "array" + }, + "privateMessageInfos": { + "description": "A list of per-user private information. This is deprecated, because we no longer plan to support partially private messages or private messages for multiple users. The message_state and private_message_viewer fields should be sufficient for this infrastructure.", + "items": { + "$ref": "AppsDynamitePrivateMessageInfo" + }, + "type": "array" + }, + "privateMessageViewer": { + "$ref": "AppsDynamiteUserId", + "description": "Should only be set if the Message State is PRIVATE. If set, the message content is only visible to this user (and any apps associated with the message), as well as the message creator. If unset, a private message is visible to the message creator only." + }, + "props": { + "$ref": "AppsDynamiteMessageProps", + "description": "Contains additional (currently Hangouts Classic only) properties applicable to this message." + }, + "quotedByState": { + "description": "Output only. Whether this message has been quoted by another message or not. Used by clients to handle message edit flows for messages that have been quoted.", + "enum": [ + "QUOTED_BY_STATE_UNSPECIFIED", + "QUOTED_BY_STATE_HAS_BEEN_QUOTED", + "QUOTED_BY_STATE_HAS_NOT_BEEN_QUOTED" + ], + "enumDescriptions": [ + "Unspecified state for QuotedByState.", + "State to indicate that this message is quoted by another message (excluding soft-deleted message and purged ones).", + "State to indicate that this message are not quoted by another message." + ], + "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "EnumValues": { - "description": "List of enum values.", - "id": "EnumValues", - "properties": { - "values": { - "description": "The maximum allowable length for string values is 32 characters.", + }, + "quotedMessageMetadata": { + "$ref": "AppsDynamiteQuotedMessageMetadata", + "description": "Output only. Metadata for a message that is quoted by this message.", + "readOnly": true + }, + "reactions": { + "description": "A list of user reactions to this message. Ordered by the timestamp of the first reaction, ascending (oldest to newest).", "items": { - "type": "string" + "$ref": "AppsDynamiteSharedReaction" }, "type": "array" - } - }, - "type": "object" - }, - "ErrorInfo": { - "description": "Error information about the response.", - "id": "ErrorInfo", - "properties": { - "errorMessages": { + }, + "reports": { + "description": "Output only. Details of content reports. Set only when the request asks for it.", "items": { - "$ref": "ErrorMessage" + "$ref": "AppsDynamiteContentReport" + }, + "readOnly": true, + "type": "array" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "The retention settings of the message." + }, + "secondaryMessageKey": { + "description": "A client-specified string that can be used to uniquely identify a message in a space, in lieu of `id.message_id`.", + "type": "string" + }, + "textBody": { + "description": "Plaintext body of the Message.", + "type": "string" + }, + "tombstoneMetadata": { + "$ref": "AppsDynamiteTombstoneMetadata", + "description": "Information for the stoning of a Message." + }, + "updaterId": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the User who last updated (created/edited/deleted) the Message. This includes information to identify if this was updated by an App on behalf of a user." + }, + "uploadMetadata": { + "description": "UploadMetadata b/36864213 is an ongoing effort to move UploadMetadata out of annotations field and save it to upload_metadata field only. After the migration, UploadMetadata will only be saved in this field.", + "items": { + "$ref": "AppsDynamiteUploadMetadata" }, "type": "array" } }, "type": "object" }, - "ErrorMessage": { - "description": "Error message per source response.", - "id": "ErrorMessage", + "AppsDynamiteMessageAttributes": { + "description": "Stores tombstone message attributes: go/tombstone-message-attributes-overview", + "id": "AppsDynamiteMessageAttributes", "properties": { - "errorMessage": { - "type": "string" - }, - "source": { - "$ref": "Source" + "isTombstone": { + "description": "If true: message is a tombstone in the client. Default false.", + "type": "boolean" } }, "type": "object" }, - "FacetBucket": { - "description": "A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.", - "id": "FacetBucket", + "AppsDynamiteMessageContentReportSummary": { + "description": "Summarized info of content reports. Usually less expensive to fetch than to fetch all detailed reports. Set only when the request asks for it.", + "id": "AppsDynamiteMessageContentReportSummary", "properties": { - "count": { - "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.", + "numberReports": { + "description": "Total number of reports attached to this (revision of) message.", "format": "int32", "type": "integer" }, - "percentage": { - "description": "Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.", + "numberReportsAllRevisions": { + "description": "Totoal number of reports attached to all revisions of this message (i.e. since creation). Set only when the request asks for it.", "format": "int32", "type": "integer" - }, - "value": { - "$ref": "Value" } }, "type": "object" }, - "FacetOptions": { - "description": "Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.", - "id": "FacetOptions", + "AppsDynamiteMessageId": { + "description": "Primary key for Message resource.", + "id": "AppsDynamiteMessageId", "properties": { - "numFacetBuckets": { - "description": "Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.", - "format": "int32", - "type": "integer" - }, - "objectType": { - "description": "If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.", - "type": "string" - }, - "operatorName": { - "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "messageId": { + "description": "Opaque, server-assigned ID of the Message. While this ID is guaranteed to be unique within the Space, it's not guaranteed to be globally unique.", "type": "string" }, - "sourceName": { - "description": "Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.", - "type": "string" + "parentId": { + "$ref": "AppsDynamiteMessageParentId", + "description": "ID of the Message's immediate parent." } }, "type": "object" }, - "FacetResult": { - "description": "Source specific facet response", - "id": "FacetResult", + "AppsDynamiteMessageInfo": { + "id": "AppsDynamiteMessageInfo", "properties": { - "buckets": { - "description": "FacetBuckets for values in response containing at least a single result with the corresponding filter.", - "items": { - "$ref": "FacetBucket" - }, - "type": "array" - }, - "objectType": { - "description": "Object type for which facet results are returned. Can be empty.", - "type": "string" - }, - "operatorName": { - "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", - "type": "string" + "message": { + "$ref": "AppsDynamiteMessage", + "description": "The content of a matching message." }, - "sourceName": { - "description": "Source name for which facet results are returned. Will not be empty.", + "searcherMembershipState": { + "description": "Searcher's membership state in the space where the message is posted.", + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], "type": "string" } }, "type": "object" }, - "FieldViolation": { - "id": "FieldViolation", + "AppsDynamiteMessageParentId": { + "description": "Primary key identifying Message resource's immediate parent. For top-level Messages, either topic_id or chat_id is populated. For replies, message_id is populated with the topic Message's ID.", + "id": "AppsDynamiteMessageParentId", "properties": { - "description": { - "description": "The description of the error.", - "type": "string" - }, - "field": { - "description": "Path of field with violation.", - "type": "string" + "topicId": { + "$ref": "AppsDynamiteTopicId", + "description": "ID of the Topic this Message is posted to. NEXT TAG : 5" } }, "type": "object" }, - "Filter": { - "description": "A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND.", - "id": "Filter", + "AppsDynamiteMessageProps": { + "description": "Container for storing properties applicable to messages. For now (until storage consolidation is complete), it will only be used for babel props. In the future it could be used to house Dynamite properties for experimenting/rapid prototyping.", + "id": "AppsDynamiteMessageProps", "properties": { - "compositeFilter": { - "$ref": "CompositeFilter" - }, - "valueFilter": { - "$ref": "ValueFilter" + "babelProps": { + "$ref": "AppsDynamiteBabelMessageProps" } }, "type": "object" }, - "FilterOptions": { - "description": "Filter options to be applied on query.", - "id": "FilterOptions", + "AppsDynamitePinnedItemId": { + "id": "AppsDynamitePinnedItemId", "properties": { - "filter": { - "$ref": "Filter", - "description": "Generic filter to restrict the search, such as `lang:en`, `site:xyz`." - }, - "objectType": { - "description": "If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.", + "driveId": { + "description": "Identifier for a Drive file (e.g. Docs, Sheets, Slides).", "type": "string" } }, "type": "object" }, - "FreshnessOptions": { - "description": "Indicates which freshness property to use when adjusting search ranking for an item. Fresher, more recent dates indicate higher quality. Use the freshness option property that best works with your data. For fileshare documents, last modified time is most relevant. For calendar event data, the time when the event occurs is a more relevant freshness indicator. In this way, calendar events that occur closer to the time of the search query are considered higher quality and ranked accordingly.", - "id": "FreshnessOptions", + "AppsDynamitePrivateMessageInfo": { + "description": "Private message information specific to a given user.", + "id": "AppsDynamitePrivateMessageInfo", "properties": { - "freshnessDuration": { - "description": "The duration after which an object should be considered stale. The default value is 180 days (in seconds).", - "format": "google-duration", - "type": "string" + "annotations": { + "description": "Annotations private to {@code userId}.", + "items": { + "$ref": "AppsDynamiteAnnotation" + }, + "type": "array" }, - "freshnessProperty": { - "description": "This property indicates the freshness level of the object in the index. If set, this property must be a top-level property within the property definitions and it must be a timestamp type or date type. Otherwise, the Indexing API uses updateTime as the freshness indicator. The maximum length is 256 characters. When a property is used to calculate freshness, the value defaults to 2 years from the current time.", - "type": "string" - } - }, - "type": "object" - }, - "GSuitePrincipal": { - "id": "GSuitePrincipal", - "properties": { - "gsuiteDomain": { - "description": "This principal represents all users of the Google Workspace domain of the customer.", - "type": "boolean" + "attachments": { + "description": "Attachments private to {@code userId}.", + "items": { + "$ref": "AppsDynamiteAttachment" + }, + "type": "array" }, - "gsuiteGroupEmail": { - "description": "This principal references a Google Workspace group name.", - "type": "string" + "contextualAddOnMarkup": { + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkup" + }, + "type": "array" }, - "gsuiteUserEmail": { - "description": "This principal references a Google Workspace user account.", + "gsuiteIntegrationMetadata": { + "items": { + "$ref": "AppsDynamiteGsuiteIntegrationMetadata" + }, + "type": "array" + }, + "text": { + "description": "Text private to {@code user_id}. Initial restriction: Only one of public text or private text is rendered on the client. So if public text is set, private text is ignored.", "type": "string" + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Required. The elements in this struct are visible to this user." } }, "type": "object" }, - "GetCustomerIndexStatsResponse": { - "id": "GetCustomerIndexStatsResponse", + "AppsDynamiteQuotedMessageMetadata": { + "description": "Quote metadata: go/message-quoting-be-dd-v2. This proto is only used on the read path. For the request proto, refer to `QuotedMessagePayload`. Fields are either derived from storage directly from the Item this metadata belongs to, or is hydrated at read time from another Item read. Note: QuotedMessageMetadata proto is similar to Message proto with less field. Reasons to differtiate QuotedMessageMetadata from Message are: 1. Not all fields for original message is applicable for quoted message. (E.g. reactions, is_inline_reply, etc.), thus separting out for confusion. 2. We don't support nested message quoting. For more detailed discussion, please see http://shortn/_VsSXQb2C7P. For future reference: if your new feature/field will be supported in message quoting feature (go/chat-quoting-prd), you will need to add that field within QuotedMessageMetadata", + "id": "AppsDynamiteQuotedMessageMetadata", "properties": { - "averageIndexedItemCount": { - "description": "Average item count for the given date range for which billing is done.", - "format": "int64", - "type": "string" - }, - "stats": { - "description": "Summary of indexed item counts, one for each day in the requested range.", + "annotations": { + "description": "Output only. Snapshot of the annotations of the quoted message.", "items": { - "$ref": "CustomerIndexStats" + "$ref": "AppsDynamiteAnnotation" }, + "readOnly": true, + "type": "array" + }, + "appProfile": { + "$ref": "AppsDynamiteSharedAppProfile", + "description": "Output only. Custom display profile info for apps. Will be empty for real users.", + "readOnly": true + }, + "botAttachmentState": { + "description": "Output only. The bot attachment state of the quoted message. Used by clients to display a bot attachment indicator in the UI.", + "enum": [ + "BOT_ATTACHMENT_STATE_UNSPECIFIED", + "BOT_ATTACHMENT_STATE_HAS_BOT_ATTACHMENT", + "BOT_ATTACHMENT_STATE_NO_BOT_ATTACHMENT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "readOnly": true, + "type": "string" + }, + "creatorId": { + "$ref": "AppsDynamiteUserId", + "description": "Output only. ID of the User who posted the quoted message. This includes information to identify if the quoted message was posted by an App on behalf of a user.", + "readOnly": true + }, + "lastUpdateTimeWhenQuotedMicros": { + "description": "The `last_update_time` of the original message when the client initiated the quote creation. This is derived from the request payload passed from clients. Used to fetch the quoted message contents at a specific time on the read path. This field is populated from storage directly.", + "format": "int64", + "type": "string" + }, + "messageId": { + "$ref": "AppsDynamiteMessageId", + "description": "MessageId of the original message that is being quoted. This is derived from the request payload passed from clients. This field is populated from storage directly." + }, + "messageState": { + "description": "Output only. The state of the quoted message. Used by clients to display tombstones for quotes that reference a deleted message.", + "enum": [ + "MESSAGE_STATE_UNSPECIFIED", + "MESSAGE_STATE_ACTIVE", + "MESSAGE_STATE_DELETED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "readOnly": true, + "type": "string" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "Output only. The retention (OTR) settings of the quoted message.", + "readOnly": true + }, + "textBody": { + "description": "Output only. Snapshot of the text body of the quoted message.", + "readOnly": true, + "type": "string" + }, + "uploadMetadata": { + "description": "Output only. Upload metadata of the quoted message. NEXT TAG: 11", + "items": { + "$ref": "AppsDynamiteUploadMetadata" + }, + "readOnly": true, "type": "array" } }, "type": "object" }, - "GetCustomerQueryStatsResponse": { - "id": "GetCustomerQueryStatsResponse", + "AppsDynamiteReadReceiptsSettingsUpdatedMetadata": { + "id": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata", "properties": { - "stats": { + "readReceiptsEnabled": { + "description": "The new read receipts state.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteRequiredMessageFeaturesMetadata": { + "description": "A list of capabilities that are used in this message.", + "id": "AppsDynamiteRequiredMessageFeaturesMetadata", + "properties": { + "requiredFeatures": { "items": { - "$ref": "CustomerQueryStats" + "enum": [ + "REQUIRED_FEATURE_UNSPECIFIED", + "REQUIRED_FEATURE_MESSAGE_QUOTING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteRoomUpdatedMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadata", + "properties": { + "groupDetailsMetadata": { + "$ref": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata" }, - "totalQueryCount": { - "description": "Total successful query count (status code 200) for the given date range.", - "format": "int64", + "groupLinkSharingEnabled": { + "type": "boolean" + }, + "initiator": { + "$ref": "AppsDynamiteFrontendUser", + "description": "The user who initiated this room update. Complete member profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in." + }, + "initiatorType": { + "description": "The type of the user who initiated this room update.", + "enum": [ + "INITIATOR_TYPE_UNSPECIFIED", + "INITIATOR_TYPE_END_USER", + "INITIATOR_TYPE_ADMIN" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" + }, + "name": { + "description": "What was updated in the room.", + "type": "string" + }, + "renameMetadata": { + "$ref": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata" + }, + "visibility": { + "$ref": "AppsDynamiteSharedGroupVisibility", + "description": "DEPRECATED: See GroupVisibility proto definition." } }, "type": "object" }, - "GetCustomerSearchApplicationStatsResponse": { - "description": "Response format for search application stats for a customer.", - "id": "GetCustomerSearchApplicationStatsResponse", + "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata", "properties": { - "averageSearchApplicationCount": { - "description": "Average search application count for the given date range.", - "format": "int64", + "newGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + }, + "prevGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + } + }, + "type": "object" + }, + "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata", + "properties": { + "newName": { "type": "string" }, - "stats": { - "description": "Search application stats by date.", - "items": { - "$ref": "CustomerSearchApplicationStats" - }, - "type": "array" + "prevName": { + "description": "NEXT_TAG: 3", + "type": "string" } }, "type": "object" }, - "GetCustomerSessionStatsResponse": { - "id": "GetCustomerSessionStatsResponse", + "AppsDynamiteRosterId": { + "description": "Primary key for Roster resource.", + "id": "AppsDynamiteRosterId", "properties": { - "stats": { - "items": { - "$ref": "CustomerSessionStats" - }, - "type": "array" + "id": { + "description": "Opaque, server-assigned ID of the Roster.", + "type": "string" } }, "type": "object" }, - "GetCustomerUserStatsResponse": { - "id": "GetCustomerUserStatsResponse", + "AppsDynamiteSharedAction": { + "description": "An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form.", + "id": "AppsDynamiteSharedAction", "properties": { - "stats": { + "function": { + "description": "Apps Script function to invoke when the containing element is clicked/activated.", + "type": "string" + }, + "interaction": { + "enum": [ + "INTERACTION_UNSPECIFIED", + "OPEN_DIALOG" + ], + "enumDescriptions": [ + "Default value if interaction is not specified.", + "A dialog opens by clicking the button." + ], + "type": "string" + }, + "loadIndicator": { + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "Displays a spinner to indicate that content is loading.", + "Nothing is displayed." + ], + "type": "string" + }, + "parameters": { + "description": "List of action parameters.", "items": { - "$ref": "CustomerUserStats" + "$ref": "AppsDynamiteSharedActionActionParameter" }, "type": "array" } }, "type": "object" }, - "GetDataSourceIndexStatsResponse": { - "id": "GetDataSourceIndexStatsResponse", + "AppsDynamiteSharedActionActionParameter": { + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters.", + "id": "AppsDynamiteSharedActionActionParameter", "properties": { - "averageIndexedItemCount": { - "description": "Average item count for the given date range for which billing is done.", - "format": "int64", + "key": { + "description": "The name of the parameter for the action script.", "type": "string" }, - "stats": { - "description": "Summary of indexed item counts, one for each day in the requested range.", - "items": { - "$ref": "DataSourceIndexStats" - }, - "type": "array" + "value": { + "description": "The value of the parameter.", + "type": "string" } }, "type": "object" }, - "GetSearchApplicationQueryStatsResponse": { - "description": "Response format for getting query stats for a search application between given dates.", - "id": "GetSearchApplicationQueryStatsResponse", + "AppsDynamiteSharedActivityFeedAnnotationData": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedActivityFeedAnnotationData", "properties": { - "stats": { - "description": "Query stats per date for a search application.", - "items": { - "$ref": "SearchApplicationQueryStats" - }, - "type": "array" + "activityFeedMessageId": { + "description": "Unique id of the Activity Feed message. This will be in the form of \"space-id/message-id\" or \"dm-id/message-id\", where the space-/dm-id and message-id components are extracted from the top-level MessageId in message.proto (http://shortn/_SulV51DNfF). This is copied into annotations so that no client changes are needed to access this value. Clients will need a unique id for every Activity Feed message to implement click-to-source.", + "type": "string" }, - "totalQueryCount": { - "description": "Total successful query count (status code 200) for the given date range.", - "format": "int64", + "chatItem": { + "$ref": "AppsDynamiteSharedChatItem" + }, + "sharedUserInfo": { + "$ref": "UserInfo", + "description": "Only populated on read path and should not be persisted in storage." + }, + "userInfo": { + "$ref": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", + "description": "Use shared_user_info instead." + } + }, + "type": "object" + }, + "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo": { + "description": "UserId of the AF item updater to show and the updater count to show.", + "id": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", + "properties": { + "updaterCountDisplayType": { + "description": "Describes how updater_count_to_show should be used.", + "enum": [ + "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED", + "EXACT_COUNT", + "NONZERO_COUNT" + ], + "enumDescriptions": [ + "", + "A precise updater count is known and the value set in updater_count_to_show should be used.", + "A precise updater count could not be calculated, but there is at least one. Any value set in updater_count_to_show should NOT be used." + ], + "type": "string" + }, + "updaterCountToShow": { + "description": "The number of updaters for clients to show, currently set to the total number of updaters minus the one set in updater_to_show.", + "format": "int32", + "type": "integer" + }, + "updaterToShow": { + "$ref": "AppsDynamiteUserId", + "description": "The updater for clients to show." + } + }, + "type": "object" + }, + "AppsDynamiteSharedAppProfile": { + "description": "Optional field for apps overriding display info", + "id": "AppsDynamiteSharedAppProfile", + "properties": { + "avatarEmoji": { + "description": "Displayed user avatar emoji.", + "type": "string" + }, + "avatarUrl": { + "description": "Displayed user avatar url.", + "type": "string" + }, + "name": { + "description": "Displayed user name.", "type": "string" } }, "type": "object" }, - "GetSearchApplicationSessionStatsResponse": { - "id": "GetSearchApplicationSessionStatsResponse", + "AppsDynamiteSharedAssistantAnnotationData": { + "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto Data used to render Assistant suggestions. See go/bullseye-rendering.", + "id": "AppsDynamiteSharedAssistantAnnotationData", "properties": { - "stats": { - "items": { - "$ref": "SearchApplicationSessionStats" - }, - "type": "array" + "suggestion": { + "$ref": "AppsDynamiteSharedAssistantSuggestion", + "description": "The suggestion to render in the card." + }, + "unfulfillable": { + "$ref": "AppsDynamiteSharedAssistantUnfulfillableRequest", + "description": "Set when the initial query was unfulfillable. Only an on-demand unfulfillable query will result in a response (not a proactive query). 1. On-demand: user explicitly invokes the bot 2. Proactive: bot makes proactive suggestion (when available) by listening to all user messages." } }, "type": "object" }, - "GetSearchApplicationUserStatsResponse": { - "id": "GetSearchApplicationUserStatsResponse", + "AppsDynamiteSharedAssistantDebugContext": { + "description": "Represents info regarding suggestion debug information.", + "id": "AppsDynamiteSharedAssistantDebugContext", "properties": { - "stats": { + "query": { + "description": "The query that triggered the resulting suggestion.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantFeedbackContext": { + "description": "Data needed to render feedback on the Assistant card", + "id": "AppsDynamiteSharedAssistantFeedbackContext", + "properties": { + "feedbackChips": { + "description": "Specifies a list of feedback chips to show", "items": { - "$ref": "SearchApplicationUserStats" + "$ref": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip" }, "type": "array" + }, + "thumbsFeedback": { + "description": "Whether the thumbs feedback is provided", + "enum": [ + "THUMBS_FEEDBACK_UNSPECIFIED", + "NONE_SELECTED", + "UP", + "DOWN" + ], + "enumDescriptions": [ + "Unspecified thumbs state", + "Thumbs are not selected", + "Thumbs up selected", + "Thumbs down selected" + ], + "type": "string" } }, "type": "object" }, - "GoogleDocsMetadata": { - "description": "The corpus specific metadata for office-type documents, from Google Docs and other sources. This message is passed to the scorer and beyond. Next tag: 7", - "id": "GoogleDocsMetadata", + "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip": { + "description": "Suggestion chips for users to indicate positive or negative feedback", + "id": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip", "properties": { - "aclInfo": { - "$ref": "AclInfo", - "description": "Contains number of users and groups which can access the document." + "feedbackChipType": { + "description": "What type of chip to display", + "enum": [ + "FEEDBACK_CHIP_TYPE_UNSPECIFIED", + "WRONG_TRIGGER", + "WRONG_FILE", + "CORRECT_TRIGGER", + "CORRECT_FILE", + "DISRUPTIVE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified type of feedback chip", + "Bad/noisy triggering", + "Incorrect files were presented", + "The Assistant card triggered appropriately", + "The correct files were presented", + "The feature is disruptive", + "Other reason" + ], + "type": "string" }, - "documentType": { - "description": "The conceptual type (presentation, document, etc.) of this document.", + "state": { + "description": "Whether the chip has been selected", "enum": [ - "UNKNOWN", - "DOCUMENT", - "PRESENTATION", - "SPREADSHEET", - "PDF", - "IMAGE", - "BINARY_BLOB", - "FUSION_TABLE", - "FOLDER", - "DRAWING", - "VIDEO", - "FORM", - "DRAFT_SITE", - "DRAFT_SITE_PAGE", - "JAM", - "SHORTCUT", - "SCRIPT" + "FEEDBACK_CHIP_STATE_UNSPECIFIED", + "SELECTED", + "UNSELECTED" ], "enumDescriptions": [ - "If the type is unknown or not represented in this enum.", - "Writely, Word, etc.", - "Presently, PowerPoint, etc.", - "Trix, Excel, etc.", - "File types for Gdrive objects are below.", + "Unspecified selection state", + "Chip is selected", + "Chip is not selected" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantSessionContext": { + "description": "Session context specific for Assistant suggestions.", + "id": "AppsDynamiteSharedAssistantSessionContext", + "properties": { + "contextualSessionId": { + "description": "Unique identifier populated by the contextual request handler for each vertical (Ex: File Suggestions, Smart Scheduling, etc.) that can be used to track sessions end-to-end. May span multiple users (sender-specific).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantSuggestion": { + "description": "Data for an Assistant suggestion.", + "id": "AppsDynamiteSharedAssistantSuggestion", + "properties": { + "debugContext": { + "$ref": "AppsDynamiteSharedAssistantDebugContext", + "description": "Info regarding suggestion debug information." + }, + "feedbackContext": { + "$ref": "AppsDynamiteSharedAssistantFeedbackContext", + "description": "Data for rendering feedback." + }, + "findDocumentSuggestion": { + "$ref": "AppsDynamiteSharedFindDocumentSuggestion", + "description": "Suggestion type that suggests documents (docs, slides, sheets)." + }, + "serializedSuggestions": { + "description": "String representation of the suggestions provided.", + "type": "string" + }, + "sessionContext": { + "$ref": "AppsDynamiteSharedAssistantSessionContext", + "description": "Session context specific to the Assistant suggestion." + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantUnfulfillableRequest": { + "description": "Data for a response to an unfulfillable request.", + "id": "AppsDynamiteSharedAssistantUnfulfillableRequest", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedAvatarInfo": { + "id": "AppsDynamiteSharedAvatarInfo", + "properties": { + "emoji": { + "$ref": "AppsDynamiteSharedEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteSharedBackendUploadMetadata": { + "description": "Metadata used only in Dynamite backend for uploaded attachments.", + "id": "AppsDynamiteSharedBackendUploadMetadata", + "properties": { + "blobPath": { + "description": "Blobstore path for the uploaded attachment", + "type": "string" + }, + "contentName": { + "description": "The original file name for the content, not the full path.", + "type": "string" + }, + "contentSize": { + "description": "Scotty reported content size by default. http://google3/uploader/agent/scotty_agent.proto?l=101\u0026rcl=140889785", + "format": "int64", + "type": "string" + }, + "contentType": { + "description": "Type is from Scotty's best_guess by default: http://google3/uploader/agent/scotty_agent.proto?l=51\u0026rcl=140889785", + "type": "string" + }, + "dlpScanOutcome": { + "description": "The results of the Data Loss Prevention (DLP) scan of the attachment. DEPRECATED: use dlp_scan_summary instead.", + "enum": [ + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" + ], + "enumDescriptions": [ + "", + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." + ], + "type": "string" + }, + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "Summary of a Data Loss Prevention (DLP) scan of the attachment. Attachments are evaluated in the backend when they are uploaded." + }, + "groupId": { + "$ref": "AppsDynamiteGroupId", + "description": "GroupId to which this attachment is uploaded." + }, + "originalDimension": { + "$ref": "AppsDynamiteSharedDimension", + "description": "Original dimension of the content. Only set for image attachments." + }, + "quoteReplyMessageId": { + "$ref": "AppsDynamiteMessageId", + "description": "The message id of a quote reply referencing this attachment. When present, this attachment has been quoted in a reply message. Normally, the attachment is fetched through the message id in the blob_path, but in the case of a quote reply, the blob_path would contain the quoted message id. Thus this message id field is needed to fetch the quote reply message instead. This field is conditionally populated at read time for quotes and never persisted in storage. See go/message-quoting-attachments for more context." + }, + "sha256": { + "description": "The SHA256 hash of the attachment bytes.", + "format": "byte", + "type": "string" + }, + "uploadIp": { + "description": "User IP address at upload time. Ex. \"123.1.2.3\". Used by Ares abuse scanning.", + "type": "string" + }, + "uploadTimestampUsec": { + "description": "Timestamp of when user finished uploading the content.", + "format": "int64", + "type": "string" + }, + "videoId": { + "description": "VideoID of the video attachments. This ID shall meets the Youtube ID format of 16 hex characters. For example, '4c14b8825af6059b' is a valid ID.", + "type": "string" + }, + "videoThumbnailBlobId": { + "description": "Full Blobstore ID for the video thumbnail.", + "type": "string" + }, + "virusScanResult": { + "description": "Result for a virus scan.", + "enum": [ + "UNKNOWN_VIRUS_SCAN_RESULT", + "CLEAN", + "INFECTED", + "ERROR", + "POLICY_VIOLATION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "The document violates Google's policy for executables and archives." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedBorderStyle": { + "description": "Represents the complete border style applied to widgets.", + "id": "AppsDynamiteSharedBorderStyle", + "properties": { + "cornerRadius": { + "description": "The corner radius for the border.", + "format": "int32", + "type": "integer" + }, + "strokeColor": { + "$ref": "Color", + "description": "The colors to use when the type is `BORDER_TYPE_STROKE`." + }, + "type": { + "description": "The border type.", + "enum": [ + "BORDER_TYPE_UNSPECIFIED", + "NO_BORDER", + "STROKE" + ], + "enumDescriptions": [ + "No value specified.", + "No border.", + "Outline." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedButton": { + "description": "A button. Can be a text button or an image button.", + "id": "AppsDynamiteSharedButton", + "properties": { + "altText": { + "description": "The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead.", + "type": "string" + }, + "color": { + "$ref": "Color", + "description": "If set, the button is filled with a solid background." + }, + "disabled": { + "description": "If true, the button is displayed in a disabled state and doesn't respond to user actions.", + "type": "boolean" + }, + "icon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "The icon image." + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "The action to perform when the button is clicked." + }, + "text": { + "description": "The text of the button.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedButtonList": { + "description": "A list of buttons layed out horizontally.", + "id": "AppsDynamiteSharedButtonList", + "properties": { + "buttons": { + "items": { + "$ref": "AppsDynamiteSharedButton" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationData": { + "id": "AppsDynamiteSharedCalendarEventAnnotationData", + "properties": { + "calendarEvent": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent" + }, + "eventCreation": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation", + "description": "Notification about the creation of an event." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent", + "properties": { + "endTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The end time of the event." + }, + "eventId": { + "description": "ID of the event.", + "type": "string" + }, + "startTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The start time of the event." + }, + "title": { + "description": "Title of the event (at the time the message was generated).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "properties": { + "allDay": { + "$ref": "Date", + "description": "All day event." + }, + "timed": { + "description": "Non all day event.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation": { + "description": "Creation of an event (no extra data for now).", + "id": "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedCallAnnotationData": { + "description": "Data used to render Meet or Google Voice chips in Chat. See go/dynamite-calling-artifacts-in-chat.", + "id": "AppsDynamiteSharedCallAnnotationData", + "properties": { + "callEndedTimestamp": { + "description": "Timestamp when the call ended. Used to render the call ended system message.", + "format": "google-datetime", + "type": "string" + }, + "callMetadata": { + "$ref": "AppsDynamiteSharedCallMetadata", + "description": "Required. Call metadata required to create the call artifacts. For now, the metadata contains only the call id to identify the call. This field allows additional data (e.g. voice call type) to be added if needed in the future." + }, + "callStatus": { + "description": "Required. Indicates the call status for the space. Used to determine the chip's state.", + "enum": [ + "CALL_STATUS_UNSPECIFIED", + "CALL_STARTED", + "CALL_MISSED", + "CALL_ENDED" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "Indicates that the call has started.", + "Indicates that the call is missed.", + "Indicates that the call has ended." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCallMetadata": { + "description": "Metadata required to generate call artifacts. This can either be the metadata for a Meet or, in the future, Google Voice call.", + "id": "AppsDynamiteSharedCallMetadata", + "properties": { + "meetMetadata": { + "$ref": "AppsDynamiteSharedMeetMetadata", + "description": "Metadata specific for the Meet call." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCard": { + "description": "A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { \"header\": { \"title\": \"Heba Salam\", \"subtitle\": \"Software Engineer\", \"imageStyle\": \"ImageStyle.AVATAR\", \"imageUrl\": \"https://example.com/heba_salam.png\", \"imageAltText\": \"Avatar for Heba Salam\" }, \"sections\" : [ { \"header\": \"Contact Info\", \"widgets\": [ { \"decorated_text\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"content\": \"heba.salam@example.com\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PERSON\" }, \"content\": \"Online\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PHONE\" }, \"content\": \"+1 (555) 555-1234\" } }, { \"buttons\": [ { \"textButton\": { \"text\": \"Share\", }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"textButton\": { \"text\": \"Edit\", }, \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } } ] } ], \"collapsible\": true, \"uncollapsibleWidgetsCount\": 3 } ], \"cardActions\": [ { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ], \"name\": \"contact-card-K3wB6arF2H9L\" } ```", + "id": "AppsDynamiteSharedCard", + "properties": { + "cardActions": { + "description": "The actions of this card. They are added to a card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` \"card_actions\": [ { \"actionLabel\": \"Setting\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", + "items": { + "$ref": "AppsDynamiteSharedCardCardAction" + }, + "type": "array" + }, + "header": { + "$ref": "AppsDynamiteSharedCardCardHeader", + "description": "The header of the card. A header usually contains a title and an image." + }, + "name": { + "description": "Name of the card, which is used as a identifier for the card in card navigation.", + "type": "string" + }, + "sections": { + "description": "Sections are separated by a line divider.", + "items": { + "$ref": "AppsDynamiteSharedCardSection" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardCardAction": { + "description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser.", + "id": "AppsDynamiteSharedCardCardAction", + "properties": { + "actionLabel": { + "description": "The label that displays as the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "The onclick action for this action item." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardCardHeader": { + "id": "AppsDynamiteSharedCardCardHeader", + "properties": { + "imageAltText": { + "description": "The alternative text of this image which is used for accessibility.", + "type": "string" + }, + "imageType": { + "description": "The image's type.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image in the card header.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle of the card header.", + "type": "string" + }, + "title": { + "description": "The title of the card header. The title must be specified. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardClickSuggestion": { + "description": "Card click which identifies one suggestion provided by the app/bot.", + "id": "AppsDynamiteSharedCardClickSuggestion", + "properties": { + "actionId": { + "description": "Identify the button/action that created the suggestion. A simple example would be a card button within the stream, or the id which can identify a specific suggestion.", + "type": "string" + }, + "suggestionMessageId": { + "$ref": "AppsDynamiteMessageId", + "description": "The message_id for the message that was posted by the app/bot." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardSection": { + "description": "A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float.", + "id": "AppsDynamiteSharedCardSection", + "properties": { + "collapsible": { + "description": "Indicates whether this section is collapsible. If a section is collapsible, the description must be given.", + "type": "boolean" + }, + "header": { + "description": "The header of the section. Formatted text is supported.", + "type": "string" + }, + "uncollapsibleWidgetsCount": { + "description": "The number of uncollapsible widgets. For example, when a section contains five widgets and the `numUncollapsibleWidget` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `numUncollapsibleWidget` is taken into account only when collapsible is set to `true`.", + "format": "int32", + "type": "integer" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "AppsDynamiteSharedWidget" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItem": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedChatItem", + "properties": { + "activityInfo": { + "description": "Information needed to render the specific type of feed item.", + "items": { + "$ref": "AppsDynamiteSharedChatItemActivityInfo" + }, + "type": "array" + }, + "groupInfo": { + "$ref": "AppsDynamiteSharedChatItemGroupInfo", + "description": "Only populated on read path and should not be persisted in storage." + }, + "messageInfo": { + "$ref": "AppsDynamiteSharedMessageInfo", + "description": "Additional information about the original chat message that isn't captured in the top-level message proto." + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfo": { + "id": "AppsDynamiteSharedChatItemActivityInfo", + "properties": { + "feedItemNudge": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge" + }, + "feedItemReactions": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions" + }, + "feedItemThreadReply": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply" + }, + "feedItemUserMention": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge": { + "description": "Existence of this attribute indicates that the AF item is for a message nudge item.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge", + "properties": { + "nudgeType": { + "description": "Nudge type of the nudge feed item.", + "enum": [ + "UNDEFINED", + "REPLY", + "FOLLOW_UP" + ], + "enumDescriptions": [ + "", + "The message receiver is nudged since the message may require a reply.", + "The message creator is nudged since the message may require a follow-up." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions": { + "description": "Existence of this attribute indicates that the AF item is for message reactions, but it is intentionally left empty since the list of reactions can be found in the top-level Message.Reactions.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply": { + "description": "Existence of this attribute indicates that the AF item is for thread reply.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply", + "properties": { + "replyType": { + "description": "Reply type of the thread reply feed item. The field is not persisted in storage. It's populated when constructing Activity Feed payload.", + "enum": [ + "UNSPECIFIED", + "ROOT", + "FOLLOWER" + ], + "enumDescriptions": [ + "", + "The thread reply feed item is for the root message poster.", + "The thread reply feed item is for a thread follower who's not the root message poster." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention": { + "description": "Existence of this attribute indicates that the AF item is for a user mention item.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention", + "properties": { + "type": { + "description": "User mention type", + "enum": [ + "TYPE_UNSPECIFIED", + "DIRECT", + "ALL" + ], + "enumDescriptions": [ + "Mention type not specified.", + "Mentioned directly by name.", + "Mentioned by @all." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemGroupInfo": { + "description": "Information about the space that the item originated from. This will be used to display Activity Feed items from rooms, and only contain the necessary information, such as the space name and group attributes. NEXT TAG: 6", + "id": "AppsDynamiteSharedChatItemGroupInfo", + "properties": { + "attributeCheckerGroupType": { + "description": "This is needed to determine what type of group the source message came from to support click-to-source.", + "enum": [ + "ATTRIBUTE_CHECKER_GROUP_TYPE_UNSPECIFIED", + "ONE_TO_ONE_HUMAN_DM", + "ONE_TO_ONE_BOT_DM", + "IMMUTABLE_MEMBERSHIP_GROUP_DM", + "FLAT_ROOM", + "THREADED_ROOM", + "IMMUTABLE_MEMBERSHIP_HUMAN_DM", + "POST_ROOM", + "ACTIVITY_FEED" + ], + "enumDescriptions": [ + "LINT.IfChange", + "A 1:1 DM that has two human users. Deprecated. Use IMMUTABLE_MEMBERSHIP_HUMAN_DM instead.", + "A 1:1 DM between a human user and a bot.", + "A group DM that has multiple human users with immutable group membership. Deprecated. Use IMMUTABLE_MEMBERSHIP_HUMAN_DM instead.", + "A flat room that contains a single thread.", + "A threaded room. Topics in this room are threaded, and users can reply to any topic.", + "A DM with immutable group membership. It can be a 1:1 DM or a group DM with multiple human users.", + "A post room. Topics in this room are organized in a post/reply style. See the design doc for more details: go/PostRoomsInDynamite.", + "Represents an Activity Feed space. These groups are modeled like flat rooms and contain items for users to catch up on important things. Each user should only have one group of this type. See go/activity-feed. LINT.ThenChange(//depot/google3/logs/proto/apps_dynamite/dynamite_visual_element_entry.proto:LoggingGroupType,//depot/google3/java/com/google/apps/dynamite/v1/web/ui/group/groups.js:LoggingGroupType)" + ], + "type": "string" + }, + "groupName": { + "type": "string" + }, + "groupReadTimeUsec": { + "description": "Timestamp of when the group containing the message has been read by the user.", + "format": "int64", + "type": "string" + }, + "inlineThreadingEnabled": { + "description": "Indicates whether the group has inline replies enabled. If enabled, clients will render the space with inline replies.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumns": { + "description": "Represents a Columns widget that displays a single row of columns.", + "id": "AppsDynamiteSharedColumns", + "properties": { + "columnItems": { + "description": "Each card supports up to 2 columns.", + "items": { + "$ref": "AppsDynamiteSharedColumnsColumn" + }, + "type": "array" + }, + "wrapStyle": { + "description": "Controls how the column resizes based on screen width.", + "enum": [ + "WRAP_STYLE_UNSPECIFIED", + "NOWRAP", + "WRAP" + ], + "enumDescriptions": [ + "Unspecified.", + "Column widgets don't wrap.", + "Column Widgets wrap." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumnsColumn": { + "description": "Represents a Column that consists of widgets stacked vertically.", + "id": "AppsDynamiteSharedColumnsColumn", + "properties": { + "horizontalAlignment": { + "description": "The horizontal alignment of the column.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "horizontalSizeStyle": { + "description": "Specifies how the column content is sized horizontally.", + "enum": [ + "HORIZONTAL_SIZE_STYLE_UNSPECIFIED", + "FILL_AVAILABLE_SPACE", + "FILL_MINIMUM_SPACE" + ], + "enumDescriptions": [ + "Unspecified.", + "Fills up the available horizontal width. Default value if unspecified.", + "Fills up the minimum horizontal width." + ], + "type": "string" + }, + "verticalAlignment": { + "description": "The vertical alignment of the column.", + "enum": [ + "VERTICAL_ALIGNMENT_UNSPECIFIED", + "CENTER", + "TOP", + "BOTTOM" + ], + "enumDescriptions": [ + "Unspecified.", + "Aligns the widget in the center of the column. Default value if unspecified.", + "Aligns the widget at the top of the column.", + "Aligns the widget at the bottom of the column." + ], + "type": "string" + }, + "widgets": { + "description": "LINT.ThenChange(//google/apps/card/v1/card.proto) Array of widgets included in the column.", + "items": { + "$ref": "AppsDynamiteSharedColumnsColumnWidgets" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumnsColumnWidgets": { + "description": "LINT.IfChange The `column` widget can contain these widgets.", + "id": "AppsDynamiteSharedColumnsColumnWidgets", + "properties": { + "buttonList": { + "$ref": "AppsDynamiteSharedButtonList", + "description": "ButtonList widget." + }, + "dateTimePicker": { + "$ref": "AppsDynamiteSharedDateTimePicker", + "description": "DateTimePicker widget." + }, + "decoratedText": { + "$ref": "AppsDynamiteSharedDecoratedText", + "description": "DecoratedText widget." + }, + "image": { + "$ref": "AppsDynamiteSharedImage", + "description": "Image widget." + }, + "selectionInput": { + "$ref": "AppsDynamiteSharedSelectionInput", + "description": "SelectionInput widget." + }, + "textInput": { + "$ref": "AppsDynamiteSharedTextInput", + "description": "TextInput widget." + }, + "textParagraph": { + "$ref": "AppsDynamiteSharedTextParagraph", + "description": "Text paragraph widget." + } + }, + "type": "object" + }, + "AppsDynamiteSharedContentReportType": { + "description": "Denotes a type of content report a user can send.", + "id": "AppsDynamiteSharedContentReportType", + "properties": { + "systemViolation": { + "description": "Required. Google-defined system violation, covering the most common violations.", + "enum": [ + "VIOLATION_UNSPECIFIED", + "HARASSMENT", + "DISCRIMINATION", + "EXPLICIT_CONTENT", + "SPAM", + "CONFIDENTIAL_INFORMATION", + "SENSITIVE_INFORMATION", + "OTHER" + ], + "enumDescriptions": [ + "Default value if unset. Do not use directly. This value should not appear as a selectable violation during content reporting.", + "\"Harassment, offensive, or rude behavior\"", + "\"Discrimination or harmful stereotypes against anyone, including protected groups\"", + "\"Explicit content that's graphic, violent, or otherwise inappropriate\"", + "\"Spam\"", + "\"Confidential information\"", + "\"Sensitive information\"", + "\"Something else\"" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCustomEmoji": { + "description": "Proto representation of a custom emoji. May be used in both APIs and in Spanner, but certain fields should be restricted to one or the other. See the per-field documentation for details. NEXT_TAG: 14", + "id": "AppsDynamiteSharedCustomEmoji", + "properties": { + "blobId": { + "description": "ID for the underlying image data in Blobstore. This field should *only* be present in Spanner or within the server, but should not be exposed in public APIs.", + "type": "string" + }, + "contentType": { + "description": "Content type of the file used to upload the emoji. Used for takeout. Written to Spanner when the emoji is created.", + "type": "string" + }, + "createTimeMicros": { + "description": "Time when the Emoji was created, in microseconds. This field may be present in Spanner, within the server, or in public APIs.", + "format": "int64", + "type": "string" + }, + "creatorUserId": { + "$ref": "AppsDynamiteUserId", + "description": "This field should *never* be persisted to Spanner." + }, + "deleteTimeMicros": { + "description": "Time when the emoji was deleted, in microseconds. This field may be present in Spanner, within the server, or in public APIs. Only present if the emoji has been deleted.", + "format": "int64", + "type": "string" + }, + "ephemeralUrl": { + "description": "Output only. A short-lived URL clients can use for directly accessing a custom emoji image. This field is intended for API consumption, and should *never* be persisted to Spanner.", + "readOnly": true, + "type": "string" + }, + "ownerCustomerId": { + "$ref": "AppsDynamiteCustomerId", + "description": "This field should *never* be persisted to Spanner." + }, + "readToken": { + "description": "Opaque token that clients use to construct the URL for accessing the custom emoji’s image data. This field is intended for API consumption, and should *never* be persisted to Spanner.", + "type": "string" + }, + "shortcode": { + "description": "User-provided, human-readable ID for the custom emoji. Users are expected to observe this field in the UI instead of the UUID. This shortcode should be unique within an organization, but has no global uniqueness guarantees, unlike the UUID. This field should *never* be persisted to Spanner.", + "type": "string" + }, + "state": { + "description": "Snapshot of the current state of the emoji, which may differ from the source-of-truth in the CustomEmojis table. This field should *never* be persisted to Spanner.", + "enum": [ + "EMOJI_STATE_UNSPECIFIED", + "EMOJI_ENABLED", + "EMOJI_SYSTEM_DISABLED", + "EMOJI_HIDDEN", + "EMOJI_DELETED" + ], + "enumDescriptions": [ + "", + "Emoji is visible and available to be used, subject to access control requirements.", + "Emoji can no longer be used (e.g. due to a shortcode conflict), but is not removed from existing embeddings.", + "Emoji is hidden from pickers, so new usages are not allowed, but is not removed from existing embeddings.", + "Emoji is removed everywhere and is not available to end-users." + ], + "type": "string" + }, + "updateTimeMicros": { + "format": "int64", + "type": "string" + }, + "uuid": { + "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDateTimePicker": { + "description": "The widget that lets users to specify a date and time.", + "id": "AppsDynamiteSharedDateTimePicker", + "properties": { + "label": { + "description": "The label for the field that displays to the user.", + "type": "string" + }, + "name": { + "description": "The name of the text input that's used in formInput, and uniquely identifies this input.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation." + }, + "timezoneOffsetDate": { + "description": "The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the date/time picker.", + "enum": [ + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" + ], + "enumDescriptions": [ + "The user can select a date and time.", + "The user can only select a date.", + "The user can only select a time." + ], + "type": "string" + }, + "valueMsEpoch": { + "description": "The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDecoratedText": { + "description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text.", + "id": "AppsDynamiteSharedDecoratedText", + "properties": { + "bottomLabel": { + "description": "The formatted text label that shows below the main text.", + "type": "string" + }, + "button": { + "$ref": "AppsDynamiteSharedButton", + "description": "A button that can be clicked to trigger an action." + }, + "endIcon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "An icon displayed after the text." + }, + "icon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "Deprecated in favor of start_icon." + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "Only the top and bottom label and content region are clickable." + }, + "startIcon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "The icon displayed in front of the text." + }, + "switchControl": { + "$ref": "AppsDynamiteSharedDecoratedTextSwitchControl", + "description": "A switch widget can be clicked to change its state or trigger an action." + }, + "text": { + "description": "Required. The main widget formatted text. See Text formatting for details.", + "type": "string" + }, + "topLabel": { + "description": "The formatted text label that shows above the main text.", + "type": "string" + }, + "wrapText": { + "description": "The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDecoratedTextSwitchControl": { + "id": "AppsDynamiteSharedDecoratedTextSwitchControl", + "properties": { + "controlType": { + "description": "The control type, either switch or checkbox.", + "enum": [ + "SWITCH", + "CHECKBOX", + "CHECK_BOX" + ], + "enumDescriptions": [ + "", + "Deprecated in favor of `CHECK_BOX`.", + "" + ], + "type": "string" + }, + "name": { + "description": "The name of the switch widget that's used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The action when the switch state is changed." + }, + "selected": { + "description": "If the switch is selected.", + "type": "boolean" + }, + "value": { + "description": "The value is what is passed back in the callback.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDimension": { + "description": "Dimension for the uploaded attachments.", + "id": "AppsDynamiteSharedDimension", + "properties": { + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDivider": { + "description": "A divider that appears in between widgets.", + "id": "AppsDynamiteSharedDivider", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedDlpMetricsMetadata": { + "description": "LINT.IfChange", + "id": "AppsDynamiteSharedDlpMetricsMetadata", + "properties": { + "dlpStatus": { + "description": "[required] Describes the DLP status of message send and attachment upload events.", + "enum": [ + "DLP_STATUS_UNKNOWN", + "DLP_DISABLED", + "DLP_ENABLED_NO_RULE_FETCH", + "DLP_ENABLED_RULES_FETCHED_NO_RULES", + "DLP_ENABLED_RULES_FETCHED_NO_APPLICABLE_RULES", + "DLP_ENABLED_RULES_FETCHED_AND_EVALUATED", + "DLP_ENABLED_SCAN_TIMEOUT", + "DLP_ENABLED_SCAN_FAILED" + ], + "enumDescriptions": [ + "", + "Rule fetch and evaluation are skipped because DLP experiment is not enabled.", + "Rule fetch and evaluation are skipped because there is no rule to be fetched (e.g. message is sent from a consumer, or there is no message.)", + "Rule fetch happened, but rule evalution is skipped because the fetch returned no rules.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable.", + "Rule fetch and evaluation were performed and completed successfully.", + "DLP scan was attempted but timed out.", + "Generic DLP failure. This case covers any other errors/exceptions in the Chat backend that caused the DLP scan to fail." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDocument": { + "description": "Data for rendering a document.", + "id": "AppsDynamiteSharedDocument", + "properties": { + "fileId": { + "description": "Unique file ID.", + "type": "string" + }, + "justification": { + "$ref": "AppsDynamiteSharedJustification", + "description": "Justification to explain why this document is being suggested." + }, + "lastModifiedTime": { + "description": "Time the document was last modified.", + "format": "google-datetime", + "type": "string" + }, + "mimeType": { + "description": "Used to determine which icon to render (e.g. docs, slides, sheets)", + "type": "string" + }, + "title": { + "description": "Title of the document.", + "type": "string" + }, + "url": { + "description": "URL of the document.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedEmoji": { + "id": "AppsDynamiteSharedEmoji", + "properties": { + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji", + "description": "A custom emoji." + }, + "unicode": { + "description": "A basic emoji represented by a unicode string.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedFindDocumentSuggestion": { + "description": "Data for a FindDocument suggestion type.", + "id": "AppsDynamiteSharedFindDocumentSuggestion", + "properties": { + "documentSuggestions": { + "description": "List of documents to render as suggestions.", + "items": { + "$ref": "AppsDynamiteSharedDocument" + }, + "type": "array" + }, + "showActionButtons": { + "description": "Whether to show the action buttons in the card for the suggestions.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGrid": { + "description": "Represents a Grid widget that displays items in a configurable grid layout.", + "id": "AppsDynamiteSharedGrid", + "properties": { + "borderStyle": { + "$ref": "AppsDynamiteSharedBorderStyle", + "description": "The border style to apply to each grid item." + }, + "columnCount": { + "description": "The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion).", + "format": "int32", + "type": "integer" + }, + "items": { + "description": "The items to display in the grid.", + "items": { + "$ref": "AppsDynamiteSharedGridGridItem" + }, + "type": "array" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters." + }, + "title": { + "description": "The text that displays in the grid header.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGridGridItem": { + "description": "Represents a single item in the grid layout.", + "id": "AppsDynamiteSharedGridGridItem", + "properties": { + "id": { + "description": "A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters.", + "type": "string" + }, + "image": { + "$ref": "AppsDynamiteSharedImageComponent", + "description": "The image that displays in the grid item." + }, + "layout": { + "description": "The layout to use for the grid item.", + "enum": [ + "GRID_ITEM_LAYOUT_UNSPECIFIED", + "TEXT_BELOW", + "TEXT_ABOVE" + ], + "enumDescriptions": [ + "No layout specified.", + "The title and subtitle are shown below the grid item's image.", + "The title and subtitle are shown above the grid item's image." + ], + "type": "string" + }, + "subtitle": { + "description": "The grid item's subtitle.", + "type": "string" + }, + "textAlignment": { + "description": "The horizontal alignment of the grid item's text.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "title": { + "description": "The grid item's title.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGroupDetails": { + "description": "NEXT TAG: 3 A GroupDetails proto will store the information pertaining to single Group.", + "id": "AppsDynamiteSharedGroupDetails", + "properties": { + "description": { + "description": "A simple text that describes the purpose of a single Group, the general theme of the topics to be posted and/or the denominator of the Group participants.", + "type": "string" + }, + "guidelines": { + "description": "A simple text describing the rules and expectations from members when participating in conversation.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGroupVisibility": { + "id": "AppsDynamiteSharedGroupVisibility", + "properties": { + "state": { + "enum": [ + "UNKNOWN", + "PRIVATE", + "PUBLIC" + ], + "enumDescriptions": [ + "Do not use.", + "Explicitly invited users may join the room.", + "Anyone in the domain may join the room." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedIcon": { + "id": "AppsDynamiteSharedIcon", + "properties": { + "altText": { + "description": "The description of the icon, used for accessibility. The default value is provided if you don't specify one.", + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "imageType": { + "description": "The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "knownIcon": { + "description": "The icon specified by the string name of a list of known icons", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImage": { + "description": "An image that is specified by a URL and can have an onClick action.", + "id": "AppsDynamiteSharedImage", + "properties": { + "altText": { + "description": "The alternative text of this image, used for accessibility.", + "type": "string" + }, + "imageUrl": { + "description": "An image URL.", + "type": "string" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImageComponent": { + "id": "AppsDynamiteSharedImageComponent", + "properties": { + "altText": { + "description": "The accessibility label for the image.", + "type": "string" + }, + "borderStyle": { + "$ref": "AppsDynamiteSharedBorderStyle", + "description": "The border style to apply to the image." + }, + "cropStyle": { + "$ref": "AppsDynamiteSharedImageCropStyle", + "description": "The crop style to apply to the image." + }, + "imageUri": { + "description": "The image URL.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImageCropStyle": { + "description": "Represents the crop style applied to an image.", + "id": "AppsDynamiteSharedImageCropStyle", + "properties": { + "aspectRatio": { + "description": "The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.", + "format": "double", + "type": "number" + }, + "type": { + "description": "The crop type.", + "enum": [ + "IMAGE_CROP_TYPE_UNSPECIFIED", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedJustification": { + "description": "Data for rendering a justification for a document.", + "id": "AppsDynamiteSharedJustification", + "properties": { + "actionTime": { + "description": "Time the action took place.", + "format": "google-datetime", + "type": "string" + }, + "actionType": { + "description": "Type of action performed on the document.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "COMMENTED", + "CREATED", + "EDITED", + "PRESENTED", + "SHARED", + "VIEWED", + "COMMENT_RESOLVED", + "SENT" + ], + "enumDescriptions": [ + "Unspecified action.", + "Commented on document.", + "Created document.", + "Edited document.", + "Presented document.", + "Shared document.", + "Viewed document.", + "Resolved comment on document.", + "Sent document over chat/email." + ], + "type": "string" + }, + "documentOwner": { + "$ref": "AppsDynamiteSharedJustificationPerson", + "description": "Owner of the document." + }, + "topics": { + "description": "Words or phrases from the user's query that describes the document content. (Ex: Users query is \"Can you share the document about Bullseye?\" the extracted topic would be \"Bullseye\").", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedJustificationPerson": { + "description": "Data for rendering a person associated with a document.", + "id": "AppsDynamiteSharedJustificationPerson", + "properties": { + "isRecipient": { + "description": "Whether the person is the recipient of the suggestions.", + "type": "boolean" + }, + "user": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID." + } + }, + "type": "object" + }, + "AppsDynamiteSharedMeetMetadata": { + "description": "Metadata specific for a Meet call that are required to generate call artifacts.", + "id": "AppsDynamiteSharedMeetMetadata", + "properties": { + "meetingCode": { + "description": "Required. A globally unique code (e.g. \"cxv-zbgj-wzw\") that points to a meeting space. Note: Meeting codes may be regenerated, which will cause old meeting codes to become invalid.", + "type": "string" + }, + "meetingUrl": { + "description": "Required. A URL, in the format \"https://meet.google.com/*\" (e.g. https://meet.google.com/cxv-zbgj-wzw), to identify and access the meeting space.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedMessageInfo": { + "description": "Information that references a Dynamite chat message.", + "id": "AppsDynamiteSharedMessageInfo", + "properties": { + "messageId": { + "$ref": "AppsDynamiteMessageId", + "description": "Id of the source chat message. This is kept here because the top-level message ID to refers the AF message ID." + }, + "topicReadTimeUsec": { + "description": "Timestamp of when the topic containing the message has been read by the user. This is populated if the message references an inline reply, in which case the space may be marked as read but the topic still has unread messages.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedMessageIntegrationPayload": { + "description": "The payload(restricted to 1P applications) to be stored with a specific message.", + "id": "AppsDynamiteSharedMessageIntegrationPayload", + "properties": { + "projectNumber": { + "description": "Pantheon project number used to identify the calling app.", + "format": "int64", + "type": "string" + }, + "tasksMessageIntegrationPayload": { + "$ref": "AppsDynamiteSharedTasksMessageIntegrationPayload" + }, + "type": { + "description": "An enum indicating which 1P application's payload this is. This field is required to add 1P payload.", + "enum": [ + "PAYLOAD_TYPE_UNSPECIFIED", + "TASKS" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOnClick": { + "id": "AppsDynamiteSharedOnClick", + "properties": { + "action": { + "$ref": "AppsDynamiteSharedAction", + "description": "If specified, an action is triggered by this onClick." + }, + "openDynamicLinkAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "An add-on triggers this action when the action needs to open a link. This differs from the open_link above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back." + }, + "openLink": { + "$ref": "AppsDynamiteSharedOpenLink", + "description": "If specified, this onClick triggers an open link action." + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLink": { + "id": "AppsDynamiteSharedOpenLink", + "properties": { + "appUri": { + "$ref": "AppsDynamiteSharedOpenLinkAppUri", + "description": "Represents the platform specific uri/intent to open on each client. For example: A companion_url will open in a companion window on the web. An iOS URL and android intent will open in the corresponding hosting apps. If these platform specific URLs can't be handled correctly, i.e. if the companion isn't supported on web and the hosting apps aren't available on the mobile platforms then the `uri` will open in a new browser window on all the platforms." + }, + "onClose": { + "enum": [ + "NOTHING", + "RELOAD" + ], + "enumDescriptions": [ + "Doesn’t reload the card after the child window closes. Reloads the card after the child window closes. If used in conjunction with [OpenAs.OVERLAY](/workspace/add-ons/reference/rpc/google.apps.card.v1#openas), the child window acts as a modal dialog and the main card is blocked until the child window closes.", + "" + ], + "type": "string" + }, + "openAs": { + "enum": [ + "FULL_SIZE", + "OVERLAY" + ], + "enumDescriptions": [ + "The link opens as a full size window (if that's the frame used by the client.", + "The link opens as an overlay, such as a pop-up." + ], + "type": "string" + }, + "url": { + "description": "The URL to open.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUri": { + "description": "Represents the platform specific uri/intent to open for each client.", + "id": "AppsDynamiteSharedOpenLinkAppUri", + "properties": { + "androidIntent": { + "$ref": "AppsDynamiteSharedOpenLinkAppUriIntent", + "description": "An intent object to be opened in the corresponding android hosting app." + }, + "companionUri": { + "description": "A companion uri string to be opened in the chat companion window. on the web.", + "type": "string" + }, + "iosUri": { + "description": "A uri string to be opened in the corresponding iOS hosting app.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUriIntent": { + "description": "Android intent.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntent", + "properties": { + "extraData": { + "description": "A list of extra data for the android intent. For example, for a calendar event edit intent, the event title information can be passed as extra data.", + "items": { + "$ref": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData" + }, + "type": "array" + }, + "intentAction": { + "description": "An android intent action string for the {@link android.content.Intent} object. For example: for the view intent action type, a valid value will be android.content.Intent.ACTION_VIEW.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUriIntentExtraData": { + "description": "Extra data for an android intent. Valid keys are defined in the hosting app contract.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData", + "properties": { + "key": { + "description": "A key for the intent extra data.", + "type": "string" + }, + "value": { + "description": "Value for the given extra data key.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfo": { + "description": "Contains info about the entity that something is, or is owned by.", + "id": "AppsDynamiteSharedOrganizationInfo", + "properties": { + "consumerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoConsumerInfo" + }, + "customerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoCustomerInfo" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfoConsumerInfo": { + "description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.", + "id": "AppsDynamiteSharedOrganizationInfoConsumerInfo", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfoCustomerInfo": { + "id": "AppsDynamiteSharedOrganizationInfoCustomerInfo", + "properties": { + "customerId": { + "$ref": "AppsDynamiteCustomerId" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOriginAppSuggestion": { + "description": "Stores the suggestion provided by apps/bots.", + "id": "AppsDynamiteSharedOriginAppSuggestion", + "properties": { + "appId": { + "$ref": "AppsDynamiteAppId" + }, + "cardClickSuggestion": { + "$ref": "AppsDynamiteSharedCardClickSuggestion" + } + }, + "type": "object" + }, + "AppsDynamiteSharedPhoneNumber": { + "id": "AppsDynamiteSharedPhoneNumber", + "properties": { + "type": { + "description": "The phone number type, e.g., work, mobile, etc.", + "type": "string" + }, + "value": { + "description": "The actual phone number.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedReaction": { + "id": "AppsDynamiteSharedReaction", + "properties": { + "count": { + "description": "The total number of users who have reacted.", + "format": "int32", + "type": "integer" + }, + "createTimestamp": { + "description": "When the first emoji of this type was added.", + "format": "int64", + "type": "string" + }, + "currentUserParticipated": { + "description": "Whether the current user reacted using this emoji. Note: Unlike most properties of messages, this is different per-user.", + "type": "boolean" + }, + "emoji": { + "$ref": "AppsDynamiteSharedEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteSharedRetentionSettings": { + "description": "The settings of retention period of a message or topic.", + "id": "AppsDynamiteSharedRetentionSettings", + "properties": { + "expiryTimestamp": { + "description": "The timestamp after which the message/topic should be removed, in microseconds since the epoch, when state == EPHEMERAL_ONE_DAY. The value should not be set in other cases.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The retention state.", + "enum": [ + "UNKNOWN_RETENTION_STATE", + "PERMANENT", + "EPHEMERAL_ONE_DAY" + ], + "enumDescriptions": [ + "", + "The message/topic should be kept permanently.", + "The message/topic should be kept with a 24-hour TTL." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSelectionInput": { + "description": "A widget that creates a UI item (for example, a drop-down list) with options for users to select.", + "id": "AppsDynamiteSharedSelectionInput", + "properties": { + "items": { + "items": { + "$ref": "AppsDynamiteSharedSelectionInputSelectionItem" + }, + "type": "array" + }, + "label": { + "description": "The label displayed ahead of the switch control.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button." + }, + "type": { + "enum": [ + "CHECK_BOX", + "RADIO_BUTTON", + "SWITCH", + "DROPDOWN" + ], + "enumDescriptions": [ + "The selection type is a checkbox.", + "The selection type is a radio button.", + "The selection type is a switch.", + "The selection type is a dropdown." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSelectionInputSelectionItem": { + "description": "The item in the switch control. A radio button, at most one of the items is selected.", + "id": "AppsDynamiteSharedSelectionInputSelectionItem", + "properties": { + "selected": { + "description": "If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored.", + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item. The client should use this as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSpaceInfo": { + "description": "Defines the representation of a single matching space.", + "id": "AppsDynamiteSharedSpaceInfo", + "properties": { + "avatarInfo": { + "$ref": "AppsDynamiteSharedAvatarInfo" + }, + "avatarUrl": { + "type": "string" + }, + "description": { + "type": "string" + }, + "groupId": { + "$ref": "AppsDynamiteGroupId" + }, + "inviterEmail": { + "description": "The email address of the user that invited the calling user to the room, if available. This field will only be populated for direct invites, it will be empty if the user was indirectly invited to the group.", + "type": "string" + }, + "isExternal": { + "description": "Whether this is a space that enables guest access", + "type": "boolean" + }, + "name": { + "type": "string" + }, + "numMembers": { + "format": "int32", + "type": "integer" + }, + "userMembershipState": { + "description": "searching user's membership state in this space", + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSuggestions": { + "description": "A container wrapping elements necessary for showing suggestion items used in text input autocomplete.", + "id": "AppsDynamiteSharedSuggestions", + "properties": { + "items": { + "description": "A list of suggestions items which will be used in are used in autocomplete.", + "items": { + "$ref": "AppsDynamiteSharedSuggestionsSuggestionItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSuggestionsSuggestionItem": { + "description": "A suggestion item. Only supports text for now.", + "id": "AppsDynamiteSharedSuggestionsSuggestionItem", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationData": { + "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto", + "id": "AppsDynamiteSharedTasksAnnotationData", + "properties": { + "assigneeChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange" + }, + "completionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCompletionChange" + }, + "creation": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCreation" + }, + "deletionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataDeletionChange" + }, + "taskId": { + "description": "ID of task. Will be used to create deep links to Tasks.", + "type": "string" + }, + "taskProperties": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "description": "Task properties after the update has been applied." + }, + "userDefinedMessage": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataAssigneeChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange", + "properties": { + "oldAssignee": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID of previous assignee. Not set if the task was originally not assigned." + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataCompletionChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataCompletionChange", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataCreation": { + "id": "AppsDynamiteSharedTasksAnnotationDataCreation", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataDeletionChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataDeletionChange", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataTaskProperties": { + "description": "All relevant task properties for a Chat message.", + "id": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "properties": { + "assignee": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID of new assignee. Not set if the task doesn't have an assignee." + }, + "completed": { + "description": "Whether the task is marked as completed.", + "type": "boolean" + }, + "deleted": { + "description": "Whether the task is marked as deleted.", + "type": "boolean" + }, + "description": { + "description": "The description of the task. If Task original description's length is greater than 1024, then Task BE sends the truncated description to Dynamite Integration Server.", + "type": "string" + }, + "startDate": { + "$ref": "Date", + "description": "Set if the task has a date but no time. Source of truth in Tasks BE: http://shortn/_wyT7eB4Ixv" + }, + "startTime": { + "description": "Set if the task has both a date and a time. Source of truth in Tasks BE: http://shortn/_u6cr0F5ttE", + "format": "google-datetime", + "type": "string" + }, + "title": { + "description": "The title of the task.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage": { + "description": "Used for task card attachments on custom user messages that should be kept as is without generating an i18n event message, e.g. the user starts a conversation from an existing task. IMPORTANT: please don't populate this field yet as it could break existing flows until it's implemented. See code at http://shortn/_CM74CdENMx used by http://shortn/_5o85POJY8Q.", + "id": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksMessageIntegrationPayload": { + "description": "A payload containing Tasks metadata for rendering a live card. Currently not used by the Tasks integration.", + "id": "AppsDynamiteSharedTasksMessageIntegrationPayload", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTextInput": { + "description": "A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions.", + "id": "AppsDynamiteSharedTextInput", + "properties": { + "autoCompleteAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items." + }, + "hintText": { + "description": "The hint text.", + "type": "string" + }, + "initialSuggestions": { + "$ref": "AppsDynamiteSharedSuggestions", + "description": "The initial suggestions made before any user input." + }, + "label": { + "description": "At least one of label and hintText must be specified.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The onChange action, for example, invoke a function." + }, + "type": { + "description": "The style of the text, for example, a single line or multiple lines.", + "enum": [ + "SINGLE_LINE", + "MULTIPLE_LINE" + ], + "enumDescriptions": [ + "The text is put into a single line.", + "The text is put into multiple lines." + ], + "type": "string" + }, + "value": { + "description": "The default value when there is no input from the user.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTextParagraph": { + "description": "A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting\") for details.", + "id": "AppsDynamiteSharedTextParagraph", + "properties": { + "text": { + "description": "The text that's shown in the widget.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedUserBlockRelationship": { + "description": "User-block relationship", + "id": "AppsDynamiteSharedUserBlockRelationship", + "properties": { + "hasBlockedRequester": { + "type": "boolean" + }, + "isBlockedByRequester": { + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedVideoReference": { + "description": "Reference to a transcoded video attachment.", + "id": "AppsDynamiteSharedVideoReference", + "properties": { + "format": { + "description": "Available transcode format. Value is defined in video/storage/proto/content_header.proto", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "status": { + "description": "Transcode status", + "enum": [ + "UNKNOWN_STATUS", + "SUCCESS", + "ERROR", + "NOT_APPLICABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedWidget": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "AppsDynamiteSharedWidget", + "properties": { + "buttonList": { + "$ref": "AppsDynamiteSharedButtonList", + "description": "A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ \"button\": { \"text\": \"Edit\", \"Color\": { \"Red\": 255 \"Green\": 255 \"Blue\": 255 } \"disabled\": true }, \"button\": { \"icon\": { \"knownIcon\": \"INVITE\" \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } }, ] } ```" + }, + "columns": { + "$ref": "AppsDynamiteSharedColumns", + "description": "Displays a single row of columns with widgets stacked vertically in each column. For example, the following JSON creates a 2 column widget each containing a single item. ``` \"columns\": { \"wrapStyle\": \"WRAP\", \"columnItems\": [ { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\" : \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"First column text paragraph\", } } ] }, { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\" : \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"Second column text paragraph\", } } ] }, ] } } ```" + }, + "dateTimePicker": { + "$ref": "AppsDynamiteSharedDateTimePicker", + "description": "Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` \"date_time_picker\": { \"name\": \"appointment_time\", \"label\": \"Book your appointment at:\", \"type\": \"DateTimePickerType.DATE_AND_TIME\", \"valueMsEpoch\": \"796435200000\" } ```" + }, + "decoratedText": { + "$ref": "AppsDynamiteSharedDecoratedText", + "description": "Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"content\": \"heba.salam@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchWidget\": { \"name\": \"has_send_welcome_email_to_heba_salam\", \"selected\": false, \"controlType\": \"ControlType.CHECKBOX\" } } ```" + }, + "divider": { + "$ref": "AppsDynamiteSharedDivider", + "description": "Displays a divider. For example, the following JSON creates a divider: ``` \"divider\": { } ```" + }, + "grid": { + "$ref": "AppsDynamiteSharedGrid", + "description": "Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"numColumns\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4.0 }, \"items\": [ \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" ], \"onClick\": { \"openLink\": { \"url\":\"https://www.example.com\" } } } ```" + }, + "horizontalAlignment": { + "description": "The horizontal alignment of this widget.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "image": { + "$ref": "AppsDynamiteSharedImage", + "description": "Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` \"image\": { \"imageUrl\": \"https://example.com/heba_salam.png\" \"altText\": \"Avatar for Heba Salam\" } ```" + }, + "selectionInput": { + "$ref": "AppsDynamiteSharedSelectionInput", + "description": "Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` \"switchControl\": { \"name\": \"size\", \"label\": \"Size\" \"type\": \"SelectionType.DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" + }, + "textInput": { + "$ref": "AppsDynamiteSharedTextInput", + "description": "Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` \"textInput\": { \"name\": \"mailing_address\", \"label\": \"Mailing Address\" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` \"textInput\": { \"name\": \"preferred_programing_language\", \"label\": \"Preferred Language\", \"initialSuggestions\": { \"items\": [ { \"text\": \"C++\" }, { \"text\": \"Java\" }, { \"text\": \"JavaScript\" }, { \"text\": \"Python\" } ] } } ```" + }, + "textParagraph": { + "$ref": "AppsDynamiteSharedTextParagraph", + "description": "Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" + } + }, + "type": "object" + }, + "AppsDynamiteSlashCommandMetadata": { + "description": "Annotation metadata for slash commands (/).", + "id": "AppsDynamiteSlashCommandMetadata", + "properties": { + "argumentsHint": { + "description": "Hint string for the arguments expected by the slash command.", + "type": "string" + }, + "commandId": { + "description": "Unique id for the slash command.", + "format": "int64", + "type": "string" + }, + "commandName": { + "description": "Name of the slash command.", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the bot which owns the slash command." + }, + "triggersDialog": { + "description": "Whether or not this slash command should trigger a dialog.", + "type": "boolean" + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "ADD", + "INVOKE", + "FAILED_TO_ADD" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "If a bot is added by a Slash Command, it means the bot was invoked by the user but hasn't yet been added to the group. Attaching an ADD annotation both add and invoke the bot.", + "", + "Server-generated slash command metadata, for clients to strikethrough." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSpaceId": { + "description": "Primary key for Space resource.", + "id": "AppsDynamiteSpaceId", + "properties": { + "spaceId": { + "description": "Unique, immutable ID of the Space", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteTombstoneMetadata": { + "description": "Tombstoning is the act of leaving a contextual trace when deleting a message. See more: go/tombstone-prd, go/hub-dynamite-tombstones-server-design-v2.", + "id": "AppsDynamiteTombstoneMetadata", + "properties": { + "tombstoneType": { + "description": "Indicates the type of Tombstone.", + "enum": [ + "TOMBSTONE_UNSPECIFIED", + "CREATOR", + "ROOM_OWNER", + "ADMIN", + "APP_MESSAGE_EXPIRY", + "CREATOR_VIA_APP", + "ROOM_OWNER_VIA_APP" + ], + "enumDescriptions": [ + "This should not be used.", + "User deleted their own message.", + "The space owner deleted a message in their space.", + "The customer admin deleted a message in a space or DM owned by the customer. (go/chat-customer-owned-data)", + "App scheduled deletion of their own message. See go/bme-dd.", + "User deleted their own message via an app. See go/chat-api-delete-message.", + "The space owner deleted a message in their space via an app. See go/chat-api-delete-message." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteTopicId": { + "id": "AppsDynamiteTopicId", + "properties": { + "groupId": { + "$ref": "AppsDynamiteGroupId", + "description": "The Space or DM that the topic belongs to." + }, + "topicId": { + "description": "Opaque, server-assigned ID of the Topic. While this ID is guaranteed to be unique within the Space, it's not guaranteed to be globally unique. Internal usage: this field can be empty in the following cases: 1. To create the first message in a topic. 2. To list last N messages of a Space (regardless of topic).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUploadMetadata": { + "description": "Annotation metadata for user Upload artifacts.", + "id": "AppsDynamiteUploadMetadata", + "properties": { + "attachmentToken": { + "description": "Opaque token. Clients shall simply pass it back to the Backend. This field will NOT be saved into storage.", + "type": "string" + }, + "backendUploadMetadata": { + "$ref": "AppsDynamiteSharedBackendUploadMetadata", + "description": "Information about the uploaded attachment that is only used in Backend. This field will NOT be sent out of Google." + }, + "clonedAuthorizedItemId": { + "$ref": "AuthorizedItemId", + "description": "The \"new\" secure identifier for Drive files. Should be used instead of the deprecated string drive_id field above. This should only be set if the upload file has been added to Drive. Note that older Drive files that do not have a ResourceKey should still use this field, with the resource_key field unset." + }, + "clonedDriveAction": { + "description": "DriveAction for organizing the cloned version of this upload in Drive, if the file has been added to Drive. This field is not set if the file has not been added to Drive. Additionally, this field is only set when part of a FileResult in a ListFilesResponse.", + "enum": [ + "DRIVE_ACTION_UNSPECIFIED", + "ADD_TO_DRIVE", + "ORGANIZE", + "ADD_SHORTCUT", + "ADD_ANOTHER_SHORTCUT" + ], + "enumDescriptions": [ + "No organize action should be shown.", + "Show \"Add to Drive\" button, for adding file that doesn't exist in Drive to Drive. Note that deleted Drive files that still exist (i.e. in your Trash) will still be ORGANIZE (this is consistent with Gmail Drive attachments).", + "Show \"Move\" button, for organizing a Drive file the user has permission to move.", + "Show \"Add shortcut\" button, for adding a shortcut to a Drive file the user does not have permission to move.", + "Show \"Add another shortcut\" button, for Drive files the user has already created a shortcut to." + ], + "type": "string" + }, + "clonedDriveId": { + "description": "Reference to a Drive ID, if this upload file has been previously cloned to Drive. Note: this is deprecated in favor of the AuthorizedItemId below.", + "type": "string" + }, + "contentName": { + "description": "The original file name for the content, not the full path.", + "type": "string" + }, + "contentType": { + "description": "Type is from Scotty's best_guess by default: http://google3/uploader/agent/scotty_agent.proto?l=51\u0026rcl=140889785", + "type": "string" + }, + "dlpMetricsMetadata": { + "$ref": "AppsDynamiteSharedDlpMetricsMetadata", + "description": "The metrics metadata of the Data Loss Prevention attachment scan." + }, + "localId": { + "description": "A copy of the LocalId in Annotation. This field is supposed to be filled by server only.", + "type": "string" + }, + "originalDimension": { + "$ref": "AppsDynamiteSharedDimension", + "description": "Original dimension of the content. Only set for image attachments." + }, + "videoReference": { + "$ref": "AppsDynamiteSharedVideoReference", + "description": "Reference to a transcoded video attachment. Only set for video attachments." + }, + "virusScanResult": { + "description": "Result for a virus scan. It's duplicated in the above field apps.dynamite.shared.BackendUploadMetadata", + "enum": [ + "UNKNOWN_VIRUS_SCAN_RESULT", + "CLEAN", + "INFECTED", + "ERROR", + "POLICY_VIOLATION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "The document violates Google's policy for executables and archives." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUrlMetadata": { + "description": "Annotation metadata for a Weblink. In case of pasted link it can qualify to be other types in addition to being a URL - like DRIVE_DOC/DRIVE_SHEET and so on. The URL metadata will also be present and it's up to the client to decide which metadata to render it with. These fields are filled in using page render service.", + "id": "AppsDynamiteUrlMetadata", + "properties": { + "domain": { + "description": "Domain for this url. If it's an IP address the address is returned.", + "type": "string" + }, + "gwsUrl": { + "$ref": "SafeUrlProto", + "description": "The signed GWS URL." + }, + "gwsUrlExpirationTimestamp": { + "description": "The expiration timestamp for GWS URL, only set when gws_url is set.", + "format": "int64", + "type": "string" + }, + "imageHeight": { + "description": "Dimensions of the image: height. This field is string to match with page render service response. Deprecated. Use int_image_height instead.", + "type": "string" + }, + "imageUrl": { + "description": "Representative image of the website.", + "type": "string" + }, + "imageWidth": { + "description": "Dimensions of the image: width. This field is string to match with page render service response. Deprecated. Use int_image_height instead.", + "type": "string" + }, + "intImageHeight": { + "description": "Dimensions of the image: height.", + "format": "int32", + "type": "integer" + }, + "intImageWidth": { + "description": "Dimensions of the image: width.", + "format": "int32", + "type": "integer" + }, + "mimeType": { + "description": "Mime type of the content (Currently mapped from Page Render Service ItemType) Note that this is not necessarily the mime type of the http resource. For example a text/html from youtube or vimeo may actually be classified as a video type. Then we shall mark it as video/* since we don't know exactly what type of video it is. NEXT TAG : 16", + "type": "string" + }, + "redirectUrl": { + "$ref": "SafeUrlProto", + "description": "The stable redirect URL pointing to frontend server." + }, + "shouldNotRender": { + "description": "If the UrlMetadata is missing data for rendering a chip. Deprecated. Use Annotation.ChipRenderType instead.", + "type": "boolean" + }, + "snippet": { + "description": "Snippet/small description of the weblink.", + "type": "string" + }, + "title": { + "description": "Title of the Weblink.", + "type": "string" + }, + "url": { + "$ref": "SafeUrlProto", + "description": "The original URL." + } + }, + "type": "object" + }, + "AppsDynamiteUserId": { + "description": "Primary key for User resource.", + "id": "AppsDynamiteUserId", + "properties": { + "actingUserId": { + "description": "Optional. Opaque, server-assigned ID of the user profile associated with App/user acting on behalf of the human user. This is currently only set when a 3P application is acting on the user's behalf.", + "type": "string" + }, + "id": { + "description": "Opaque, server-assigned ID of the User.", + "type": "string" + }, + "originAppId": { + "$ref": "AppsDynamiteAppId", + "description": "Optional. Identifier of the App involved (directly or on behalf of a human creator) in creating this message. This is not set if the user posted a message directly, but is used in the case of, for example, a message being generated by a 1P integration based on a user action (creating an event, creating a task etc). This should only be used on the BE. For clients, please use the field in the FE message proto instead (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id)." + }, + "type": { + "description": "Clients do not need to send UserType to Backend, but Backend will always send this field to clients per the following rule: 1. For HUMAN Ids, the field is empty but by default .getType() will return HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT.", + "enum": [ + "HUMAN", + "BOT" + ], + "enumDescriptions": [ + "Notes on HUMAN type: 1) Leaving UserId.UserType field empty will return HUMAN as default value. This is expected because all the existing UserIds are without explicitly setting UserType, most of which are HUMAN Ids. For Bot Ids we will always set BOT in UserType field. 2) DO NOT explicitly set HUMAN as type. This is a proto2 issue, that a UserId with explicitly set default value HUMAN as type is NOT equal to an id without setting the field. aka. UserId id1 = UserId.newBuilder() .setId(\"dummy\").setType(UserType.HUMAN).build(); UserId id2 = UserId.newBuilder().setId(\"dummy\").build(); AssertThat(id1).isNotEqual(id2); AssertThat(id2.getType()).isEqualTo(UserType.HUMAN);", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUserMentionMetadata": { + "description": "Annotation metadata for user mentions (+/@/-).", + "id": "AppsDynamiteUserMentionMetadata", + "properties": { + "displayName": { + "description": "Display name of the mentioned user. This field should remain empty when clients resolve a UserMention annotation. It will be filled in when a UserMention is generated by the Integration Server.", + "type": "string" + }, + "gender": { + "description": "Gender of the mentioned user. One of \"female\", \"male\" or \"other\". Used for choosing accurate translations for strings that contain the UserMention, when these need to be constructed (e.g. task assignment update message). This field should remain empty when clients resolve a UserMention. It will be filled in when a UserMention is generated by the Integration Server.", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "To be deprecated. Use invitee_info field instead. ID of the User mentioned. This field should remain empty when type == MENTION_ALL." + }, + "inviteeInfo": { + "$ref": "AppsDynamiteInviteeInfo", + "description": "Invitee UserId and email used when mentioned. This field should remain empty when type == MENTION_ALL. Invitee_info.email is only used when a user is @-mentioned with an email address, and it will be empty when clients get messages from Backend." + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "INVITE", + "UNINVITE", + "MENTION", + "MENTION_ALL", + "FAILED_TO_ADD" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "", + "", + "", + "", + "Server-generated user mention, for clients to strikethrough." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Action": { + "description": "Interactive objects inside a message. Documentation: - https://api.slack.com/docs/message-buttons", + "id": "AppsDynamiteV1ApiCompatV1Action", + "properties": { + "confirm": { + "$ref": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "description": "Confirmation dialog config." + }, + "name": { + "description": "Unique identifier for this action.", + "type": "string" + }, + "style": { + "description": "Button style (\"default\", \"primary\", or \"danger\").", + "type": "string" + }, + "text": { + "description": "User-facing label for the action.", + "type": "string" + }, + "type": { + "description": "Action type - currently only \"button\".", + "type": "string" + }, + "value": { + "description": "Payload for this action. Will be sent to the action handler along with name.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1ActionConfirm": { + "description": "Confirmation dialog config.", + "id": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "properties": { + "dismiss_text": { + "description": "\"Cancel\" button label.", + "type": "string" + }, + "ok_text": { + "description": "\"OK\" button label.", + "type": "string" + }, + "text": { + "description": "Confirmation dialog body text.", + "type": "string" + }, + "title": { + "description": "Confirmation dialog title.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Attachment": { + "description": "Richly formatted attachments. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Attachment", + "properties": { + "actions": { + "description": "Array of actions (currently only buttons).", + "items": { + "$ref": "AppsDynamiteV1ApiCompatV1Action" + }, + "type": "array" + }, + "attachment_type": { + "description": "Undocumented - used in interactive button examples. The only valid value appears to be \"default\".", + "type": "string" + }, + "author_icon": { + "description": "Avatar URL for the user.", + "type": "string" + }, + "author_link": { + "description": "URL that the user name should link to.", + "type": "string" + }, + "author_name": { + "description": "User name to display as the author of the message.", + "type": "string" + }, + "callback_id": { + "description": "Unique identifier for the collection of buttons within this attachment. Will be sent back to the action handler URL when a button is clicked.", + "type": "string" + }, + "color": { + "description": "A color \"bar\" to display to the left of the attachment.", + "type": "string" + }, + "fallback": { + "description": "Fallback plain-text string for clients that don't support attachments.", + "type": "string" + }, + "fields": { + "description": "Columns of text inside the attachment body.", + "items": { + "$ref": "AppsDynamiteV1ApiCompatV1Field" + }, + "type": "array" + }, + "footer": { + "description": "A string displayed at the bottom of the attachment.", + "type": "string" + }, + "footer_icon": { + "description": "Avatar URL displayed to the left of the footer.", + "type": "string" + }, + "image_url": { + "description": "URL of an image to display in an image chip.", + "type": "string" + }, + "mrkdwn_in": { + "description": "List of fields to apply formatting to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pretext": { + "description": "A string to show above the attachment.", + "type": "string" + }, + "text": { + "description": "Main text.", + "type": "string" + }, + "thumb_url": { + "description": "URL of a thumbnail image to display to the right of the attachment body.", + "type": "string" + }, + "title": { + "description": "Title string of this attachment.", + "type": "string" + }, + "title_link": { + "description": "URL that the title string should link to.", + "type": "string" + }, + "ts": { + "description": "UNIX timestamp of the attachment.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Field": { + "description": "A column of text in an attachment. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Field", + "properties": { + "short": { + "description": "Whether the field can be shown side-by-side with another field.", + "type": "boolean" + }, + "title": { + "description": "The heading text, shown in bold.", + "type": "string" + }, + "value": { + "description": "The text value of the field.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteVideoCallMetadata": { + "id": "AppsDynamiteVideoCallMetadata", + "properties": { + "meetingSpace": { + "$ref": "MeetingSpace", + "description": "Thor meeting space." + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "wasCreatedInCurrentGroup": { + "description": "Whether this meeting space was created via Dynamite in this Dynamite group.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteYoutubeMetadata": { + "description": "Annotation metadata for YouTube artifact.", + "id": "AppsDynamiteYoutubeMetadata", + "properties": { + "id": { + "description": "YouTube resource ID of the artifact.", + "type": "string" + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "startTime": { + "description": "YouTube query parameter for timestamp. YouTube specific flag that allows users to embed time token when sharing a link. This property contains parsed time token in seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Attachment": { + "description": "An Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.", + "id": "Attachment", + "properties": { + "embedItem": { + "$ref": "EmbedClientItem", + "description": "An embed represents an external entity. See go/es-embeds." + }, + "id": { + "description": "An id to uniquely identify an attachment when several attachments are in a collection.", + "type": "string" + } + }, + "type": "object" + }, + "AttachmentMetadata": { + "description": "An attachment uploaded in Dynamite and its filename.", + "id": "AttachmentMetadata", + "properties": { + "filename": { + "type": "string" + } + }, + "type": "object" + }, + "AuditLoggingSettings": { + "description": "Represents the settings for Cloud audit logging", + "id": "AuditLoggingSettings", + "properties": { + "logAdminReadActions": { + "description": "Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.", + "type": "boolean" + }, + "logDataReadActions": { + "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", + "type": "boolean" + }, + "logDataWriteActions": { + "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", + "type": "boolean" + }, + "project": { + "description": "The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id}", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedItemId": { + "description": "A combination of an identifier for a Drive resource (e.g. file, folder, or drive) and any secrets needed to access it. The secrets should never be logged, and this proto annotates those secret fields to ensure that they are not. Clients are encouraged to use this proto rather than defining their own, to ensure that secrets are correctly annotated.", + "id": "AuthorizedItemId", + "properties": { + "id": { + "description": "Serialized ID of the Drive resource", + "type": "string" + }, + "resourceKey": { + "description": "Resource key of the Drive item. This field should be unset if, depending on the context, the item does not have a resource key, or if none was specified. This must never be logged.", + "type": "string" + } + }, + "type": "object" + }, + "AutoComplete": { + "id": "AutoComplete", + "properties": { + "items": { + "items": { + "$ref": "AutoCompleteItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AutoCompleteItem": { + "id": "AutoCompleteItem", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "BooleanOperatorOptions": { + "description": "Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "BooleanOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is *closed* and the property's name is *isClosed*, then queries like *closed:\u003cvalue\u003e* show results only where the value of the property named *isClosed* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "BooleanPropertyOptions": { + "description": "The options for boolean properties.", + "id": "BooleanPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "BooleanOperatorOptions", + "description": "If set, describes how the boolean should be used as a search operator." + } + }, + "type": "object" + }, + "BorderStyle": { + "description": "Represents a complete border style that can be applied to widgets.", + "id": "BorderStyle", + "properties": { + "cornerRadius": { + "description": "The corner radius for the border.", + "format": "int32", + "type": "integer" + }, + "strokeColor": { + "description": "The colors to use when the type is STROKE.", + "type": "string" + }, + "type": { + "description": "The border type.", + "enum": [ + "BORDER_TYPE_NOT_SET", + "NO_BORDER", + "STROKE" + ], + "enumDescriptions": [ + "No value specified.", + "No border.", + "Outline." + ], + "type": "string" + } + }, + "type": "object" + }, + "BotMessageMetadata": { + "description": "A bot sent a message in Dynamite.", + "id": "BotMessageMetadata", + "properties": {}, + "type": "object" + }, + "BroadcastAccess": { + "description": "Broadcast access information of a meeting space.", + "id": "BroadcastAccess", + "properties": { + "accessPolicy": { + "description": "The policy that controls the broadcast's viewer access.", + "enum": [ + "BROADCASTING_ACCESS_POLICY_UNSPECIFIED", + "ORGANIZATION", + "PUBLIC" + ], + "enumDescriptions": [ + "Used only when broadcast is not enabled, or an unknown enum value is used.", + "Only authenticated Google accounts belonging to the same organization as the meeting organizer can access the broadcast.", + "Anyone with the broadcast view URL can access the broadcast." + ], + "type": "string" + }, + "viewUrl": { + "description": "A URL that can be used to access the broadcast of the meeting. This field will be empty if broadcast is not enabled. It will be populated by the backend. Clients cannot modify the value.", + "type": "string" + } + }, + "type": "object" + }, + "BroadcastSessionInfo": { + "description": "Information about a broadcast session.", + "id": "BroadcastSessionInfo", + "properties": { + "broadcastSessionId": { + "description": "A unique server-generated ID for the broadcast session.", + "type": "string" + }, + "broadcastStats": { + "$ref": "BroadcastStats", + "description": "Output only. Current broadcast session's statistics.", + "readOnly": true + }, + "ingestionId": { + "description": "Input only. Deprecated field, should not be used.", + "type": "string" + }, + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Broadcast session's state information." + } + }, + "type": "object" + }, + "BroadcastStats": { + "description": "Statistics of the broadcast session.", + "id": "BroadcastStats", + "properties": { + "estimatedViewerCount": { + "description": "Estimated concurrent viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Button": { + "id": "Button", + "properties": { + "imageButton": { + "$ref": "ImageButton" + }, + "textButton": { + "$ref": "TextButton" + } + }, + "type": "object" + }, + "CalendarEventMetadata": { + "description": "A Calendar event message in Dynamite.", + "id": "CalendarEventMetadata", + "properties": {}, + "type": "object" + }, + "CallInfo": { + "description": "Contains information regarding an ongoing conference (aka call) for a meeting space.", + "id": "CallInfo", + "properties": { + "abuseReportingConfig": { + "$ref": "AbuseReportingConfig", + "description": "Abuse reporting configuration for the ongoing conference." + }, + "artifactOwner": { + "$ref": "UserDisplayInfo", + "description": "Output only. Display name of the owner of artifacts generated in this conference. The expected use of this in clients is to present info like \"This recording will be sent to John Doe's Drive\". This field can be empty if preferred display name determination fails for any reason.", + "readOnly": true + }, + "attachedDocuments": { + "description": "Output only. Documents attached to an ongoing conference.", + "items": { + "$ref": "DocumentInfo" + }, + "readOnly": true, + "type": "array" + }, + "availableReactions": { + "description": "Output only. The set of reactions that clients are allowed to send and can expect to receive. Note that a device in the conference should have the MAY_SEND_REACTIONS privilege to be able to send reactions.", + "items": { + "$ref": "ReactionInfo" + }, + "readOnly": true, + "type": "array" + }, + "broadcastSessionInfo": { + "$ref": "BroadcastSessionInfo", + "description": "Information about active broadcast session in the ongoing conference." + }, + "calendarEventId": { + "description": "Output only. The calendar event ID of a Google Calendar event that the meeting space is associated with. If the meeting space is not associated with an event in Google Calendar, this field is empty. For recurring events, it refers to the recurring instance associated with the current call, as determined by the server.", + "readOnly": true, + "type": "string" + }, + "coActivity": { + "$ref": "CoActivity", + "description": "The current co-activity session, or unset if there is none in progress. A co-activity session can be initiated by devices in JOINED state . Initiator of the co-activity is expected to populate this field to start the session. Once clients detect that the co-activity has finished, any JOINED device can clear this field to end the co-activity session. In the case of switching activities, the initiator of the new activity merely needs to override this with the new co-activity data, and all connected clients are expected to handle the transition gracefully." + }, + "collaboration": { + "$ref": "Collaboration", + "description": "The current collaboration session, or unset if no collaboration is in progress." + }, + "cseInfo": { + "$ref": "CseInfo", + "description": "CSE information for the ongoing conference." + }, + "maxJoinedDevices": { + "description": "Output only. The maximum number of devices that may be in the joined state simultaneously in this conference. This can be used by clients to guess whether it will be possible to join, but the only way to know is to try to join. It can also be used to inform users about the limit that is in effect. This limit is normally set when the conference is created and not changed during the lifetime of the conference. But there are some cases where it may change, so clients should be aware that the information may be stale.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "mediaBackendInfo": { + "description": "Output only. Information about the media backend for the currently ongoing conference in the meeting space. The media backend information will only be filled in for clients that are supposed to present the information. The information should be displayed in a debug panel and is only intended for internal debugging purposes. If the string is empty nothing should be displayed about the media backend.", + "readOnly": true, + "type": "string" + }, + "organizationName": { + "description": "Output only. The name or description of the organization or domain that the organizer belongs to. The expected use of this in clients is to present messages like \"John Doe (outside of Google.com) is trying to join this call\", where \"Google.com\" is the organization name. The field will be empty if the organization name could not be determined, possibly because of a backend error.", + "readOnly": true, + "type": "string" + }, + "paygateInfo": { + "$ref": "PaygateInfo", + "description": "Paygate information to clients." + }, + "presenter": { + "$ref": "Presenter", + "description": "The current presenter in the call, or unset if there is no current presenter. Clients can set this to change the presenter." + }, + "recordingInfo": { + "$ref": "RecordingInfo", + "description": "Deprecated, use RecordingSessionInfo instead. Info about recording for this conference. This will always be set in server responses, with a valid recording status. This is superseded by streaming_sessions field, which contains the same information about this recording as well as additional information about other application type at the same time. This will be deprecated and removed at some point." + }, + "recordingSessionInfo": { + "$ref": "RecordingSessionInfo", + "description": "Information about active recording session in the ongoing conference." + }, + "settings": { + "$ref": "CallSettings", + "description": "Settings of the ongoing conference." + }, + "streamingSessions": { + "description": "Output only. Info about streaming sessions (recording or broadcast) for this conference. This should contain all active sessions. Currently, it's guaranteed to have at most one recording and at most one broadcast (at most two sessions in total). For each application type (recording or broadcast), latest inactive session is included if there's no active one.", + "items": { + "$ref": "StreamingSessionInfo" + }, + "readOnly": true, + "type": "array" + }, + "supportedCaptionLanguages": { + "description": "Supported caption languages in BCP 47 language code format, e.g.'en-US'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "transcriptionSessionInfo": { + "$ref": "TranscriptionSessionInfo", + "description": "Information about active transcription session in the ongoing conference." + }, + "viewerCount": { + "description": "The number of devices viewing the conference - MeetingDevices that are in VIEWER role and JOINED state in the conference.", + "format": "int32", + "type": "integer" + }, + "youTubeBroadcastSessionInfos": { + "description": "Information about active YouTube broadcast sessions in the ongoing conference.", + "items": { + "$ref": "YouTubeBroadcastSessionInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "CallSettings": { + "description": "Effective settings of the ongoing conference.", + "id": "CallSettings", + "properties": { + "accessLock": { + "description": "Indicates whether the access lock is currently on or off.", + "type": "boolean" + }, + "attendanceReportEnabled": { + "description": "Indicates whether the attendance report is currently enabled or disabled.", + "type": "boolean" + }, + "audioLock": { + "description": "Indicates whether the audio lock is currently on or off.", + "type": "boolean" + }, + "chatLock": { + "description": "Indicates whether the chat lock is currently on or off.", + "type": "boolean" + }, + "cseEnabled": { + "description": "Whether Client-side Encryption is enabled for this conference.", + "type": "boolean" + }, + "moderationEnabled": { + "description": "Indicates whether the current call is moderated. go/meet-multimod-dd", + "type": "boolean" + }, + "presentLock": { + "description": "Indicates whether the present lock is currently on or off.", + "type": "boolean" + }, + "projectDinoEnabled": { + "description": "Indicates whether project Dino is currently on or off. WARNING: This is currently an experimental field. It should not be used without getting an explicit review and approval from the Meet team.", + "type": "boolean" + }, + "reactionsLock": { + "description": "Indicates whether the reactions lock is currently on or off.", + "type": "boolean" + }, + "videoLock": { + "description": "Indicates whether the video lock is currently on or off.", + "type": "boolean" + } + }, + "type": "object" + }, + "CapTokenHolderProto": { + "description": "Represents a principal which possesses a particular secret string whose cryptographic hash is specified here. CapTokens (\"Capability Tokens\") are used in ACLProto. It's expected that ACLs with CapTokenHolders will strongly enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.", + "id": "CapTokenHolderProto", + "properties": { + "tokenHmacSha1Prefix": { + "description": "The hash of the corresponding capability token. The value is defined to be identical to the one in acl.proto's CapTokenMetadata: 10-byte prefix of HMAC-SHA1 of the token. The HMAC key is the following fixed (non-secret) 512-bit value: 79b1c8f4 82baf523 b8a9ab4a e960f438 c45be041 11f1f222 e8a3f64d aeb05e3d c3576acc ec649194 aede422c 4e48e0d1 ff21234a a6ed6b49 a7fa592e efd7bba3", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "Card": { + "id": "Card", + "properties": { + "cardActions": { + "items": { + "$ref": "CardAction" + }, + "type": "array" + }, + "displayStyle": { + "enum": [ + "DISPLAY_STYLE_UNSPECIFIED", + "PEEK", + "REPLACE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "fixedFooter": { + "$ref": "FixedFooter" + }, + "header": { + "$ref": "CardHeader" + }, + "name": { + "description": "Name of the card used in CardNavigation.pop_to_card_name.", + "type": "string" + }, + "peekCardHeader": { + "$ref": "CardHeader", + "description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards." + }, + "sections": { + "items": { + "$ref": "Section" + }, + "type": "array" + } + }, + "type": "object" + }, + "CardAction": { + "description": "When an AddOn Card is shown in detailed view, a card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser.", + "id": "CardAction", + "properties": { + "actionLabel": { + "description": "The label used to be displayed in the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "OnClick" + } + }, + "type": "object" + }, + "CardHeader": { + "id": "CardHeader", + "properties": { + "imageAltText": { + "description": "The alternative text of this image which will be used for accessibility.", + "type": "string" + }, + "imageStyle": { + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "title": { + "description": "The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each will take up 1 line. If only the title is specified, it will take up both lines. The header is rendered in collapsed and detailed view.", + "type": "string" + } + }, + "type": "object" + }, + "ChatContentExtension": { + "description": "NEXT ID: 12", + "id": "ChatContentExtension", + "properties": { + "annotation": { + "description": "Annotations to decorate this event.", + "items": { + "$ref": "EventAnnotation" + }, + "type": "array" + }, + "dynamitePlaceholderMetadata": { + "$ref": "DynamitePlaceholderMetadata", + "description": "This metadata informs how the placeholder string will be localized dynamically in Hangouts. See go/localization-of-system-messages. This is only used as part of REGULAR_CHAT_MESSAGE events." + }, + "eventOtrStatus": { + "description": "Is this event OnTR or OffTR? Since some events can be ON_THE_RECORD and have an expiration_timestamp (for example enterprise retention users) we need to store the otr status.", + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "groupLinkSharingModificationEvent": { + "$ref": "GroupLinkSharingModificationEvent", + "description": "Group-link sharing toggle event." + }, + "hangoutEvent": { + "$ref": "HangoutEvent", + "description": "Audio/video Hangout event." + }, + "inviteAcceptedEvent": { + "$ref": "InviteAcceptedEvent", + "description": "Invite accepted events. Note: this is only used ephemerally to sync to Gmail. No actual cent is stored in Papyrus." + }, + "membershipChangeEvent": { + "$ref": "MembershipChangeEvent", + "description": "Join/leave events." + }, + "otrChatMessageEvent": { + "$ref": "OtrChatMessageEvent", + "description": "Metadata for off-the-record message." + }, + "otrModificationEvent": { + "$ref": "OtrModificationEvent" + }, + "renameEvent": { + "$ref": "RenameEvent" + } + }, + "type": "object" + }, + "ChatProto": { + "description": "Represents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.", + "id": "ChatProto", + "properties": { + "chatId": { + "description": "Chat IDs consist of alphanumeric characters and colons. Currently required.", + "type": "string" + }, + "memberType": { + "description": "The type of Chat members to consider, e.g. \"all members\" vs. \"invitee\" These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See chat.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with chat. Currently required.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "CheckAccessResponse": { + "id": "CheckAccessResponse", + "properties": { + "hasAccess": { + "description": "Returns true if principal has access. Returns false otherwise.", + "type": "boolean" + } + }, + "type": "object" + }, + "CircleProto": { + "description": "Represents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", + "id": "CircleProto", + "properties": { + "circleId": { + "description": "Circle ID is unique only relative to the owner's Gaia ID. Currently required.", + "format": "int64", + "type": "string" + }, + "ownerGaiaId": { + "description": "The owner of the circle. Currently required.", + "format": "int64", + "type": "string" + }, + "requiredConsistencyTimestampUsec": { + "description": "If present, then tests for membership in this circle must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this circle supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CloudPrincipalProto": { + "description": "Principal associated with a Cloud Principal representing third party user.", + "id": "CloudPrincipalProto", + "properties": { + "id": { + "description": "Format: \"{identity-pool}:{subject}#\" Details: go/cloud-principal-identifiers", + "type": "string" + } + }, + "type": "object" + }, + "CoActivity": { + "description": "Metadata about a co-activity session.", + "id": "CoActivity", + "properties": { + "activityTitle": { + "description": "The title of the activity in this co-activity session. For example, this might be the title of the video being co-watched, or the name of the round of a game being co-played.", + "type": "string" + }, + "coActivityApp": { + "description": "Identifies the app handling this co-activity.", + "enum": [ + "CO_ACTIVITY_APP_UNSPECIFIED", + "CO_ACTIVITY_APP_YOU_TUBE_MAIN", + "CO_ACTIVITY_APP_SPOTIFY", + "CO_ACTIVITY_APP_UNO", + "CO_ACTIVITY_APP_HEADSUP", + "CO_ACTIVITY_APP_KAHOOT", + "CO_ACTIVITY_APP_GQUEUES" + ], + "enumDescriptions": [ + "Should never be used.", + "Main YouTube app, for watching videos.", + "Spotify music.", + "Uno game.", + "HeadsUp game.", + "Kahoot! educational software.", + "GQueues task manager." + ], + "type": "string" + } + }, + "type": "object" + }, + "Collaboration": { + "description": "Information about a collaboration session.", + "id": "Collaboration", + "properties": { + "attachmentId": { + "description": "The attachment being collaborated on.", + "type": "string" + }, + "initiator": { + "$ref": "UserDisplayInfo", + "description": "Display info of the user who initiated the collaboration session." + }, + "uri": { + "description": "The uri of the artifact being collaborated on.", + "type": "string" + } + }, + "type": "object" + }, + "Color": { + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:\u0026red green:\u0026green blue:\u0026blue alpha:\u0026alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha \u003c= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i \u003c missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", + "id": "Color", + "properties": { + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", + "format": "float", + "type": "number" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "CompositeFilter": { + "id": "CompositeFilter", + "properties": { + "logicOperator": { + "description": "The logic operator of the sub filter.", + "enum": [ + "AND", + "OR", + "NOT" + ], + "enumDescriptions": [ + "Logical operators, which can only be applied to sub filters.", + "", + "NOT can only be applied on a single sub filter." + ], + "type": "string" + }, + "subFilters": { + "description": "Sub filters.", + "items": { + "$ref": "Filter" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContactGroupProto": { + "description": "A group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.", + "id": "ContactGroupProto", + "properties": { + "groupId": { + "description": "Group ID is unique only relative to the owner's Gaia ID.", + "format": "int64", + "type": "string" + }, + "ownerGaiaId": { + "format": "int64", + "type": "string" + }, + "requiredConsistencyTimestampUsec": { + "description": "If present, then tests for membership in this ContactGroup must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this group supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContextAttribute": { + "description": "A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.", + "id": "ContextAttribute", + "properties": { + "name": { + "description": "The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.", + "type": "string" + }, + "values": { + "description": "Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContextualAddOnMarkup": { + "description": "The markup for developers to specify the contents of a contextual AddOn. A contextual AddOn is triggered in context of an email. For that email, there can be N items that are associated with the email (e.g. contacts, sales lead, meeting information). Each item is represented as a \"card\". A card has two views, collapsed and detailed. If there are more than 1 card, the cards are show as a list of collapsed views. The end user can expand into the detailed view for each of those cards. In the detailed view, developers have the freedom to use a variety of \"widgets\" to construct it. The model here is to restrict (make consistent for end users) the navigation of the N cards but providing developers the freedom to build the detailed view that can best represent their use case/content. Go http://go/aoig-widgets1 to see the mocks. Post v1, we plan to support new AddOn use cases that will require different and separate 'templates'. For example, a compose triggered AddOn which will support a new set of use cases with different user interaction patterns. As a result, we will likely need a very different template than this one.", + "id": "ContextualAddOnMarkup", + "properties": { + "cards": { + "description": "A card must contain a header and at least 1 section.", + "items": { + "$ref": "Card" + }, + "type": "array" + }, + "toolbar": { + "$ref": "Toolbar", + "description": "Deprecated." + } + }, + "type": "object" + }, + "CseInfo": { + "description": "Information needed for Client-side Encryption.", + "id": "CseInfo", + "properties": { + "cseDomain": { + "description": "CSE domain name claimed by the meeting owner's company. This field is expected to be used for display purposes only, i.e., \"Extra encryption added by $cse_domain\". It can differ from the `cse_domain` as defined elsewhere on the User, in the case of cross-domain meetings.", + "type": "string" + }, + "wrappedKey": { + "description": "The wrapped CSE key used by this conference.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "CustomerIndexStats": { + "description": "Aggregation of items by status code as of the specified date.", + "id": "CustomerIndexStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which statistics were calculated." + }, + "itemCountByStatus": { + "description": "Number of items aggregrated by status code.", + "items": { + "$ref": "ItemCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerQueryStats": { + "id": "CustomerQueryStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which query stats were calculated. Stats calculated on the next day close to midnight are returned." + }, + "queryCountByStatus": { + "items": { + "$ref": "QueryCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerSearchApplicationStats": { + "description": "Search application stats for a customer for the given date.", + "id": "CustomerSearchApplicationStats", + "properties": { + "count": { + "description": "The count of search applications for the date.", + "format": "int64", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "The date for which search application stats were calculated." + } + }, + "type": "object" + }, + "CustomerSessionStats": { + "id": "CustomerSessionStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." + }, + "searchSessionsCount": { + "description": "The count of search sessions on the day", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CustomerSettings": { + "description": "Represents settings at a customer level.", + "id": "CustomerSettings", + "properties": { + "auditLoggingSettings": { + "$ref": "AuditLoggingSettings", + "description": "Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + }, + "vpcSettings": { + "$ref": "VPCSettings", + "description": "VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + } + }, + "type": "object" + }, + "CustomerUserStats": { + "id": "CustomerUserStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." + }, + "oneDayActiveUsersCount": { + "description": "The count of unique active users in the past one day", + "format": "int64", + "type": "string" + }, + "sevenDaysActiveUsersCount": { + "description": "The count of unique active users in the past seven days", + "format": "int64", + "type": "string" + }, + "thirtyDaysActiveUsersCount": { + "description": "The count of unique active users in the past thirty days", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DataSource": { + "description": "Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.", + "id": "DataSource", + "properties": { + "disableModifications": { + "description": "If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.", + "type": "boolean" + }, + "disableServing": { + "description": "Disable serving any search or assist results.", + "type": "boolean" + }, + "displayName": { + "description": "Required. Display name of the datasource The maximum length is 300 characters.", + "type": "string" + }, + "indexingServiceAccounts": { + "description": "List of service accounts that have indexing access.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemsVisibility": { + "description": "This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.", + "items": { + "$ref": "GSuitePrincipal" + }, + "type": "array" + }, + "name": { + "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "type": "string" + }, + "operationIds": { + "description": "IDs of the Long Running Operations (LROs) currently running for this schema.", + "items": { + "type": "string" + }, + "type": "array" + }, + "returnThumbnailUrls": { + "description": "Can a user request to get thumbnail URI for Items indexed in this data source.", + "type": "boolean" + }, + "shortName": { + "description": "A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is *\u003cvalue\u003e* then queries like *source:\u003cvalue\u003e* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DataSourceIndexStats": { + "description": "Aggregation of items by status code as of the specified date.", + "id": "DataSourceIndexStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which index stats were calculated. If the date of request is not the current date then stats calculated on the next day are returned. Stats are calculated close to mid night in this case. If date of request is current date, then real time stats are returned." + }, + "itemCountByStatus": { + "description": "Number of items aggregrated by status code.", + "items": { + "$ref": "ItemCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataSourceRestriction": { + "description": "Restriction on Datasource.", + "id": "DataSourceRestriction", + "properties": { + "filterOptions": { + "description": "Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: \"objecttype\", \"type\" and \"mimetype\". For now, schema specific filters cannot be used to filter suggestions.", + "items": { + "$ref": "FilterOptions" + }, + "type": "array" + }, + "source": { + "$ref": "Source", + "description": "The source of restriction." + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.", + "id": "Date", + "properties": { + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of date. Must be from 1 to 12.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of date. Must be from 1 to 9999.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateOperatorOptions": { + "description": "Optional. Provides a search operator for date properties. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "DateOperatorOptions", + "properties": { + "greaterThanOperatorName": { + "description": "Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is *closedafter* and the property's name is *closeDate*, then queries like *closedafter:\u003cvalue\u003e* show results only where the value of the property named *closeDate* is later than *\u003cvalue\u003e*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + }, + "lessThanOperatorName": { + "description": "Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, then queries like *closedbefore:\u003cvalue\u003e* show results only where the value of the property named *closeDate* is earlier than *\u003cvalue\u003e*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + }, + "operatorName": { + "description": "Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named *closeDate* that specifies an operator with an operatorName of *closedon*. For searches on that data, queries like *closedon:\u003cvalue\u003e* show results only where the value of the *closeDate* property matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DatePropertyOptions": { + "description": "The options for date properties.", + "id": "DatePropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "DateOperatorOptions", + "description": "If set, describes how the date should be used as a search operator." + } + }, + "type": "object" + }, + "DateTimePicker": { + "id": "DateTimePicker", + "properties": { + "label": { + "description": "The label for the field, which is displayed to the user.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is used in FormInput, and uniquely identifies this input.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "Triggered when the user clicks on the Save, or Clear button from the date / time picker dialog. Will only be triggered if the value changed as a result of the Save / Clear operation." + }, + "timezoneOffsetDate": { + "description": "The number representing the time-zone offset from UTC, in minutes. If set, the value_ms_epoch will be displayed in the specified time zone. If not set, it will use the user's timezone setting in client side.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the DateTimePicker.", + "enum": [ + "UNSPECIFIED_TYPE", + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "valueMsEpoch": { + "description": "The value to display which can be the default value before user input or previous user input. It is represented in milliseconds (Epoch time). - For DATE_AND_TIME type, the full epoch value is used. - For DATE_ONLY type, only date of the epoch time is used. - For TIME_ONLY type, only time of the epoch time is used. For example, you can set epoch time to 3 * 60 * 60 * 1000 to represent 3am.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DateValues": { + "description": "List of date values.", + "id": "DateValues", + "properties": { + "values": { + "items": { + "$ref": "Date" + }, + "type": "array" + } + }, + "type": "object" + }, + "DebugOptions": { + "description": "Shared request debug options for all cloudsearch RPC methods.", + "id": "DebugOptions", + "properties": { + "enableDebugging": { + "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", + "type": "boolean" + } + }, + "type": "object" + }, + "DeepLinkData": { + "description": "Deep-linking data is used to construct a deep-link URI for an activity or frame's embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.", + "id": "DeepLinkData", + "properties": { + "appId": { + "description": "Application ID (or project ID) from Google API Console.", + "format": "int64", + "type": "string" + }, + "client": { + "description": "The data for a Google API Console client is entered by a developer during client registration and is stored in PackagingService.", + "items": { + "$ref": "PackagingServiceClient" + }, + "type": "array" + }, + "deepLinkId": { + "description": "The ID for non-URL content. Embeds may either have no analogous web presence or prefer a native mobile experience if supported. In the case of no web presence, instead of setting the \"url\" field of an embed, such developers will set this field and other content fields, e.g. thumbnail, title, description. If set, this field is used to construct the deep-link URI. Note that the native experience is preferred over the web link and the web link is used as a fallback.", + "type": "string" + }, + "url": { + "description": "Analogous web presence. Used as desktop fallback or when no native link data is present.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteMetadata": { + "description": "A message was deleted in Dynamite.", + "id": "DeleteMetadata", + "properties": {}, + "type": "object" + }, + "DeleteQueueItemsRequest": { + "id": "DeleteQueueItemsRequest", + "properties": { + "connectorName": { + "description": "The name of connector making this call. Format: datasources/{source_id}/connectors/{ID}", + "type": "string" + }, + "debugOptions": { + "$ref": "DebugOptions", + "description": "Common debug options." + }, + "queue": { + "description": "The name of a queue to delete items from.", + "type": "string" + } + }, + "type": "object" + }, + "DeliveryMedium": { + "id": "DeliveryMedium", + "properties": { + "mediumType": { + "description": "Describes the medium the cent was sent/received. For example, if I receive an SMS via GV, the medium_type will be GV.", + "enum": [ + "UNKNOWN_MEDIUM", + "BABEL_MEDIUM", + "GOOGLE_VOICE_MEDIUM", + "LOCAL_SMS_MEDIUM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "selfPhone": { + "$ref": "VoicePhoneNumber", + "description": "In the case of multiple GV/native numbers, this defines the exact number to send from. It is used to differentiate mediums that have the same type, but different addresses (e.g. two android phones)." + } + }, + "type": "object" + }, + "DisplayedProperty": { + "description": "A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label for that property if one is specified. If a display label is not specified, only the values is shown.", + "id": "DisplayedProperty", + "properties": { + "propertyName": { + "description": "The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Divider": { + "id": "Divider", + "properties": {}, + "type": "object" + }, + "DocumentInfo": { + "description": "Information on a document attached to an active conference.", + "id": "DocumentInfo", + "properties": { + "whiteboardInfo": { + "$ref": "WhiteboardInfo", + "description": "A whiteboard document." + } + }, + "type": "object" + }, + "DoubleOperatorOptions": { + "description": "Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "DoubleOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DoublePropertyOptions": { + "description": "The options for double properties.", + "id": "DoublePropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "DoubleOperatorOptions", + "description": "If set, describes how the double should be used as a search operator." + } + }, + "type": "object" + }, + "DoubleValues": { + "description": "List of double values.", + "id": "DoubleValues", + "properties": { + "values": { + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "DriveFollowUpRestrict": { + "description": "Drive follow-up search restricts (e.g. \"followup:suggestions\").", + "id": "DriveFollowUpRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "FOLLOWUP_SUGGESTIONS", + "FOLLOWUP_ACTION_ITEMS" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveLocationRestrict": { + "description": "Drive location search restricts (e.g. \"is:starred\").", + "id": "DriveLocationRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "TRASHED", + "STARRED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveMimeTypeRestrict": { + "description": "Drive mime-type search restricts (e.g. \"type:pdf\").", + "id": "DriveMimeTypeRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "PDF", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "FORM", + "DRAWING", + "SCRIPT", + "MAP", + "IMAGE", + "AUDIO", + "VIDEO", + "FOLDER", + "ARCHIVE", + "SITE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveTimeSpanRestrict": { + "description": "The time span search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").", + "id": "DriveTimeSpanRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "TODAY", + "YESTERDAY", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_90_DAYS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "Not Enabled", + "Not Enabled" + ], + "type": "string" + } + }, + "type": "object" + }, + "DynamitePlaceholderMetadata": { + "description": "Metadata used as inputs to the localization that is performed on Dynamite-originated messages that are incompatible with Hangouts clients. See go/localization-of-system-messages for more details.", + "id": "DynamitePlaceholderMetadata", + "properties": { + "attachmentMetadata": { + "$ref": "AttachmentMetadata" + }, + "botMessageMetadata": { + "$ref": "BotMessageMetadata" + }, + "calendarEventMetadata": { + "$ref": "CalendarEventMetadata" + }, + "deleteMetadata": { + "$ref": "DeleteMetadata" + }, + "editMetadata": { + "$ref": "EditMetadata" + }, + "spaceUrl": { + "description": "The space URL embedded in the localized string.", + "type": "string" + }, + "tasksMetadata": { + "$ref": "TasksMetadata" + }, + "videoCallMetadata": { + "$ref": "VideoCallMetadata" + } + }, + "type": "object" + }, + "DynamiteSpacesScoringInfo": { + "description": "This is the proto for holding space level scoring information. This data is used for logging in query-api server and for testing purposes.", + "id": "DynamiteSpacesScoringInfo", + "properties": { + "affinityScore": { + "format": "double", + "type": "number" + }, + "commonContactCountAffinityScore": { + "format": "double", + "type": "number" + }, + "contactsIntersectionCount": { + "format": "double", + "type": "number" + }, + "finalScore": { + "format": "double", + "type": "number" + }, + "freshnessScore": { + "format": "double", + "type": "number" + }, + "joinedSpacesAffinityScore": { + "format": "double", + "type": "number" + }, + "lastMessagePostedTimestampSecs": { + "format": "int64", + "type": "string" + }, + "lastReadTimestampSecs": { + "format": "int64", + "type": "string" + }, + "memberMetadataCount": { + "format": "double", + "type": "number" + }, + "messageScore": { + "format": "double", + "type": "number" + }, + "numAucContacts": { + "format": "int64", + "type": "string" + }, + "smallContactListAffinityScore": { + "format": "double", + "type": "number" + }, + "smallUnjoinedSpacesAffinityScore": { + "format": "double", + "type": "number" + }, + "spaceAgeInDays": { + "format": "double", + "type": "number" + }, + "spaceCreationTimestampSecs": { + "format": "int64", + "type": "string" + }, + "topicalityScore": { + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "EditMetadata": { + "description": "An edit was made in Dynamite.", + "id": "EditMetadata", + "properties": {}, + "type": "object" + }, + "EmailAddress": { + "description": "A person's email address.", + "id": "EmailAddress", + "properties": { + "emailAddress": { + "description": "The email address.", + "type": "string" + } + }, + "type": "object" + }, + "EmailOwnerProto": { + "description": "Represents a verified owner of the given email address. Note that a single address may have many owners, and a single user may own many addresses. (All lower-case, in display form -- see com.google.gaia.client.GaiaEmail)", + "id": "EmailOwnerProto", + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "EmbedClientItem": { + "description": "Represents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.", + "id": "EmbedClientItem", + "properties": { + "canonicalId": { + "description": "The canonical ID of the embed. If absent, the canonical ID is equal to the ID; if present, then the canonical ID represents an \"equivalence class\" of embeds which really refer to the same object. (For example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same object) This field may be updated periodically by background processes.", + "type": "string" + }, + "deepLinkData": { + "$ref": "DeepLinkData", + "description": "Deep-linking data to take the user to the right place in a mobile app. This is only used for preview and attribution. Links that are specific to a given embed type should live on that specific embed's proto by using Link. See http://goto.google.com/mariana-design." + }, + "id": { + "description": "The ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.", + "type": "string" + }, + "provenance": { + "$ref": "Provenance", + "description": "The provenance of the embed, populated when the embed originated from a web fetch. The provenance captures information about the web page the embed had originated, like the URL that was retrieved and the retrieved URL's canonical form. This is useful in the case where the URL shared by the URL redirects (e.g., in the case of a shortened URL)." + }, + "renderId": { + "description": "The ID used to identify the embed during rendering. This field will match ID, if set, otherwise it will be the ID of the parent activity. This field is only populated on the server for client use and is not persisted to storage.", + "type": "string" + }, + "signature": { + "description": "Signature of the embed, used for verification.", + "type": "string" + }, + "transientData": { + "$ref": "TransientData", + "description": "Transient generic data that will not be saved on the server." + }, + "type": { + "description": "The first value in `type` determines which extension field will be set. When creating an EmbedClientItem, you only need to set the first (primary) type in this field. When the server receives the item, it will populate the full type list using the parent annotations in the ItemType enum.", + "items": { + "enum": [ + "UNKNOWN", + "ACTION_V2", + "ADD_ACTION_V2", + "AGGREGATE_RATING_V2", + "ARTICLE_V2", + "ASSESS_ACTION_V2", + "AUDIO_OBJECT_V2", + "BASIC_INTERACTION_V2", + "BLOG_POSTING_V2", + "BLOG_V2", + "BOOK_V2", + "BUY_ACTION_V2", + "CHECK_IN_ACTION_V2", + "CHECKIN_V2", + "COLLEXION_V2", + "COMMENT_ACTION_V2", + "COMMENT_V2", + "COMMUNICATE_ACTION_V2", + "CONSUME_ACTION_V2", + "CREATE_ACTION_V2", + "CREATIVE_WORK_V2", + "DISCOVER_ACTION_V2", + "DOCUMENT_OBJECT_V2", + "DRAWING_OBJECT_V2", + "DRIVE_OBJECT_V2", + "EMOTISHARE_V2", + "ENTRY_POINT_V2", + "EVENT_TIME_V2", + "EVENT_V2", + "FILE_OBJECT_V2", + "FIND_ACTION_V2", + "FINANCIAL_QUOTE_V2", + "FORM_OBJECT_V2", + "GEO_COORDINATES_V2", + "GOOGLE_OFFER_V2", + "HANGOUT_CHAT_MESSAGE", + "HANGOUT_QUOTE", + "HANGOUT_V2", + "HOA_PLUS_EVENT_V2", + "IMAGE_OBJECT_V2", + "INTERACT_ACTION_V2", + "INTERACTION_V2", + "LISTEN_ACTION_V2", + "LOCAL_BUSINESS_V2", + "LOCAL_PLUS_PHOTO_ALBUM_V2", + "MAGAZINE_V2", + "MEDIA_OBJECT_V2", + "MOBILE_APPLICATION_V2", + "MOVIE_V2", + "MUSIC_ALBUM_V2", + "MUSIC_GROUP_V2", + "MUSIC_PLAYLIST_V2", + "MUSIC_RECORDING_V2", + "NEWS_ARTICLE_V2", + "OFFER_V2", + "ORGANIZATION_V2", + "ORGANIZE_ACTION_V2", + "PERSON_V2", + "PLACE_REVIEW_V2", + "PLACE_V2", + "PLAN_ACTION_V2", + "PLAY_MUSIC_ALBUM_V2", + "PLAY_MUSIC_TRACK_V2", + "PLAY_OBJECT_V2", + "PLUS_AUDIO_V2", + "PLUS_EVENT_V2", + "PLUS_MEDIA_COLLECTION_V2", + "PLUS_MEDIA_OBJECT_V2", + "PLUS_PAGE_V2", + "PLUS_PHOTOS_ADDED_TO_COLLECTION_V2", + "PLUS_PHOTO_ALBUM_V2", + "PLUS_PHOTO_COLLECTION_V2", + "PLUS_PHOTO_V2", + "PLUS_POST_V2", + "PLUS_RESHARE_V2", + "PLUS_SOFTWARE_APPLICATION_V2", + "POLL_OPTION_V2", + "POLL_V2", + "POSTAL_ADDRESS_V2", + "PRESENTATION_OBJECT_V2", + "PRODUCT_REVIEW_V2", + "RATING_V2", + "REACT_ACTION_V2", + "RESERVATION_V2", + "RESERVE_ACTION_V2", + "REVIEW_V2", + "REVIEW_ACTION_V2", + "SOFTWARE_APPLICATION_V2", + "SPREADSHEET_OBJECT_V2", + "SQUARE_INVITE_V2", + "SQUARE_V2", + "STICKER_V2", + "STORY_V2", + "THING_V2", + "TRADE_ACTION_V2", + "DEPRECATED_TOUR_OBJECT_V2", + "TV_EPISODE_V2", + "TV_SERIES_V2", + "UPDATE_ACTION_V2", + "VIEW_ACTION_V2", + "VIDEO_OBJECT_V2", + "VIDEO_GALLERY_V2", + "WANT_ACTION_V2", + "WEB_PAGE_V2", + "WRITE_ACTION_V2", + "YOUTUBE_CHANNEL_V2", + "GOOGLE_USER_PHOTO_V2", + "GOOGLE_USER_PHOTO_ALBUM", + "GOOGLE_PHOTO_RECIPE", + "THING", + "CREATIVE_WORK", + "EVENT", + "INTANGIBLE", + "ORGANIZATION", + "PERSON", + "PLACE", + "PRODUCT", + "ARTICLE", + "BLOG_POSTING", + "NEWS_ARTICLE", + "SCHOLARLY_ARTICLE", + "BLOG", + "BOOK", + "COMMENT", + "ITEM_LIST", + "MAP", + "MEDIA_OBJECT", + "AUDIO_OBJECT", + "IMAGE_OBJECT", + "MUSIC_VIDEO_OBJECT", + "VIDEO_OBJECT", + "MOVIE", + "MUSIC_PLAYLIST", + "MUSIC_ALBUM", + "MUSIC_RECORDING", + "PAINTING", + "PHOTOGRAPH", + "RECIPE", + "REVIEW", + "SCULPTURE", + "SOFTWARE_APPLICATION", + "MOBILE_APPLICATION", + "WEB_APPLICATION", + "TV_EPISODE", + "TV_SEASON", + "TV_SERIES", + "WEB_PAGE", + "ABOUT_PAGE", + "CHECKOUT_PAGE", + "COLLECTION_PAGE", + "IMAGE_GALLERY", + "VIDEO_GALLERY", + "CONTACT_PAGE", + "ITEM_PAGE", + "PROFILE_PAGE", + "SEARCH_RESULTS_PAGE", + "WEB_PAGE_ELEMENT", + "SITE_NAVIGATION_ELEMENT", + "TABLE", + "WP_AD_BLOCK", + "WP_FOOTER", + "WP_HEADER", + "WP_SIDEBAR", + "APP_INVITE", + "EMOTISHARE", + "BUSINESS_EVENT", + "CHILDRENS_EVENT", + "COMEDY_EVENT", + "DANCE_EVENT", + "EDUCATION_EVENT", + "FESTIVAL", + "FOOD_EVENT", + "LITERARY_EVENT", + "MUSIC_EVENT", + "SALE_EVENT", + "SOCIAL_EVENT", + "SPORTS_EVENT", + "THEATER_EVENT", + "VISUAL_ARTS_EVENT", + "RESERVATION", + "TRAVEL_EVENT", + "CORPORATION", + "EDUCATIONAL_ORGANIZATION", + "COLLEGE_OR_UNIVERSITY", + "ELEMENTARY_SCHOOL", + "HIGH_SCHOOL", + "MIDDLE_SCHOOL", + "PRESCHOOL", + "SCHOOL", + "GOVERNMENT_ORGANIZATION", + "LOCAL_BUSINESS", + "ANIMAL_SHELTER", + "AUTOMOTIVE_BUSINESS", + "AUTO_BODY_SHOP", + "AUTO_DEALER", + "AUTO_PARTS_STORE", + "AUTO_RENTAL", + "AUTO_REPAIR", + "AUTO_WASH", + "GAS_STATION", + "MOTORCYCLE_DEALER", + "MOTORCYCLE_REPAIR", + "CHILD_CARE", + "DRY_CLEANING_OR_LAUNDRY", + "EMERGENCY_SERVICE", + "FIRE_STATION", + "HOSPITAL", + "POLICE_STATION", + "EMPLOYMENT_AGENGY", + "ENTERTAINMENT_BUSINESS", + "ADULT_ENTERTAINMENT", + "AMUSEMENT_PARK", + "ART_GALLERY", + "CASINO", + "COMEDY_CLUB", + "MOVIE_THEATER", + "NIGHT_CLUB", + "FINANCIAL_SERVICE", + "ACCOUNTING_SERVICE", + "AUTOMATED_TELLER", + "BANK_OR_CREDIT_UNION", + "INSURANCE_AGENCY", + "FOOD_ESTABLISHMENT", + "BAKERY", + "BAR_OR_PUB", + "BREWERY", + "CAFE_OR_COFFEE_SHOP", + "FAST_FOOD_RESTAURANT", + "ICE_CREAM_SHOP", + "RESTAURANT", + "WINERY", + "GOVERNMENT_OFFICE", + "POST_OFFICE", + "HEALTH_AND_BEAUTY_BUSINESS", + "BEAUTY_SALON", + "DAY_SPA", + "HAIR_SALON", + "HEALTH_CLUB", + "NAIL_SALON", + "TATTOO_PARLOR", + "HOME_AND_CONSTRUCTION_BUSINESS", + "ELECTRICIAN", + "GENERAL_CONTRACTOR", + "HVAC_BUSINESS", + "HOUSE_PAINTER", + "LOCKSMITH", + "MOVING_COMPANY", + "PLUMBER", + "ROOFING_CONTRACTOR", + "INTERNET_CAFE", + "LIBRARY", + "LODGING_BUSINESS", + "BED_AND_BREAKFAST", + "HOSTEL", + "HOTEL", + "MOTEL", + "MEDICAL_ORGANIZATION", + "DENTIST", + "MEDICAL_CLINIC", + "OPTICIAN", + "PHARMACY", + "PHYSICIAN", + "VETERINARY_CARE", + "PROFESSIONAL_SERVICE", + "ATTORNEY", + "NOTARY", + "RADIO_STATION", + "REAL_ESTATE_AGENT", + "RECYCLING_CENTER", + "SELF_STORAGE", + "SHOPPING_CENTER", + "SPORTS_ACTIVITY_LOCATION", + "BOWLING_ALLEY", + "EXERCISE_GYM", + "GOLF_COURSE", + "PUBLIC_SWIMMING_POOL", + "SKI_RESORT", + "SPORTS_CLUB", + "STADIUM_OR_ARENA", + "TENNIS_COMPLEX", + "STORE", + "BIKE_STORE", + "BOOK_STORE", + "CLOTHING_STORE", + "COMPUTER_STORE", + "CONVENIENCE_STORE", + "DEPARTMENT_STORE", + "ELECTRONICS_STORE", + "FLORIST", + "FURNITURE_STORE", + "GARDEN_STORE", + "GROCERY_STORE", + "HARDWARE_STORE", + "HOBBY_SHOP", + "HOME_GOODS_STORE", + "JEWELRY_STORE", + "LIQUOR_STORE", + "MENS_CLOTHING_STORE", + "MOBILE_PHONE_STORE", + "MOVIE_RENTAL_STORE", + "MUSIC_STORE", + "OFFICE_EQUIPMENT_STORE", + "OUTLET_STORE", + "PAWN_SHOP", + "PET_STORE", + "SHOE_STORE", + "SPORTING_GOODS_STORE", + "TIRE_SHOP", + "TOY_STORE", + "WHOLESALE_STORE", + "TELEVISION_STATION", + "TOURIST_INFORMATION_CENTER", + "TRAVEL_AGENCY", + "PERFORMING_GROUP", + "MUSIC_GROUP", + "ADMINISTRATIVE_AREA", + "CITY", + "COUNTRY", + "STATE", + "CIVIC_STRUCTURE", + "AIRPORT", + "AQUARIUM", + "BEACH", + "BUS_STATION", + "BUS_STOP", + "CAMPGROUND", + "CEMETERY", + "CREMATORIUM", + "EVENT_VENUE", + "GOVERNMENT_BUILDING", + "CITY_HALL", + "COURTHOUSE", + "DEFENCE_ESTABLISHMENT", + "EMBASSY", + "LEGISLATIVE_BUILDING", + "MUSEUM", + "MUSIC_VENUE", + "PARK", + "PARKING_FACILITY", + "PERFORMING_ARTS_THEATER", + "PLACE_OF_WORSHIP", + "BUDDHIST_TEMPLE", + "CATHOLIC_CHURCH", + "CHURCH", + "HINDU_TEMPLE", + "MOSQUE", + "SYNAGOGUE", + "PLAYGROUND", + "R_V_PARK", + "RESIDENCE", + "APARTMENT_COMPLEX", + "GATED_RESIDENCE_COMMUNITY", + "SINGLE_FAMILY_RESIDENCE", + "TOURIST_ATTRACTION", + "SUBWAY_STATION", + "TAXI_STAND", + "TRAIN_STATION", + "ZOO", + "LANDFORM", + "BODY_OF_WATER", + "CANAL", + "LAKE_BODY_OF_WATER", + "OCEAN_BODY_OF_WATER", + "POND", + "RESERVOIR", + "RIVER_BODY_OF_WATER", + "SEA_BODY_OF_WATER", + "WATERFALL", + "CONTINENT", + "MOUNTAIN", + "VOLCANO", + "LANDMARKS_OR_HISTORICAL_BUILDINGS", + "USER_INTERACTION", + "USER_PLUS_ONES", + "ENUMERATION", + "BOOK_FORMAT_TYPE", + "ITEM_AVAILABILITY", + "OFFER_ITEM_CONDITION", + "JOB_POSTING", + "LANGUAGE", + "OFFER", + "QUANTITY", + "DISTANCE", + "DURATION", + "ENERGY", + "MASS", + "RATING", + "AGGREGATE_RATING", + "STRUCTURED_VALUE", + "CONTACT_POINT", + "POSTAL_ADDRESS", + "GEO_COORDINATES", + "GEO_SHAPE", + "NUTRITION_INFORMATION", + "PRESENTATION_OBJECT", + "DOCUMENT_OBJECT", + "SPREADSHEET_OBJECT", + "FORM_OBJECT", + "DRAWING_OBJECT", + "PLACE_REVIEW", + "FILE_OBJECT", + "PLAY_MUSIC_TRACK", + "PLAY_MUSIC_ALBUM", + "MAGAZINE", + "CAROUSEL_FRAME", + "PLUS_EVENT", + "HANGOUT", + "HANGOUT_BROADCAST", + "HANGOUT_CONSUMER", + "CHECKIN", + "EXAMPLE_OBJECT", + "SQUARE", + "SQUARE_INVITE", + "PLUS_PHOTO", + "PLUS_PHOTO_ALBUM", + "LOCAL_PLUS_PHOTO_ALBUM", + "PRODUCT_REVIEW", + "FINANCIAL_QUOTE", + "DEPRECATED_TOUR_OBJECT", + "PLUS_PAGE", + "GOOGLE_CHART", + "PLUS_PHOTOS_ADDED_TO_COLLECTION", + "RECOMMENDED_PEOPLE", + "PLUS_POST", + "DATE", + "DRIVE_OBJECT_COLLECTION", + "NEWS_MEDIA_ORGANIZATION", + "DYNAMITE_ATTACHMENT_METADATA", + "DYNAMITE_MESSAGE_METADATA" + ], + "enumDescriptions": [ + "Largely deprecated, effectively an error condition and should not be in storage.", + "Embeds V2 types", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "The action of checking in, as opposed to a \"check-in\".", + "", + "", + "The act of commenting, which might result in a comment.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Boswell story (see goto/boswell)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "A photo stored in photo service owned by a Google account user. This is distinct from PlusPhoto as it isn't tied to GPlus, but is instead intended to be a more general photo tied to a google user.", + "A photo album in photo service owned by a Google account user. This is distinct from PlusPhotoAlbum as it isn't tied to GPlus, but is instead intended to be a general photo album tied to a google user.", + "An embed used to create a single photo in photo service. This type is never stored but is used to create a GOOGLE_USER_PHOTO_V2 or PLUS_PHOTO_V2 embed.", + "Embeds V1 types", + "", + "", + "", + "", + "", + "", + "", + "CREATIVE_WORK subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "EVENT subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "ORGANIZATION subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "PLACE subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "NOTE(jpanzer): This is a badly designed hierarchy and we should avoid depending on Event properties inside UserInteractions as much as possible IMHO.", + "", + "Intangibles, primarily used as sub-objects of other types", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "CREATIVE_WORK extensions", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Single frame for http://goto/carousel.", + "EVENT extensions", + "No declared proto. Used only as a base type for now.", + "", + "", + "", + "", + "NOTE(melchang): These correspond to http://schema.org/WebPage/Community and http://schema.org/WebPage/CommunityInvite. See b/7653610 for why these are \"SQUARE\" and not \"COMMUNITY\".", + "", + "", + "", + "", + "", + "", + "", + "", + "Data visualizations. See http://code.google.com/apis/chart/index.html", + "", + "A collection of people that have been recommended to a user.", + "A Google+ post.", + "An http://schema.org/Date unstructured ISO-8859 timestamp string.", + "Embed representing a collection of multiple Drive objects.", + "https://schema.org/NewsMediaOrganization", + "Deprecated in favor of DYNAMITE_MESSAGE_METADATA", + "Used for Dynamite message metadata in Hangouts" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EnumOperatorOptions": { + "description": "Used to provide a search operator for enum properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a *priority* enum property with possible values *p0* and *p1*, a query that contains the term *p0* returns items that have *p0* as the value of the *priority* property, as well as any items that contain the string *p0* in other fields. If you provide an operator name for the enum, such as *priority*, then search users can use that operator to refine results to only items that have *p0* as this property's value, with the query *priority:p0*.", + "id": "EnumOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the enum property. For example, if operatorName is *priority* and the property's name is *priorityVal*, then queries like *priority:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator returns all items where *\u003cvalue\u003e* matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "EnumPropertyOptions": { + "description": "The options for enum properties, which allow you to define a restricted set of strings to match user queries, set rankings for those string values, and define an operator name to be paired with those strings so that users can narrow results to only items with a specific value. For example, for items in a request tracking system with priority information, you could define *p0* as an allowable enum value and tie this enum to the operator name *priority* so that search users could add *priority:p0* to their query to restrict the set of results to only those items indexed with the value *p0*.", + "id": "EnumPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "EnumOperatorOptions", + "description": "If set, describes how the enum should be used as a search operator." + }, + "orderedRanking": { + "description": "Used to specify the ordered ranking for the enumeration that determines how the integer values provided in the possible EnumValuePairs are used to rank results. If specified, integer values must be provided for all possible EnumValuePair values given for this property. Can only be used if isRepeatable is false.", + "enum": [ + "NO_ORDER", + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "There is no ranking order for the property. Results aren't adjusted by this property's value.", + "This property is ranked in ascending order. Lower values indicate lower ranking.", + "This property is ranked in descending order. Lower values indicate higher ranking." + ], + "type": "string" + }, + "possibleValues": { + "description": "The list of possible values for the enumeration property. All EnumValuePairs must provide a string value. If you specify an integer value for one EnumValuePair, then all possible EnumValuePairs must provide an integer value. Both the string value and integer value must be unique over all possible values. Once set, possible values cannot be removed or modified. If you supply an ordered ranking and think you might insert additional enum values in the future, leave gaps in the initial integer values to allow adding a value in between previously registered values. The maximum number of elements is 100.", + "items": { + "$ref": "EnumValuePair" + }, + "type": "array" + } + }, + "type": "object" + }, + "EnumValuePair": { + "description": "The enumeration value pair defines two things: a required string value and an optional integer value. The string value defines the necessary query term required to retrieve that item, such as *p0* for a priority item. The integer value determines the ranking of that string value relative to other enumerated values for the same property. For example, you might associate *p0* with *0* and define another enum pair such as *p1* and *1*. You must use the integer value in combination with ordered ranking to set the ranking of a given value relative to other enumerated values for the same property name. Here, a ranking order of DESCENDING for *priority* properties results in a ranking boost for items indexed with a value of *p0* compared to items indexed with a value of *p1*. Without a specified ranking order, the integer value has no effect on item ranking.", + "id": "EnumValuePair", + "properties": { + "integerValue": { + "description": "The integer value of the EnumValuePair which must be non-negative. Optional.", + "format": "int32", + "type": "integer" + }, + "stringValue": { + "description": "The string value of the EnumValuePair. The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "EnumValues": { + "description": "List of enum values.", + "id": "EnumValues", + "properties": { + "values": { + "description": "The maximum allowable length for string values is 32 characters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ErrorInfo": { + "description": "Error information about the response.", + "id": "ErrorInfo", + "properties": { + "errorMessages": { + "items": { + "$ref": "ErrorMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "ErrorMessage": { + "description": "Error message per source response.", + "id": "ErrorMessage", + "properties": { + "errorMessage": { + "type": "string" + }, + "source": { + "$ref": "Source" + } + }, + "type": "object" + }, + "EventAnnotation": { + "id": "EventAnnotation", + "properties": { + "type": { + "format": "int32", + "type": "integer" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "EventProto": { + "description": "Represents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).", + "id": "EventProto", + "properties": { + "eventId": { + "description": "Event IDs consist of alphanumeric characters and colons. Currently required.", + "type": "string" + }, + "memberType": { + "description": "The type of Event members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See event.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with event. Currently required.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "FacetBucket": { + "description": "A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.", + "id": "FacetBucket", + "properties": { + "count": { + "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.", + "format": "int32", + "type": "integer" + }, + "percentage": { + "description": "Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.", + "format": "int32", + "type": "integer" + }, + "value": { + "$ref": "Value" + } + }, + "type": "object" + }, + "FacetOptions": { + "description": "Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.", + "id": "FacetOptions", + "properties": { + "numFacetBuckets": { + "description": "Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.", + "format": "int32", + "type": "integer" + }, + "objectType": { + "description": "If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "type": "string" + }, + "sourceName": { + "description": "Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.", + "type": "string" + } + }, + "type": "object" + }, + "FacetResult": { + "description": "Source specific facet response", + "id": "FacetResult", + "properties": { + "buckets": { + "description": "FacetBuckets for values in response containing at least a single result with the corresponding filter.", + "items": { + "$ref": "FacetBucket" + }, + "type": "array" + }, + "objectType": { + "description": "Object type for which facet results are returned. Can be empty.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "type": "string" + }, + "sourceName": { + "description": "Source name for which facet results are returned. Will not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "FieldViolation": { + "id": "FieldViolation", + "properties": { + "description": { + "description": "The description of the error.", + "type": "string" + }, + "field": { + "description": "Path of field with violation.", + "type": "string" + } + }, + "type": "object" + }, + "Filter": { + "description": "A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND.", + "id": "Filter", + "properties": { + "compositeFilter": { + "$ref": "CompositeFilter" + }, + "valueFilter": { + "$ref": "ValueFilter" + } + }, + "type": "object" + }, + "FilterOptions": { + "description": "Filter options to be applied on query.", + "id": "FilterOptions", + "properties": { + "filter": { + "$ref": "Filter", + "description": "Generic filter to restrict the search, such as `lang:en`, `site:xyz`." + }, + "objectType": { + "description": "If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.", + "type": "string" + } + }, + "type": "object" + }, + "FixedFooter": { + "description": "A persistent (sticky) footer that is added to the bottom of the card.", + "id": "FixedFooter", + "properties": { + "buttons": { + "items": { + "$ref": "Button" + }, + "type": "array" + }, + "primaryButton": { + "$ref": "TextButton" + }, + "secondaryButton": { + "$ref": "TextButton" + } + }, + "type": "object" + }, + "FormAction": { + "id": "FormAction", + "properties": { + "actionMethodName": { + "description": "Apps script function that should be invoked in the developer's apps script when the containing element is clicked/activated.", + "type": "string" + }, + "loadIndicator": { + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "parameters": { + "items": { + "$ref": "ActionParameter" + }, + "type": "array" + }, + "persistValues": { + "description": "Indicates whether form values persist after the action. When false, the Apps Script is responsible for persisting values, by setting any form field values using the formInputs in the event. Disabling this behavior can be used if the add-on needs the ability to clear form fields, for example, as with persistent values, there is no means for clearing existing values. When disabling persistent values, it is strongly recommended that the add-on use LoadIndicator.SPINNER for all events, as this locks the UI to ensure no changes are made by the user while the action is being processed. When using LoadIndicator.NONE for any of the actions, persistent values are recommended, as it ensures that any changes made by the user after form / on change actions are sent to the server are not overwritten by the response. Persistent values disabled by default. While we recommend persistent values be used in the typical use case, we do not enable by default, as doing so would change the current behavior of existing add-ons in prod.", + "type": "boolean" + } + }, + "type": "object" + }, + "Formatting": { + "description": "Formatting information for a segment.", + "id": "Formatting", + "properties": { + "bold": { + "type": "boolean" + }, + "highlight": { + "description": "This indicates that the segment should be rendered as highlighted or visually emphasized.", + "type": "boolean" + }, + "italics": { + "type": "boolean" + }, + "strikethrough": { + "type": "boolean" + }, + "style": { + "description": "If set, this indicates that the segment should be rendered with the specified style. The absence of an explicit style represents \"no style\", i.e. the segment can be rendered with the default style chosen by the application.", + "enum": [ + "UNKNOWN_STYLE", + "HEADING_1", + "HEADING_2", + "HEADING_3", + "HEADING_4" + ], + "enumDescriptions": [ + "This represents a style that is unknown (e.g. a new style was introduced but not supported by older mobile app versions) and should generally not be used as a value in a proto. If the segment does not need to be rendered with a special style, the 'style' field should simply be left unset. A reasonable fallback for an unknown style is to render the segment in the default style.", + "The most important heading to the least important heading.", + "", + "", + "" + ], + "type": "string" + }, + "underline": { + "type": "boolean" + } + }, + "type": "object" + }, + "FreshnessOptions": { + "description": "Indicates which freshness property to use when adjusting search ranking for an item. Fresher, more recent dates indicate higher quality. Use the freshness option property that best works with your data. For fileshare documents, last modified time is most relevant. For calendar event data, the time when the event occurs is a more relevant freshness indicator. In this way, calendar events that occur closer to the time of the search query are considered higher quality and ranked accordingly.", + "id": "FreshnessOptions", + "properties": { + "freshnessDuration": { + "description": "The duration after which an object should be considered stale. The default value is 180 days (in seconds).", + "format": "google-duration", + "type": "string" + }, + "freshnessProperty": { + "description": "This property indicates the freshness level of the object in the index. If set, this property must be a top-level property within the property definitions and it must be a timestamp type or date type. Otherwise, the Indexing API uses updateTime as the freshness indicator. The maximum length is 256 characters. When a property is used to calculate freshness, the value defaults to 2 years from the current time.", + "type": "string" + } + }, + "type": "object" + }, + "GSuitePrincipal": { + "id": "GSuitePrincipal", + "properties": { + "gsuiteDomain": { + "description": "This principal represents all users of the Google Workspace domain of the customer.", + "type": "boolean" + }, + "gsuiteGroupEmail": { + "description": "This principal references a Google Workspace group name.", + "type": "string" + }, + "gsuiteUserEmail": { + "description": "This principal references a Google Workspace user account.", + "type": "string" + } + }, + "type": "object" + }, + "GaiaGroupProto": { + "id": "GaiaGroupProto", + "properties": { + "groupId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GaiaUserProto": { + "description": "A Gaia account, which may represent a user, device, service account, etc. For prod (@prod.google.com) accounts, use MdbUserProto instead.", + "id": "GaiaUserProto", + "properties": { + "userId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GatewayAccess": { + "description": "Details on the third-party interoperability settings for the meeting space.", + "id": "GatewayAccess", + "properties": { + "enabled": { + "description": "Whether third-party gateway accesses are enabled for this meeting space. If enabled, the actual access code can be retrieved by calling the GetGatewayAccess RPC method.", + "type": "boolean" + } + }, + "type": "object" + }, + "GatewaySipAccess": { + "description": "Details how to join the conference via a SIP gateway.", + "id": "GatewaySipAccess", + "properties": { + "sipAccessCode": { + "description": "Permanent numeric code for manual entry on specially configured devices, currently the same as the PSTN \"Universal pin\".", + "type": "string" + }, + "uri": { + "description": "The SIP URI the conference can be reached through. The string is on one of the formats: \"sip:@\" \"sips:@\" where currently is the 13-digit universal pin (with the future option to support using a Meet meeting code as well), and is a valid address to be resolved using a DNS SRV lookup, or a dotted quad.", + "type": "string" + } + }, + "type": "object" + }, + "GetCustomerIndexStatsResponse": { + "id": "GetCustomerIndexStatsResponse", + "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Summary of indexed item counts, one for each day in the requested range.", + "items": { + "$ref": "CustomerIndexStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerQueryStatsResponse": { + "id": "GetCustomerQueryStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerQueryStats" + }, + "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GetCustomerSearchApplicationStatsResponse": { + "description": "Response format for search application stats for a customer.", + "id": "GetCustomerSearchApplicationStatsResponse", + "properties": { + "averageSearchApplicationCount": { + "description": "Average search application count for the given date range.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Search application stats by date.", + "items": { + "$ref": "CustomerSearchApplicationStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerSessionStatsResponse": { + "id": "GetCustomerSessionStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerSessionStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerUserStatsResponse": { + "id": "GetCustomerUserStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerUserStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetDataSourceIndexStatsResponse": { + "id": "GetDataSourceIndexStatsResponse", + "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Summary of indexed item counts, one for each day in the requested range.", + "items": { + "$ref": "DataSourceIndexStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetSearchApplicationQueryStatsResponse": { + "description": "Response format for getting query stats for a search application between given dates.", + "id": "GetSearchApplicationQueryStatsResponse", + "properties": { + "stats": { + "description": "Query stats per date for a search application.", + "items": { + "$ref": "SearchApplicationQueryStats" + }, + "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GetSearchApplicationSessionStatsResponse": { + "id": "GetSearchApplicationSessionStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "SearchApplicationSessionStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetSearchApplicationUserStatsResponse": { + "id": "GetSearchApplicationUserStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "SearchApplicationUserStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkup": { + "description": "The markup for developers to specify the contents of a contextual AddOn.", + "id": "GoogleChatV1ContextualAddOnMarkup", + "properties": { + "cards": { + "description": "A list of cards. A card must contain a header and at least 1 section.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCard" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCard": { + "description": "A card is a UI element that can contain UI widgets such as texts, images.", + "id": "GoogleChatV1ContextualAddOnMarkupCard", + "properties": { + "cardActions": { + "description": "The actions of this card.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardCardAction" + }, + "type": "array" + }, + "header": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardCardHeader", + "description": "The header of the card. A header usually contains a title and an image." + }, + "name": { + "description": "Name of the card.", + "type": "string" + }, + "sections": { + "description": "Sections are separated by a line divider.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardSection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardCardAction": { + "description": "A card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser.", + "id": "GoogleChatV1ContextualAddOnMarkupCardCardAction", + "properties": { + "actionLabel": { + "description": "The label used to be displayed in the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action for this action item." + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardCardHeader": { + "id": "GoogleChatV1ContextualAddOnMarkupCardCardHeader", + "properties": { + "imageStyle": { + "description": "The image's type (e.g. square border or circular border).", + "enum": [ + "IMAGE_STYLE_UNSPECIFIED", + "IMAGE", + "AVATAR" + ], + "enumDescriptions": [ + "", + "Square border.", + "Circular border." + ], + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image in the card header.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle of the card header.", + "type": "string" + }, + "title": { + "description": "The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each will take up 1 line. If only the title is specified, it will take up both lines.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardSection": { + "description": "A section contains a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties (e.g. float).", + "id": "GoogleChatV1ContextualAddOnMarkupCardSection", + "properties": { + "header": { + "description": "The header of the section, text formatted supported.", + "type": "string" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "GoogleChatV1WidgetMarkup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkup": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "GoogleChatV1WidgetMarkup", + "properties": { + "buttons": { + "description": "A list of buttons. Buttons is also oneof data and only one of these fields should be set.", + "items": { + "$ref": "GoogleChatV1WidgetMarkupButton" + }, + "type": "array" + }, + "image": { + "$ref": "GoogleChatV1WidgetMarkupImage", + "description": "Display an image in this widget." + }, + "keyValue": { + "$ref": "GoogleChatV1WidgetMarkupKeyValue", + "description": "Display a key value item in this widget." + }, + "textParagraph": { + "$ref": "GoogleChatV1WidgetMarkupTextParagraph", + "description": "Display a text paragraph in this widget." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupButton": { + "description": "A button. Can be a text button or an image button.", + "id": "GoogleChatV1WidgetMarkupButton", + "properties": { + "imageButton": { + "$ref": "GoogleChatV1WidgetMarkupImageButton", + "description": "A button with image and onclick action." + }, + "textButton": { + "$ref": "GoogleChatV1WidgetMarkupTextButton", + "description": "A button with text and onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupFormAction": { + "description": "A form action describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form.", + "id": "GoogleChatV1WidgetMarkupFormAction", + "properties": { + "actionMethodName": { + "description": "The method name is used to identify which part of the form triggered the form submission. This information is echoed back to the Chat app as part of the card click event. The same method name can be used for several elements that trigger a common behavior if desired.", + "type": "string" + }, + "parameters": { + "description": "List of action parameters.", + "items": { + "$ref": "GoogleChatV1WidgetMarkupFormActionActionParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupFormActionActionParameter": { + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters.", + "id": "GoogleChatV1WidgetMarkupFormActionActionParameter", + "properties": { + "key": { + "description": "The name of the parameter for the action script.", + "type": "string" + }, + "value": { + "description": "The value of the parameter.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupImage": { + "description": "An image that is specified by a URL and can have an onclick action.", + "id": "GoogleChatV1WidgetMarkupImage", + "properties": { + "aspectRatio": { + "description": "The aspect ratio of this image (width/height). This field allows clients to reserve the right height for the image while waiting for it to load. It's not meant to override the native aspect ratio of the image. If unset, the server fills it by prefetching the image.", + "format": "double", + "type": "number" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupImageButton": { + "description": "An image button with an onclick action.", + "id": "GoogleChatV1WidgetMarkupImageButton", + "properties": { + "icon": { + "description": "The icon specified by an enum that indices to an icon provided by Chat API.", + "enum": [ + "ICON_UNSPECIFIED", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "name": { + "description": "The name of this image_button which will be used for accessibility. Default value will be provided if developers don't specify.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupKeyValue": { + "description": "A UI element contains a key (label) and a value (content). And this element may also contain some actions such as onclick button.", + "id": "GoogleChatV1WidgetMarkupKeyValue", + "properties": { + "bottomLabel": { + "description": "The text of the bottom label. Formatted text supported.", + "type": "string" + }, + "button": { + "$ref": "GoogleChatV1WidgetMarkupButton", + "description": "A button that can be clicked to trigger an action." + }, + "content": { + "description": "The text of the content. Formatted text supported and always required.", + "type": "string" + }, + "contentMultiline": { + "description": "If the content should be multiline.", + "type": "boolean" + }, + "icon": { + "description": "An enum value that will be replaced by the Chat API with the corresponding icon image.", + "enum": [ + "ICON_UNSPECIFIED", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action. Only the top label, bottom label and content region are clickable." + }, + "topLabel": { + "description": "The text of the top label. Formatted text supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupOnClick": { + "description": "An onclick action (e.g. open a link).", + "id": "GoogleChatV1WidgetMarkupOnClick", + "properties": { + "action": { + "$ref": "GoogleChatV1WidgetMarkupFormAction", + "description": "A form action will be triggered by this onclick if specified." + }, + "openLink": { + "$ref": "GoogleChatV1WidgetMarkupOpenLink", + "description": "This onclick triggers an open link action if specified." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupOpenLink": { + "description": "A link that opens a new window.", + "id": "GoogleChatV1WidgetMarkupOpenLink", + "properties": { + "url": { + "description": "The URL to open.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupTextButton": { + "description": "A button with text and onclick action.", + "id": "GoogleChatV1WidgetMarkupTextButton", + "properties": { + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action of the button." + }, + "text": { + "description": "The text of the button.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupTextParagraph": { + "description": "A paragraph of text. Formatted text supported.", + "id": "GoogleChatV1WidgetMarkupTextParagraph", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleDocsMetadata": { + "description": "The corpus specific metadata for office-type documents, from Google Docs and other sources. This message is passed to the scorer and beyond. Next tag: 7", + "id": "GoogleDocsMetadata", + "properties": { + "aclInfo": { + "$ref": "AclInfo", + "description": "Contains number of users and groups which can access the document." + }, + "documentType": { + "description": "The conceptual type (presentation, document, etc.) of this document.", + "enum": [ + "UNKNOWN", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "PDF", + "IMAGE", + "BINARY_BLOB", + "FUSION_TABLE", + "FOLDER", + "DRAWING", + "VIDEO", + "FORM", + "DRAFT_SITE", + "DRAFT_SITE_PAGE", + "JAM", + "SHORTCUT", + "SCRIPT" + ], + "enumDescriptions": [ + "If the type is unknown or not represented in this enum.", + "Writely, Word, etc.", + "Presently, PowerPoint, etc.", + "Trix, Excel, etc.", + "File types for Gdrive objects are below.", + "", + "Fall-back for unknown Gdrive types.", + "", + "", + "", + "", + "", + "For Atari page and site drafts", + "", + "Jamboard Jams (go/jam)", + "Drive Shortcuts (go/shortcuts)", + "" + ], + "type": "string" + }, + "fileExtension": { + "description": "The file extension of the document. NOTE: As of October 2018 this field is not backfilled for old documents.", + "type": "string" + }, + "lastContentModifiedTimestamp": { + "description": "The last time this document was modified, in seconds since epoch. Only counts content modifications.", + "format": "int64", + "type": "string" + }, + "resultInfo": { + "$ref": "GoogleDocsResultInfo", + "description": "Additional per-result information, akin to Gmail's SingleThreadResponse. Note: GWS no longer seems to use this field, but there's still one reference to it for Scribe, so we can't remove it." + }, + "typeInfo": { + "$ref": "TypeInfo", + "description": "Contains additional information about the document depending on its type." + } + }, + "type": "object" + }, + "GoogleDocsResultInfo": { + "description": "A message containing information about a specific result. This information is passed to the scorer and beyond; in particular, GWS relies on it to format the result in the UI. Split from GoogleDocsMetadata in case we later want to reuse the message.", + "id": "GoogleDocsResultInfo", + "properties": { + "attachmentSha1": { + "description": "The SHA1 hash of the object in Drive, if any.", + "type": "string" + }, + "cosmoId": { + "$ref": "Id", + "description": "The storage identifier for the object in Cosmo. This field is intended to used by Stratus/Moonshine integration only. It should not be exposed externally (please refer to encrypted_id for that purpose)." + }, + "cosmoNameSpace": { + "description": "For Cosmo objects, the Cosmo namespace the object was in. This allows downstream clients to identify whether a document was created in Writely or Kix, Presently or Punch, or whether it was uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of all Cosmo name spaces.", + "format": "int32", + "type": "integer" + }, + "encryptedId": { + "description": "The encrypted (user-visible) id of this object. Knowing the id is sufficient to create a canonical URL for this document.", + "type": "string" + }, + "mimeType": { + "description": "The mimetype of the document.", + "type": "string" + }, + "shareScope": { + "$ref": "ShareScope", + "description": "The visibility indicator in the UI will be based upon this." + } + }, + "type": "object" + }, + "Grid": { + "id": "Grid", + "properties": { + "borderStyle": { + "$ref": "BorderStyle", + "description": "The border style to apply to each grid item." + }, + "items": { + "description": "The items to display in the grid.", + "items": { + "$ref": "GridItem" + }, + "type": "array" + }, + "numColumns": { + "description": "The number of columns to display in the grid. Note that a default value will be used if this field is not specified, and that default value will be different depending on where the grid is shown (dialog vs companion).", + "format": "int32", + "type": "integer" + }, + "onClick": { + "$ref": "OnClick", + "description": "This callback will be reused by each individual GridItem, but with the item's identifier and index in the items list added to the callback's parameters." + }, + "title": { + "description": "The text to display in the grid header.", + "type": "string" + } + }, + "type": "object" + }, + "GridItem": { + "id": "GridItem", + "properties": { + "identifier": { + "description": "A user-specified identifier for this grid item. This identifier will be returned in the parent Grid's on_click callback's parameters.", + "type": "string" + }, + "image": { + "$ref": "ImageComponent" + }, + "layout": { + "enum": [ + "NOT_SET", + "TEXT_BELOW", + "TEXT_ABOVE" + ], + "enumDescriptions": [ + "", + "The title and subtitle are shown below the grid item's image.", + "The title and subtitle are shown above the grid item's image." + ], + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "textAlignment": { + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "title": { + "description": "Text properties.", + "type": "string" + } + }, + "type": "object" + }, + "GroupLinkSharingModificationEvent": { + "id": "GroupLinkSharingModificationEvent", + "properties": { + "newStatus": { + "enum": [ + "UNKNOWN_LINK_SHARING_STATUS", + "LINK_SHARING_ON", + "LINK_SHARING_OFF", + "NOT_AVAILABLE" + ], + "enumDescriptions": [ + "", + "Link sharing is turned on.", + "Link sharing is turned off.", + "Link sharing is not available for the conversation." + ], + "type": "string" + } + }, + "type": "object" + }, + "HangoutEvent": { + "id": "HangoutEvent", + "properties": { + "hangoutDurationSecs": { + "format": "int64", + "type": "string" + }, + "mediaType": { + "enum": [ + "AUDIO_VIDEO", + "AUDIO_ONLY", + "PUSH_TO_TALK" + ], + "enumDescriptions": [ + "", + "", + "A user has started a PTT broadcast. When receiving a notification with this HangoutMediaType, other users in the conversation will take different actions depending on their active clients: a) If there is a recent \"reasonable\" active client, the user will join hangout and play audio. b) If there is no \"reasonable\" active client an invite will be displayed on all clients." + ], + "type": "string" + }, + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + }, + "type": { + "enum": [ + "START_HANGOUT", + "JOIN_HANGOUT", + "LEAVE_HANGOUT", + "END_HANGOUT", + "HANGOUT_COMING_SOON", + "ONGOING_HANGOUT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "HashtagData": { + "description": "Hashtag metadata, for HASHTAG segments. For a hashtag, the \"text\" field should contain the display text, and the search_text field should represent the topic being referenced, without the hash symbol; for example, we might have: text = \"#Google\" hashtag_data.search_text = \"Google\" Another example: text = \"#pikachu\" hashtag_data.search_text = \"Pokemon\" Both strings should be considered part of the searchable text. In go/sbe, both are indexed and searchable.", + "id": "HashtagData", + "properties": { + "searchText": { + "type": "string" + } + }, + "type": "object" + }, + "HostProto": { + "description": "Represents a single host. Optionally, the MDB owner of the host can be specified.", + "id": "HostProto", + "properties": { + "hostName": { + "description": "Lower-case, fully qualified hostname.", + "type": "string" + }, + "hostOwner": { + "description": "If present, then any checks that compare this Principal to LOAS peer info must confirm the peer's machine owner is equal to 'host_owner'. If absent, then any peer machine owner is acceptable.", + "type": "string" + } + }, + "type": "object" + }, + "HtmlOperatorOptions": { + "description": "Used to provide a search operator for html properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "HtmlOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the html property. For example, if operatorName is *subject* and the property's name is *subjectLine*, then queries like *subject:\u003cvalue\u003e* show results only where the value of the property named *subjectLine* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator return all items where *\u003cvalue\u003e* matches the value of any html properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "HtmlPropertyOptions": { + "description": "The options for html properties.", + "id": "HtmlPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "HtmlOperatorOptions", + "description": "If set, describes how the property should be used as a search operator." + }, + "retrievalImportance": { + "$ref": "RetrievalImportance", + "description": "Indicates the search quality importance of the tokens within the field when used for retrieval. Can only be set to DEFAULT or NONE." + } + }, + "type": "object" + }, + "HtmlValues": { + "description": "List of html values.", + "id": "HtmlValues", + "properties": { + "values": { + "description": "The maximum allowable length for html values is 2048 characters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "IconImage": { + "id": "IconImage", + "properties": { + "altText": { + "description": "The alternative text of this icon_url which will be used for accessibility.", + "type": "string" + }, + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "imageStyle": { + "description": "The image cropping style. Note that icons with a CIRCLE style are rendered larger than the default icon size.", + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "Id": { + "description": "Identifies a particular object, including both Users and DirEntries. This Id is unique across the entire server instance, such as the production or qa instance.", + "id": "Id", + "properties": { + "creatorUserId": { + "description": "The User account in which the DirEntry was originally created. If name_space==GAIA, then it's the gaia_id of the user this id is referring to.", + "format": "uint64", + "type": "string" + }, + "localId": { + "description": "The local identifier for the DirEntry (local to the creator's account). local_id + app_name is guaranteed to be unique within the creator account, but not across all User accounts. The string is case sensitive. Ignore if name_space==GAIA. NB For name_space==COSMO, all local_id's should be defined in google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java as they have a special predefined meaning. See cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT recommendations when generating IDs.", + "type": "string" + }, + "nameSpace": { + "description": "The name space in which this id is unique (typically the application that created it). Values should be drawn from the above enum, but for experimentation, use values greater than 1000.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Image": { + "id": "Image", + "properties": { + "altText": { + "description": "The alternative text of this image which will be used for accessibility.", + "type": "string" + }, + "aspectRatio": { + "description": "The aspect ratio of this image (width/height).", + "format": "double", + "type": "number" + }, + "imageUrl": { + "description": "Image url specified by developers. Server side, we will wrap with FIFE so client apps can configure size/cropping/etc.", + "type": "string" + }, + "onClick": { + "$ref": "OnClick" + } + }, + "type": "object" + }, + "ImageButton": { + "id": "ImageButton", + "properties": { + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", - "Fall-back for unknown Gdrive types.", "", "", "", "", "", - "For Atari page and site drafts", "", - "Jamboard Jams (go/jam)", - "Drive Shortcuts (go/shortcuts)", - "" + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" ], "type": "string" }, - "fileExtension": { - "description": "The file extension of the document. NOTE: As of October 2018 this field is not backfilled for old documents.", + "iconUrl": { "type": "string" }, - "lastContentModifiedTimestamp": { - "description": "The last time this document was modified, in seconds since epoch. Only counts content modifications.", - "format": "int64", + "name": { "type": "string" }, - "resultInfo": { - "$ref": "GoogleDocsResultInfo", - "description": "Additional per-result information, akin to Gmail's SingleThreadResponse. Note: GWS no longer seems to use this field, but there's still one reference to it for Scribe, so we can't remove it." - }, - "typeInfo": { - "$ref": "TypeInfo", - "description": "Contains additional information about the document depending on its type." + "onClick": { + "$ref": "OnClick" } }, "type": "object" }, - "GoogleDocsResultInfo": { - "description": "A message containing information about a specific result. This information is passed to the scorer and beyond; in particular, GWS relies on it to format the result in the UI. Split from GoogleDocsMetadata in case we later want to reuse the message.", - "id": "GoogleDocsResultInfo", + "ImageComponent": { + "description": "NOTE: Through future refactoring work, this image component will eventually be used in the Image widget, and will likely replace the Icon proto as well.", + "id": "ImageComponent", "properties": { - "attachmentSha1": { - "description": "The SHA1 hash of the object in Drive, if any.", + "altText": { "type": "string" }, - "cosmoId": { - "$ref": "Id", - "description": "The storage identifier for the object in Cosmo. This field is intended to used by Stratus/Moonshine integration only. It should not be exposed externally (please refer to encrypted_id for that purpose)." - }, - "cosmoNameSpace": { - "description": "For Cosmo objects, the Cosmo namespace the object was in. This allows downstream clients to identify whether a document was created in Writely or Kix, Presently or Punch, or whether it was uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of all Cosmo name spaces.", - "format": "int32", - "type": "integer" + "borderStyle": { + "$ref": "BorderStyle" }, - "encryptedId": { - "description": "The encrypted (user-visible) id of this object. Knowing the id is sufficient to create a canonical URL for this document.", - "type": "string" + "cropStyle": { + "$ref": "ImageCropStyle" }, - "mimeType": { - "description": "The mimetype of the document.", + "imageUrl": { "type": "string" - }, - "shareScope": { - "$ref": "ShareScope", - "description": "The visibility indicator in the UI will be based upon this." } }, "type": "object" }, - "GroupId": { - "description": "Id representing a group that could be a space, a chat, or a direct message space. Which ID is set here will determine which group", - "id": "GroupId", + "ImageCropStyle": { + "description": "Represents a crop style that can be applied to an image.", + "id": "ImageCropStyle", "properties": { - "dmId": { - "$ref": "DmId", - "description": "Unique, immutable ID of the Direct Message Space" + "aspectRatio": { + "description": "The aspect ratio to use if the crop type is RECTANGLE_CUSTOM.", + "format": "double", + "type": "number" }, - "spaceId": { - "$ref": "SpaceId", - "description": "Unique, immutable ID of the Space" - } - }, - "type": "object" - }, - "HtmlOperatorOptions": { - "description": "Used to provide a search operator for html properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "HtmlOperatorOptions", - "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the html property. For example, if operatorName is *subject* and the property's name is *subjectLine*, then queries like *subject:\u003cvalue\u003e* show results only where the value of the property named *subjectLine* matches *\u003cvalue\u003e*. By contrast, a search that uses the same *\u003cvalue\u003e* without an operator return all items where *\u003cvalue\u003e* matches the value of any html properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": { + "description": "The crop type.", + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], "type": "string" } }, "type": "object" }, - "HtmlPropertyOptions": { - "description": "The options for html properties.", - "id": "HtmlPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "HtmlOperatorOptions", - "description": "If set, describes how the property should be used as a search operator." - }, - "retrievalImportance": { - "$ref": "RetrievalImportance", - "description": "Indicates the search quality importance of the tokens within the field when used for retrieval. Can only be set to DEFAULT or NONE." - } - }, - "type": "object" - }, - "HtmlValues": { - "description": "List of html values.", - "id": "HtmlValues", - "properties": { - "values": { - "description": "The maximum allowable length for html values is 2048 characters.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Id": { - "description": "Identifies a particular object, including both Users and DirEntries. This Id is unique across the entire server instance, such as the production or qa instance.", - "id": "Id", + "ImageKeyValue": { + "description": "This is deprecated and please use KeyValue.", + "id": "ImageKeyValue", "properties": { - "creatorUserId": { - "description": "The User account in which the DirEntry was originally created. If name_space==GAIA, then it's the gaia_id of the user this id is referring to.", - "format": "uint64", + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], "type": "string" }, - "localId": { - "description": "The local identifier for the DirEntry (local to the creator's account). local_id + app_name is guaranteed to be unique within the creator account, but not across all User accounts. The string is case sensitive. Ignore if name_space==GAIA. NB For name_space==COSMO, all local_id's should be defined in google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java as they have a special predefined meaning. See cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT recommendations when generating IDs.", + "iconUrl": { "type": "string" }, - "nameSpace": { - "description": "The name space in which this id is unique (typically the application that created it). Values should be drawn from the above enum, but for experimentation, use values greater than 1000.", - "format": "int32", - "type": "integer" + "onClick": { + "$ref": "OnClick" + }, + "text": { + "type": "string" } }, "type": "object" @@ -3543,6 +11307,18 @@ }, "type": "object" }, + "InviteAcceptedEvent": { + "id": "InviteAcceptedEvent", + "properties": { + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + } + }, + "type": "object" + }, "Item": { "description": "Represents a single object that is an item in the search index, such as a file, folder, or a database record.", "id": "Item", @@ -3838,9 +11614,227 @@ "description": "Hashing value provided by the API caller. This can be used with the items.push method to calculate modified state. The maximum length is 2048 characters.", "type": "string" }, - "object": { - "$ref": "StructuredDataObject", - "description": "The structured data object that should conform to a registered object definition in the schema for the data source." + "object": { + "$ref": "StructuredDataObject", + "description": "The structured data object that should conform to a registered object definition in the schema for the data source." + } + }, + "type": "object" + }, + "KeyValue": { + "id": "KeyValue", + "properties": { + "bottomLabel": { + "description": "Formatted text supported.", + "type": "string" + }, + "button": { + "$ref": "Button" + }, + "content": { + "description": "Formatted text supported and always required.", + "type": "string" + }, + "contentMultiline": { + "type": "boolean" + }, + "endIcon": { + "$ref": "IconImage" + }, + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], + "type": "string" + }, + "iconAltText": { + "description": "The alternative text of this icon_url which will be used for accessibility.", + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "imageStyle": { + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + }, + "onClick": { + "$ref": "OnClick", + "description": "Only the top/bottom label + content region is clickable." + }, + "startIcon": { + "$ref": "IconImage", + "description": "The optional icon to display before the text content." + }, + "switchWidget": { + "$ref": "SwitchWidget" + }, + "topLabel": { + "description": "Formatted text supported.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageConfig": { + "description": "The language configuration for the session.", + "id": "LanguageConfig", + "properties": { + "spokenLanguages": { + "description": "The spoken language(s) in BCP47 language code.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LdapGroupProto": { + "id": "LdapGroupProto", + "properties": { + "groupName": { + "type": "string" + } + }, + "type": "object" + }, + "LdapUserProto": { + "id": "LdapUserProto", + "properties": { + "userName": { + "type": "string" + } + }, + "type": "object" + }, + "LinkData": { + "description": "Link metadata, for LINK segments. Anchor text should be stored in the \"text\" field of the Segment, which can also serve as a fallback.", + "id": "LinkData", + "properties": { + "attachment": { + "$ref": "Attachment", + "description": "An Attachment represents the structured entity to which we are linking. It contains an Embed (apps/tacotown/proto/embeds/embed_client.proto) with fields specific to the appropriate type of linked entity. For example, if we are linking to a photo album, the Embed may include the album ID and gaia ID of the creator. Clients that understand the Embed type within the Attachment may construct and/or decorate their link appropriately e.g. to make use of type-specific functionality or first-party integrations. The link_target and (if appropriate) display_url fields must still be set even when an Attachment is present, so that clients who do not know how to interpret the Attachment can fall back to those fields, and render the Segment as an ordinary web link. N.B. Even when an Attachment is present, the intention of a \"LINK\" Segment is for the Segment to be presented inline with the rest of the text of a post or comment, with a clickable link or other UI suitable for inlining (though the client may modify the UI based on Attachment data, e.g. to add appropriate hovers, icons, etc.). When an entity is intended to be rendered separately from the main body of the post/comment, a separate Attachment proto can be added outside the set of Segments. N.B. Within the Attachment, fields of EmbedClientItem have their own visibility annotations, which should be enforced separately from Segment visibility annotations. See: apps/tacotown/proto/embeds/embed_annotations.proto" + }, + "attachmentRenderHint": { + "description": "The hint to use when rendering the associated attachment. Ignored if there is no associated attachment.", + "enum": [ + "ATTACHMENT_RENDER_HINT_UNKNOWN", + "ATTACHMENT_RENDER_HINT_AFTER", + "ATTACHMENT_RENDER_HINT_INTERLEAVED" + ], + "enumDescriptions": [ + "No rendering hint; should not be used (equivalent to having no hint)", + "Render any associated attachment at the end of the block, after all sibling Segments. Leave the link in place in the text and render it normally as well.", + "Render any associated attachment inline in the text in place of the link text, forcing a line break before and after the attachment so the text and the attachment are \"interleaved\". If this is not possible, render as if AFTER." + ], + "type": "string" + }, + "displayUrl": { + "description": "If we wish to show the user a different (e.g. shortened) version of the URL for display purposes, then that version should be set here. If this field isn't set, link_target will be used for both purposes.", + "type": "string" + }, + "linkTarget": { + "description": "link_target is the URL to navigate to when clicked. This could be the original URL, or a URL signed by the GWS URL signing service.", + "type": "string" + }, + "linkType": { + "description": "LinkType is an optional field that provides additional information regarding link target. For example, link type can be identified as the SELF_LINK when the request was executed from the same link as the link target.", + "enum": [ + "UNKNOWN_LINK_TYPE", + "SELF_LINK" + ], + "enumDescriptions": [ + "No link type specified.", + "This indicates that the link target points to the same object related to this segment. Example: A YouTube link with text=\"0.07\" and link_target: \"https://www.youtube.com/watch?v=leHVmSqd4_w\u0026t=0m07s\" points to the same YouTube video where this segment appears. See http://go/ignore-badwords-filtering-for-selflink for adding link_type design document." + ], + "type": "string" + }, + "title": { + "description": "Title is an optional field that provides a short string that describes the link or its destination. User interfaces often use title as a tooltip or for accessibility purposes. However, they are of course free to present this data in any form. This field is plain text.", + "type": "string" } }, "type": "object" @@ -3976,6 +11970,31 @@ }, "type": "object" }, + "MdbGroupProto": { + "description": "An entity from the MDB namespace that is to be interpreted as a group. If using this for authorization, you should do an exact match of the peer role against group_name or any of the names in the Chubby expansion of the MDB group named group_name.", + "id": "MdbGroupProto", + "properties": { + "groupName": { + "type": "string" + } + }, + "type": "object" + }, + "MdbUserProto": { + "description": "An entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.", + "id": "MdbUserProto", + "properties": { + "gaiaId": { + "description": "Do not set this field. Contact credentials-eng@ if you believe you absolutely need to use it. This is the @prod.google.com Gaia ID that corresponds to the MDB user, see go/authn-merge for details. This field may always be safely ignored when performing an authorization check.", + "format": "int64", + "type": "string" + }, + "userName": { + "type": "string" + } + }, + "type": "object" + }, "Media": { "description": "Media resource.", "id": "Media", @@ -3987,6 +12006,187 @@ }, "type": "object" }, + "MeetingSpace": { + "description": " A meeting space is a persistent object that is the context for one or more calls. The meeting space is what makes users find each other when they want to meet and to find shared resources. With two exceptions, all the fields in the meeting space resource are visible publicly to any client, even anonymous users. The exceptions are that * The call_info field is only visible to clients that have a device (as indicated by the meeting token) in the JOINED or HIDDEN state. * The meeting_alias field will only be set for users who are in the same domain as the meeting space. The meeting space resource (outside call_info) should only contain information necessary to join a call in the meeting space, and not any other metadata about the meeting space, such as what organization it belongs to or things related to ongoing calls.", + "id": "MeetingSpace", + "properties": { + "acceptedNumberClass": { + "description": "Which number classes are accepted by this meeting at the moment? When there is no ongoing conference, this field may change independent of the version number of the MeetingSpace. When a conference starts, this field will be locked to the value at that time, and then will be unlocked again at the end of the conference.", + "items": { + "enum": [ + "NUMBER_CLASS_UNSPECIFIED", + "LOW_COST", + "HIGH_COST", + "LEGACY" + ], + "enumDescriptions": [ + "No number class has been specified.", + "The number has a low cost to receive calls on.", + "The number has a high cost to receive calls on.", + "Class for legacy numbers." + ], + "type": "string" + }, + "type": "array" + }, + "broadcastAccess": { + "$ref": "BroadcastAccess", + "description": "Broadcast access information for this meeting space." + }, + "callInfo": { + "$ref": "CallInfo", + "description": "Information relevant to an ongoing conference. This field will be set in responses if the client requesting the meeting space has a device in one of the JOINED, HIDDEN, or MISSING_PREREQUISITES states. The field will also be set without a created device if the client requesting the meeting space is eligible to directly create a device in the JOINED state without knocking, eg a same-domain joiner. Can also only be updated by clients with a device in the JOINED state." + }, + "gatewayAccess": { + "$ref": "GatewayAccess", + "description": "The interop gateway access information for the meeting space. A gateway access can be used when joining conferences from non-Google equipment through an interop gateway." + }, + "gatewaySipAccess": { + "description": "The SIP based access methods that can be used to join the conference.", + "items": { + "$ref": "GatewaySipAccess" + }, + "type": "array" + }, + "meetingAlias": { + "description": "An optional alias for the meeting space. The alias can in some cases be resolved to the meeting space, similar to the meeting code. The limitation is that the user needs to be in the same meeting domain as the meeting space. See go/thor-backend/meeting-alias for more details.", + "type": "string" + }, + "meetingCode": { + "description": "A meeting code is a globally unique code which points to a meeting space. Note: Meeting codes may be regenerated, which will cause old meeting codes to become invalid.", + "type": "string" + }, + "meetingSpaceId": { + "description": "A unique server-generated ID for the meeting space. This is the resource name of the meeting space resource and has the form `spaces/`, where is a sequence of characters in the [base64url set](https://tools.ietf.org/html/rfc4648#section-5), without any `=` characters.", + "type": "string" + }, + "meetingUrl": { + "description": "A URL to identify and access the meeting space. Output only.", + "type": "string" + }, + "moreJoinUrl": { + "description": "Output only. A URL that clients (e.g. Calendar) can use to show the web page with all join methods available for this meeting space. This link is also used in iOS universal links and Android intents, used for opening the \"More ways to join\" view in the Thor mobile apps. Example: https://tel.meet/mee-ting-cod?pin=1234567891011 Here, \"pin\" is the universal phone PIN. We include it explicitly to better support the offline case on the mobile. This is set when the meeting space has either a universal PIN or an interop PIN and clients who can show a \"more ways to join\" button should show it whenever this field is set.", + "readOnly": true, + "type": "string" + }, + "phoneAccess": { + "description": "All regional phone access methods for this meeting space. Can be empty.", + "items": { + "$ref": "PhoneAccess" + }, + "type": "array" + }, + "settings": { + "$ref": "Settings", + "description": "Settings of the meeting space." + }, + "universalPhoneAccess": { + "$ref": "UniversalPhoneAccess", + "description": "A universal phone access method for this meeting space. Can be unset." + } + }, + "type": "object" + }, + "MembershipChangeEvent": { + "id": "MembershipChangeEvent", + "properties": { + "leaveReason": { + "description": "This should only be set when MembershipChange type is LEAVE.", + "enum": [ + "LEAVE_REASON_UNKNOWN", + "FORCE_HISTORY_POLICY_CHANGE", + "USER_INITIATED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + }, + "type": { + "enum": [ + "JOIN", + "LEAVE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "Menu": { + "description": "This is deprecated and please use SelectionControl by setting type to DROPDOWN.", + "id": "Menu", + "properties": { + "items": { + "items": { + "$ref": "MenuItem" + }, + "type": "array" + }, + "label": { + "description": "Label used to be displayed ahead of the menu. It is optional.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "If specified, form is submitted when selection changed. If not specified, developer will need to specify a separate button." + } + }, + "type": "object" + }, + "MenuItem": { + "id": "MenuItem", + "properties": { + "selected": { + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item which will be sent back to app scripts. Client should use as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "MessageContent": { + "description": "The content of a chat message, which includes 0 or more segments along with 0 or more embeds, which represent various attachment types (like photos).", + "id": "MessageContent", + "properties": { + "attachment": { + "description": "Items attached to this message, such as photos. This should *NOT* be set by clients. It will be automatically set from media uploaded along with this request and using the information provided in existing_media.", + "items": { + "$ref": "Attachment" + }, + "type": "array" + }, + "segment": { + "description": "The text part of the message content. Segments are concatenated together to yield the full message. A message can have zero or more segments.", + "items": { + "$ref": "Segment" + }, + "type": "array" + } + }, + "type": "object" + }, "Metadata": { "description": "Metadata of a matched search result.", "id": "Metadata", @@ -4098,6 +12298,16 @@ }, "type": "object" }, + "OAuthConsumerProto": { + "description": "Represents an OAuth consumer, a/k/a AuthSub target. These principals are identified by domain name (e.g., example.com). Historically, Dasher domain GAIA group IDs have been used instead, but that doesn't work: http://go/tricky-gaia-ids", + "id": "OAuthConsumerProto", + "properties": { + "domain": { + "type": "string" + } + }, + "type": "object" + }, "ObjectDefinition": { "description": "The definition for an object within a data source.", "id": "ObjectDefinition", @@ -4187,6 +12397,69 @@ }, "type": "object" }, + "OnClick": { + "id": "OnClick", + "properties": { + "action": { + "$ref": "FormAction" + }, + "link": { + "description": "This can be used as a short form for OpenLink with the default OpenAs and OnClose. It may be undeprecated if this proves to be handy for developers.", + "type": "string" + }, + "openLink": { + "$ref": "OpenLink" + }, + "openLinkAction": { + "$ref": "FormAction", + "description": "An add-on triggers this action when the form action needs to open a link. This differs from the open_link above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back." + } + }, + "type": "object" + }, + "OpenLink": { + "id": "OpenLink", + "properties": { + "loadIndicator": { + "description": "Next available ID: 5", + "enum": [ + "NONE", + "SPINNER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "onClose": { + "enum": [ + "NOTHING", + "RELOAD_ADD_ON" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "openAs": { + "enum": [ + "FULL_SIZE", + "OVERLAY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4207,17 +12480,146 @@ "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", "type": "object" }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OtrChatMessageEvent": { + "id": "OtrChatMessageEvent", + "properties": { + "expirationTimestampUsec": { + "format": "int64", + "type": "string" + }, + "kansasRowId": { + "type": "string" + }, + "kansasVersionInfo": { + "type": "string" + }, + "messageOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + } + }, + "type": "object" + }, + "OtrModificationEvent": { + "id": "OtrModificationEvent", + "properties": { + "newOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "newOtrToggle": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "The conversation can be toggled", + "The conversation cannot be toggled" + ], + "type": "string" + }, + "oldOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "oldOtrToggle": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "The conversation can be toggled", + "The conversation cannot be toggled" + ], + "type": "string" + } + }, + "type": "object" + }, + "PackagingServiceClient": { + "description": "Developers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.", + "id": "PackagingServiceClient", + "properties": { + "androidPackageName": { + "description": "Android app's package name to generate the deep-link URI.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app's App Store ID to generate the App Store URL when app is not installed on device.", + "type": "string" + }, + "iosBundleId": { + "description": "iOS app's bundle ID to generate the deep-link URI.", + "type": "string" + }, + "type": { + "description": "Type of Google API Console client.", + "enum": [ + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "Client for Android app.", + "Client for iOS app." + ], + "type": "string" + } + }, + "type": "object" + }, + "PaygateInfo": { + "description": "Information provided to clients so that they can show upgrade promos and warnings on call ending early (for non-paying users).", + "id": "PaygateInfo", + "properties": { + "callEndingSoonWarningTime": { + "description": "Time when client should show message that the call is ending soon.", + "format": "google-datetime", + "type": "string" + }, + "callEndingTime": { + "description": "Time when the call will end if the user does not upgrade (after in-call upgrade support check has been implemented).", + "format": "google-datetime", "type": "string" }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" + "showUpgradePromos": { + "description": "This boolean is used by clients to decide whether the user should be shown promos to upgrade.", + "type": "boolean" } }, "type": "object" @@ -4276,6 +12678,33 @@ }, "type": "object" }, + "PhoneAccess": { + "description": "Phone access contains information required to dial into a conference using a regional phone number and a PIN that is specific to that phone number.", + "id": "PhoneAccess", + "properties": { + "formattedPhoneNumber": { + "description": "The phone number to dial for this meeting space in INTERNATIONAL format. Full phone number with a leading '+' character and whitespace separations.", + "type": "string" + }, + "languageCode": { + "description": "The BCP 47/LDML language code for the language associated with this phone access. To be parsed by the i18n LanguageCode utility. Examples: \"es-419\" for Latin American Spanish, \"fr-CA\" for Canadian French.", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number to dial for this meeting space in E.164 format. Full phone number with a leading '+' character.", + "type": "string" + }, + "pin": { + "description": "The PIN that users must enter after dialing the given number. The PIN consists of only decimal digits and the length may vary.", + "type": "string" + }, + "regionCode": { + "description": "The CLDR/ISO 3166 region code for the country associated with this phone access. To be parsed by the i18n RegionCode utility. Example: \"SE\" for Sweden.", + "type": "string" + } + }, + "type": "object" + }, "PhoneNumber": { "description": "A person's Phone Number", "id": "PhoneNumber", @@ -4368,6 +12797,39 @@ }, "type": "object" }, + "PostiniUserProto": { + "description": "See http://s/?fileprint=//depot/google3/security/authentication/postini/auth_token.proto", + "id": "PostiniUserProto", + "properties": { + "postiniUserId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Presenter": { + "description": "Presenter contains information about which device is currently presenting as well as which device requested the presenter to be set.", + "id": "Presenter", + "properties": { + "byDeviceId": { + "description": "The device resource name of the device which requested the current presenter to be set. This field can not be modified by clients.", + "type": "string" + }, + "copresenterDeviceIds": { + "description": "The device resource names of other devices which can control the current presentation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "presenterDeviceId": { + "description": "The device resource name of the currently presenting device.", + "type": "string" + } + }, + "type": "object" + }, "Principal": { "description": "Reference to a user, group, or domain.", "id": "Principal", @@ -4387,6 +12849,181 @@ }, "type": "object" }, + "PrincipalProto": { + "description": "A Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well.", + "id": "PrincipalProto", + "properties": { + "allAuthenticatedUsers": { + "$ref": "AllAuthenticatedUsersProto", + "description": "scope = ALL_AUTHENTICATED_USERS" + }, + "capTokenHolder": { + "$ref": "CapTokenHolderProto", + "description": "scope = CAP_TOKEN_HOLDER" + }, + "chat": { + "$ref": "ChatProto", + "description": "scope = CHAT" + }, + "circle": { + "$ref": "CircleProto", + "description": "scope = CIRCLE" + }, + "cloudPrincipal": { + "$ref": "CloudPrincipalProto", + "description": "scope = CLOUD_PRINCIPAL" + }, + "contactGroup": { + "$ref": "ContactGroupProto", + "description": "scope = CONTACT_GROUP" + }, + "emailOwner": { + "$ref": "EmailOwnerProto", + "description": "scope = EMAIL_OWNER" + }, + "event": { + "$ref": "EventProto", + "description": "scope = EVENT" + }, + "gaiaGroup": { + "$ref": "GaiaGroupProto", + "description": "scope = GAIA_GROUP" + }, + "gaiaUser": { + "$ref": "GaiaUserProto", + "description": "scope = GAIA_USER" + }, + "host": { + "$ref": "HostProto", + "description": "scope = HOST" + }, + "ldapGroup": { + "$ref": "LdapGroupProto", + "description": "scope = LDAP_GROUP" + }, + "ldapUser": { + "$ref": "LdapUserProto", + "description": "scope = LDAP_USER" + }, + "mdbGroup": { + "$ref": "MdbGroupProto", + "description": "scope = MDB_GROUP" + }, + "mdbUser": { + "$ref": "MdbUserProto", + "description": "scope = MDB_USER" + }, + "oauthConsumer": { + "$ref": "OAuthConsumerProto", + "description": "scope = OAUTH_CONSUMER;" + }, + "postiniUser": { + "$ref": "PostiniUserProto", + "description": "scope = POSTINI_USER" + }, + "rbacRole": { + "$ref": "RbacRoleProto", + "description": "scope = RBAC_ROLE" + }, + "rbacSubject": { + "$ref": "RbacSubjectProto", + "description": "scope = RBAC_SUBJECT" + }, + "resourceRole": { + "$ref": "ResourceRoleProto", + "description": "scope = RESOURCE_ROLE" + }, + "scope": { + "description": "This is only optional because required enums cannot be extended. Currently required.", + "enum": [ + "INVALID", + "GAIA_USER", + "GAIA_GROUP", + "LDAP_USER", + "LDAP_GROUP", + "MDB_USER", + "MDB_GROUP", + "POSTINI_USER", + "CONTACT_GROUP", + "SIMPLE_SECRET_HOLDER", + "SIGNING_KEY_POSSESSOR", + "ALL_AUTHENTICATED_USERS", + "OAUTH_CONSUMER", + "HOST", + "SOCIAL_GRAPH_NODE", + "EMAIL_OWNER", + "CAP_TOKEN_HOLDER", + "CIRCLE", + "SQUARE", + "EVENT", + "RESOURCE_ROLE", + "CHAT", + "YOUTUBE_USER", + "UNUSED_ZWIEBACK_SESSION", + "ZWIEBACK_SESSION", + "RBAC_ROLE", + "RBAC_SUBJECT", + "CLOUD_PRINCIPAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "next tag: 29" + ], + "type": "string" + }, + "signingKeyPossessor": { + "$ref": "SigningKeyPossessorProto", + "description": "scope = SIGNING_KEY_POSSESSOR" + }, + "simpleSecretHolder": { + "$ref": "SimpleSecretHolderProto", + "description": "scope = SIMPLE_SECRET_HOLDER" + }, + "socialGraphNode": { + "$ref": "SocialGraphNodeProto", + "description": "scope = SOCIAL_GRAPH_NODE" + }, + "square": { + "$ref": "SquareProto", + "description": "scope = SQUARE" + }, + "youtubeUser": { + "$ref": "YoutubeUserProto", + "description": "scope = YOUTUBE_USER" + }, + "zwiebackSession": { + "$ref": "ZwiebackSessionProto", + "description": "scope = ZWIEBACK_SESSION" + } + }, + "type": "object" + }, "ProcessingError": { "id": "ProcessingError", "properties": { @@ -4499,6 +13136,42 @@ }, "type": "object" }, + "Provenance": { + "description": "This field records where the ItemScope was retrieved, if it was created via a web fetch.", + "id": "Provenance", + "properties": { + "annotationBlob": { + "description": "Annotation blob from Annotation Service.", + "format": "byte", + "type": "string" + }, + "canonicalUrl": { + "description": "Canonical url of the retrieved_url, if one was resolved during retrieval, for example, if a rel=\"canonical\" link tag was provided in the retrieved web page.", + "type": "string" + }, + "inputUrl": { + "description": "The url originally passed in the PRS request, which should be used to re-discover the content. Note that this URL may be a forwarding service or link shortener (bit.ly), so it should not be assumed to be canonical, but should be used for navigation back to the original source of the itemscope.", + "type": "string" + }, + "itemtype": { + "description": "Contains exact types as parsed, whether or not we recognized that type at parse time. If an itemscope is created by merging SchemaOrg markup and open graph markup then the first itemtype would be schemaorg type, the second would be open graph and so on. example: http://schema.org/VideoObject, og:video.movie Plain text; usually a URL", + "items": { + "type": "string" + }, + "type": "array" + }, + "retrievedTimestampMsec": { + "description": "The server retrieved timestamp (in msec).", + "format": "uint64", + "type": "string" + }, + "retrievedUrl": { + "description": "The final URL that was the actual source of the itemscope, after any redirects.", + "type": "string" + } + }, + "type": "object" + }, "PushItem": { "description": "Represents an item to be pushed to the indexing queue.", "id": "PushItem", @@ -4703,77 +13376,247 @@ "description": "Can get suggestions for this field.", "type": "boolean" }, - "lessThanOperatorName": { - "description": "Indicates the operator name that can be used to isolate the property using the less-than operator.", + "lessThanOperatorName": { + "description": "Indicates the operator name that can be used to isolate the property using the less-than operator.", + "type": "string" + }, + "objectType": { + "description": "The name of the object corresponding to the operator. This field is only filled for schema-specific operators, and is unset for common operators.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator.", + "type": "string" + }, + "type": { + "description": "The type of the operator.", + "enum": [ + "UNKNOWN", + "INTEGER", + "DOUBLE", + "TIMESTAMP", + "BOOLEAN", + "ENUM", + "DATE", + "TEXT", + "HTML" + ], + "enumDescriptions": [ + "Invalid value.", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "QuerySource": { + "description": "List of sources that the user can search using the query API.", + "id": "QuerySource", + "properties": { + "displayName": { + "description": "Display name of the data source.", + "type": "string" + }, + "operators": { + "description": "List of all operators applicable for this source.", + "items": { + "$ref": "QueryOperator" + }, + "type": "array" + }, + "shortName": { + "description": "A short name or alias for the source. This value can be used with the 'source' operator.", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The name of the source" + } + }, + "type": "object" + }, + "QuerySuggestion": { + "description": "This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion.", + "id": "QuerySuggestion", + "properties": {}, + "type": "object" + }, + "RbacRoleProto": { + "description": "Principal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC (go/cedi-auth) provisionable (go/sphinx-rbacz-design).", + "id": "RbacRoleProto", + "properties": { + "name": { + "type": "string" + }, + "objectId": { + "type": "string" + }, + "rbacNamespace": { + "description": "DEPRECATED as of 01.11.2019", + "type": "string" + }, + "rbacRoleName": { + "description": "Format: \"RbacNamespaceName.RbacRoleName(/field=value)*\", e.g., \"hr.v1.Reader\", \"hr.v1.Reader/language=EN_US/country=USA/room=NYC-9th-11A201\".", + "type": "string" + } + }, + "type": "object" + }, + "RbacSubjectProto": { + "description": "Principal associated with a given RBAC subject. This principal is used by Sphinx Provisioning Service for RBAC (go/cedi-auth) provisionable (go/sphinx-rbacz-design).", + "id": "RbacSubjectProto", + "properties": { + "username": { + "description": "Format \"username\" without \"@domain\", e.g., \"bogdand\".", + "type": "string" + } + }, + "type": "object" + }, + "ReactionInfo": { + "description": "Contains information about an emoji reaction.", + "id": "ReactionInfo", + "properties": { + "emoji": { + "description": "Unicode string representing a single emoji.", + "type": "string" + } + }, + "type": "object" + }, + "RecordingEvent": { + "description": "A recording event is something that happens to the recording in a conference.", + "id": "RecordingEvent", + "properties": { + "deviceId": { + "description": "The initiator of the latest event of the recording. It will be set for all user events (`type` is 100-199) and unset for all server events (`type` is 200-299).", + "type": "string" + }, + "type": { + "description": "The type of event.", + "enum": [ + "RECORDING_EVENT_UNSPECIFIED", + "USER_ACTION", + "STARTED_BY_USER", + "STOPPED_BY_USER", + "CANCELLED_BY_USER", + "CANCELLED_INITIALIZATION_FAILED", + "CANCELLED_INITIATOR_LEFT", + "ACTIVE_ABOUT_TO_STOP_TOO_LONG", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES" + ], + "enumDescriptions": [ + "This is never used.", + "Deprecated, use detailed user actions instead.", + "Recording was started or is being started by a user.", + "Recording was stopped by a user.", + "Recording was cancelled by a user.", + "Recording was cancelled by the server because of a failure during recording initialization.", + "Recording was cancelled by the server because the recording initiator left the conference during initialization. When the initiator leaves after the recording is started, no event is triggered.", + "Recording is about to be stopped by the server because the recording is about to reach the maximum duration.", + "Recording was stopped because the recording reached the maximum duration.", + "Recording was stopped because there were no devices left in the conference.", + "Recording was stopped because of an internal error." + ], + "type": "string" + } + }, + "type": "object" + }, + "RecordingInfo": { + "description": "This message is deprecated, please use RecordingSessionInfo instead. Information about recording in the current conference.", + "id": "RecordingInfo", + "properties": { + "latestRecordingEvent": { + "$ref": "RecordingEvent", + "description": "The latest recording event. This can be used by clients to help explain what is going on, why recording stopped, etc. This will always be set if there is or was an active recording, which means there can be latest event when recording is INACTIVE." + }, + "ownerDisplayName": { + "description": "The display name of the owner of the recording output. Email notifications about uploaded recordings will also be sent to this owner.", + "type": "string" + }, + "producerDeviceId": { + "description": "The device resource name of the producer device for the currently active recording. Note that, after the producer drops/leaves the conference, this field will be cleaned up by the server after a delay.", "type": "string" }, - "objectType": { - "description": "The name of the object corresponding to the operator. This field is only filled for schema-specific operators, and is unset for common operators.", + "recordingApplicationType": { + "description": "The application type of the current active recording. `RECORDING_APPLICATION_TYPE_UNSPECIFIED` if `recording_status` is inactive.", + "enum": [ + "RECORDING_APPLICATION_TYPE_UNSPECIFIED", + "RECORDING", + "GLIVE_STREAM", + "BROADCAST" + ], + "enumDescriptions": [ + "This is never used.", + "A meeting recording saved to a video file in Google Drive.", + "A *Google Live* managed stream. See go/thor-managed-streaming.", + "A meeting broadcast. See go/thor-streaming-prd." + ], "type": "string" }, - "operatorName": { - "description": "The name of the operator.", + "recordingId": { + "description": "An identifier for the current recording, if any. This is returned whenever recording_status is either `RECORDING_STARTING` or `RECORDING_STARTED`.", "type": "string" }, - "type": { - "description": "The type of the operator.", + "recordingStatus": { + "description": "The current status of the recording. This can be used by clients to show a recording dot or similar to indicated to the user that a recording is taking place.", "enum": [ - "UNKNOWN", - "INTEGER", - "DOUBLE", - "TIMESTAMP", - "BOOLEAN", - "ENUM", - "DATE", - "TEXT", - "HTML" + "RECORDING_UNSPECIFIED", + "RECORDING_INACTIVE", + "RECORDING_STARTING", + "RECORDING_STARTED" ], "enumDescriptions": [ - "Invalid value.", - "", - "", - "", - "", - "", - "", - "", - "" + "This value is never used.", + "The conference is not being recorded. This can mean either that no recording has been started, or that a previous recording has stopped.", + "Recording is about to begin. The status will be updated to RECORDING_STARTED when the recording actually starts, which happens when all the backend plumbing is set up.", + "The recording is started. Any media sent to the conference may be included in the resulting recording." ], "type": "string" } }, "type": "object" }, - "QuerySource": { - "description": "List of sources that the user can search using the query API.", - "id": "QuerySource", + "RecordingSessionInfo": { + "description": "Information about a recording session.", + "id": "RecordingSessionInfo", "properties": { - "displayName": { - "description": "Display name of the data source.", + "ownerEmail": { + "description": "Input only. Deprecated field, should not be used.", "type": "string" }, - "operators": { - "description": "List of all operators applicable for this source.", - "items": { - "$ref": "QueryOperator" - }, - "type": "array" - }, - "shortName": { - "description": "A short name or alias for the source. This value can be used with the 'source' operator.", + "recordingSessionId": { + "description": "A unique server-generated ID for the recording session.", "type": "string" }, - "source": { - "$ref": "Source", - "description": "The name of the source" + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Recording session's state information." } }, "type": "object" }, - "QuerySuggestion": { - "description": "This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion.", - "id": "QuerySuggestion", - "properties": {}, + "RenameEvent": { + "id": "RenameEvent", + "properties": { + "newName": { + "type": "string" + }, + "originalName": { + "type": "string" + } + }, "type": "object" }, "RepositoryError": { @@ -4853,6 +13696,26 @@ }, "type": "object" }, + "ResourceRoleProto": { + "description": "A type of sharing target that points to some resource's ACL. Used to refer to the set of Principals that have the given privilege ('role_id') for the given resource ('application_id', 'object_id', 'object_part'). The meaning of 'role_id' is interpreted only by implementations of AclRpcService and is usually dependent on 'application_id' All fields except object_part are required. If present, object_part must be non-empty.", + "id": "ResourceRoleProto", + "properties": { + "applicationId": { + "type": "string" + }, + "objectId": { + "type": "string" + }, + "objectPart": { + "type": "string" + }, + "roleId": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ResponseDebugInfo": { "description": "Debugging information about the response.", "id": "ResponseDebugInfo", @@ -4986,6 +13849,17 @@ }, "type": "object" }, + "SafeUrlProto": { + "description": "Message containing a string that is safe to use in URL contexts in DOM APIs and HTML documents, where the URL context does not refer to a resource that loads code.", + "id": "SafeUrlProto", + "properties": { + "privateDoNotAccessOrElseSafeUrlWrappedValue": { + "description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", + "type": "string" + } + }, + "type": "object" + }, "Schema": { "description": "The schema definition for a data source.", "id": "Schema", @@ -5341,30 +14215,384 @@ }, "type": "object" }, - "ShareScope": { - "id": "ShareScope", + "Section": { + "description": "Sections are separated by a line divider. They contain a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, AddOns have a narrow fixed width, so there is currently no need for layout properties (e.g. float).", + "id": "Section", + "properties": { + "collapsable": { + "description": "Indicating whether this section is collapsable. If a section is collapsable, the description must be given.", + "type": "boolean" + }, + "description": { + "description": "The header of the section, text formatted supported.", + "type": "string" + }, + "numUncollapsableWidgets": { + "description": "The number of uncollapsable widgets. For example, when a section contains 5 widgets and the num_uncollapsable_widget are set to be 2, The first 2 widgets will always shown and the last 3 is collapsed as default. Only when collapsable is set to be true, the num_uncollapsable_widget will be taken into account.", + "format": "int32", + "type": "integer" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "WidgetMarkup" + }, + "type": "array" + } + }, + "type": "object" + }, + "Segment": { + "id": "Segment", + "properties": { + "formatting": { + "$ref": "Formatting", + "description": "Formatting to be applied when rendering the Segment. For all segment types, this is the standard way of representing that the Segment should be rendered in bold, italics, etc." + }, + "hashtagData": { + "$ref": "HashtagData", + "description": "For HASHTAG type:" + }, + "linkData": { + "$ref": "LinkData", + "description": "Type-specific metadata. At most one of these should be populated, and the one that is populated should correspond to the type of the Segment. For LINK type:" + }, + "text": { + "description": "Text content of the Segment. As a general rule, this field should contain the actual text that should be rendered in the UI. Thus, for a hashtag, it should be \"#Foo\", and for a link, it should be the display text. Clients that do not understand a particular segment type may use this text, along with the Formatting info below, as a fallback for display. The field is not required -- if all relevant information is carried in other metadata fields and there is no need for a fallback, or it is not practical for a fallback to be provided for any other reason, the field may be left blank. A standard example would be a user reference being transmitted between server layers, where a gaia-ID representation may be sufficient and there is no need for a textual fallback. In such a case, it would be valid and useful - though not required - for servers to compute and populate a fallback on the serving path.", + "type": "string" + }, + "type": { + "description": "Type of Segment.", + "enum": [ + "TEXT", + "LINE_BREAK", + "LINK", + "USER_MENTION", + "ALL_USER_MENTION", + "HASHTAG" + ], + "enumDescriptions": [ + "A TEXT segment represents plain-text subject to particular formatting constraints (as represented in the \"formatting\" field of the Segment).", + "A LINE_BREAK segment is simply a placeholder to represent a line break between other segments. The \"text\" variable may be set to a newline as a fallback, but clients that understand this segment type should simply insert a line break without needing to reference any fields.", + "A LINK segment represents a link to a web entity. The \"text\" field should be used for anchor text. Additional link data should be put in the link_data protobuf.", + "A USER_MENTION segment represents a reference to a (possibly non-Gaia, possibly off-network) user. The \"text\" field may be populated as a fallback, but information identifying the user should be contained in the user_mention_data protobuf. (The set of fields that are populated in user_mention_data may differ depending on the context in which the segment is viewed, but the interpretation of the fields is uniform. See comments over UserMentionData).", + "An ALL_USER_MENTION segment represents a reference to all users in the context, that is, the conversation, discussion, or other context containing the segment. For example, an ALL_USER_MENTION segment (\"@all\") can be useful to ping all participants in a conversation if the notification setting of the conversation is not set to ping on normal messages. An ALL_USER_MENTION should be treated as a USER_MENTION for all users who receives the segment.", + "A HASHTAG segment represents a structured reference to a topic. The \"text\" field should represent display text (e.g. \"#Google\"), and additional metadata should be put in the Segment's hashtag_data field." + ], + "type": "string" + }, + "userMentionData": { + "$ref": "UserMentionData", + "description": "For USER_MENTION type:" + } + }, + "type": "object" + }, + "SelectionControl": { + "id": "SelectionControl", + "properties": { + "items": { + "description": "For radio button, at most one of the items will be selected.", + "items": { + "$ref": "SelectionItem" + }, + "type": "array" + }, + "label": { + "description": "Label used to be displayed ahead of the selection control. It is optional.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "If specified, form is submitted when selection changed. If not specified, developer will need to specify a separate button." + }, + "type": { + "enum": [ + "CHECK_BOX", + "RADIO_BUTTON", + "SWITCH", + "DROPDOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SelectionItem": { + "id": "SelectionItem", + "properties": { + "selected": { + "description": "If more than one items are selected for RADIO_BUTTON and DROPDOWN, the first selected item is treated as sElected and the after ones are all ignored.", + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item which will be sent back to app scripts. Client should use as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "SessionEvent": { + "description": "A session event is something that happens to the streaming session in a conference.", + "id": "SessionEvent", + "properties": { + "deviceId": { + "description": "The initiator of the latest event of the streaming session. It will be set for all user events (`type` is 100-199) and unset for all server events(`type` is 200-299).", + "type": "string" + }, + "type": { + "description": "The type of event.", + "enum": [ + "EVENT_UNSPECIFIED", + "STARTED_BY_USER", + "STOPPED_BY_USER", + "CANCELLED_BY_USER", + "CANCELLED_INITIALIZATION_FAILED", + "CANCELLED_INITIATOR_LEFT", + "ACTIVE_ABOUT_TO_STOP_TOO_LONG", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES" + ], + "enumDescriptions": [ + "This is never used.", + "Streaming session was started or is being started by a user.", + "Streaming session was stopped by a user.", + "Streaming session was cancelled by a user.", + "Streaming session was cancelled by the server because of a failure during session initialization.", + "Streaming session was cancelled by the server because the session initiator left the conference during initialization. When the initiator leaves after the session is started, no event is triggered.", + "Streaming session is about to be stopped by the server because the session is about to reach the maximum duration.", + "Streaming session was stopped because the session reached the maximum duration.", + "Streaming session was stopped because there were no devices left in the conference.", + "Streaming session was stopped because of an internal error." + ], + "type": "string" + } + }, + "type": "object" + }, + "SessionStateInfo": { + "description": "Information about the state of a (recording, broadcast, transcription...) session in a conference.", + "id": "SessionStateInfo", + "properties": { + "ackInfo": { + "$ref": "AckInfo", + "description": "Output only. The ack info of the session.", + "readOnly": true + }, + "languageConfig": { + "$ref": "LanguageConfig", + "description": "Immutable. The language configuration used by this session. When empty, captions will be disabled. It's a required field for transcription sessions." + }, + "lastActorDeviceId": { + "description": "Output only. The device id of the actor is set if the current state is a result of a user action, is empty otherwise.", + "readOnly": true, + "type": "string" + }, + "maxEndTime": { + "description": "Output only. The max end time of the session, at this time the session will be force stopped/terminated. Clients are expected to use this timestamp to warn users about the force stop.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "sessionState": { + "description": "State of the session.", + "enum": [ + "SESSION_STATE_UNSPECIFIED", + "STARTING", + "ACTIVE", + "STOPPED" + ], + "enumDescriptions": [ + "Unspecified session state.", + "The session is starting.", + "The session is active/ongoing.", + "The session has stopped." + ], + "type": "string" + }, + "sessionStopReason": { + "description": "Output only. The reason the session was transitioned to STOPPED state.", + "enum": [ + "SESSION_STOP_REASON_UNSPECIFIED", + "USER_ACTION", + "STOPPED_INITIALIZATION_FAILED", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES", + "STOPPED_YOU_TUBE_LIVE_EVENT_ENDED" + ], + "enumDescriptions": [ + "Session stop reason unspecified.", + "Stopped by user action.", + "Stopped by the server because of an initialization failure.", + "Stopped because the session reached the maximum duration.", + "Stopped because there were no devices left in the conference.", + "Stopped because of an internal error.", + "Stopped because the broadcast event ended on YouTube." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Settings": { + "description": "Settings of a meeting space that can be viewed and edited by users with permissions. These settings are always populated for output.", + "id": "Settings", + "properties": { + "accessLock": { + "description": "The access lock of the meeting space that lets owner control who can join the meeting. True if the access lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "attendanceReportEnabled": { + "description": "Whether attendance report is enabled for the meeting space.", + "type": "boolean" + }, + "chatLock": { + "description": "The chat lock of the meeting space that lets owner control whether the participants can send chat messages. True if the chat lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "cohostArtifactSharingEnabled": { + "description": "Whether meeting artifacts will be shared with co-hosts.", + "type": "boolean" + }, + "cseEnabled": { + "description": "Whether Client-side Encryption is enabled for the meeting space.", + "type": "boolean" + }, + "defaultAsViewer": { + "description": "Whether the default role is viewer or not.", + "type": "boolean" + }, + "moderationEnabled": { + "description": "Indicates whether the meeting space is moderated. go/meet-multimod-dd", + "type": "boolean" + }, + "presentLock": { + "description": "The present lock of the meeting space that lets owner control whether the participants can present their screen. True if the present lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "reactionsLock": { + "description": "The reactions lock of the meeting space that lets owner control whether the participants can send reactions. True if the reactions lock feature is enabled for the meeting space.", + "type": "boolean" + } + }, + "type": "object" + }, + "ShareScope": { + "id": "ShareScope", + "properties": { + "domain": { + "description": "If scope is DOMAIN, this field contains the dasher domain, for example \"google.com\".", + "type": "string" + }, + "scope": { + "description": "The scope to which the content was shared.", + "enum": [ + "UNKNOWN", + "PRIVATE", + "LIMITED", + "EXTENDED", + "DASHER_DOMAIN", + "PUBLIC" + ], + "enumDescriptions": [ + "", + "Only the author can view the post.", + "Viewable only by a set of people.", + "Viewable by extended circles.", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SigningKeyPossessorProto": { + "description": "Represents a principal who possesses a signing key corresponding to the verification key or keyset described here.", + "id": "SigningKeyPossessorProto", + "properties": { + "keymasterKeyType": { + "description": "This value must be from the KeyMetadata.Type enum in keymaster.proto.", + "format": "int32", + "type": "integer" + }, + "serializedVerificationKey": { + "description": "The actual verification key bytes corresponding to the above type.", + "format": "byte", + "type": "string" + }, + "serializedVerificationKeyset": { + "description": "The binary serialized Keymaster SerializedReader of a public keyset. The keyset must contain exactly one key. N.B.: If this field is populated, serialized_verification_key should be set to the empty string and keymaster_key_type should be set to zero.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "SimpleSecretHolderProto": { + "description": "Represents a principal which possesses a particular, presumably secret, string. Useful for things like \"auth keys,\" used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it's best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka \"attribute\", is presented). All that's stored here is an identifying label.", + "id": "SimpleSecretHolderProto", + "properties": { + "label": { + "$ref": "SimpleSecretLabelProto", + "description": "A descriptive label to help identify a relevant ACL entry or otherwise disambiguate this instance." + } + }, + "type": "object" + }, + "SimpleSecretLabelProto": { + "description": "SimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a \"label\", which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one \"auth key\". Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.", + "id": "SimpleSecretLabelProto", "properties": { - "domain": { - "description": "If scope is DOMAIN, this field contains the dasher domain, for example \"google.com\".", + "capabilityId": { + "description": "***DEPRECATED (3-Oct-2011) *** This field should be deleted when code stops using CAP_TOKEN labels. Used when type = CAP_TOKEN. When a CAP_TOKEN label appears in a SimpleSecretHolder Principal, |capability_id| must be filled in to identify one of the capabilities on the ACL. When a CAP_TOKEN label appears in a SimpleSecret Authenticator, it is NOT necessary to fill in |capability_id| -- ACL Service will find the ID by searching all capabilities on the ACL for one associated with the token given by the SimpleSecret's secret data. If |capability_id| is specified, though, then the Authenticator will only be accepted if it actually matches that particular token ID.", + "format": "int32", + "type": "integer" + }, + "genericLabel": { + "description": "Used when type = GENERIC_SECRET", + "format": "byte", "type": "string" }, - "scope": { - "description": "The scope to which the content was shared.", + "inviteId": { + "description": "Used when type == INVITE.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "This is optional because required enums cannot be extended.", "enum": [ - "UNKNOWN", - "PRIVATE", - "LIMITED", - "EXTENDED", - "DASHER_DOMAIN", - "PUBLIC" + "INVALID", + "AUTH_KEY", + "INVITE", + "GENERIC_SECRET", + "CAP_TOKEN", + "REKE" ], "enumDescriptions": [ - "", - "Only the author can view the post.", - "Viewable only by a set of people.", - "Viewable by extended circles.", - "", - "" + "Used as a default value.", + "The singleton auth key for a common-sharing ACL. No other fields of SimpleSecretLabelProto need to be filled in, since there is only one of these per ACL. The corresponding secret is the auth key encoded in 64-bit big-endian.", + "A common-sharing invite token. |invite_id| (below) must be set to identify the invite. The corresponding secret is the SecretMaterial, as defined by InviteToken.SecretMaterial in acl.proto, encoded in 64-bit big-endian. If there is no SecretMaterial, the secret should be omitted; in this case the invite ID itself is the secret, which is less secure.", + "A generic secret value. Do not use this if any more specific type is appropriate.", + "***DEPRECATED (3-Oct-2011)*** Use the new CapTokenProto and CapTokenHolderProto instead. A capability token. The corresponding secret is an arbitrary-length random byte string (recommended: 128 bits). |capability_id| may be filled in (see below). See CapTokenMetadata in acl.proto.", + "Identifies a principal that can perform a successful REKE handshake. The holder is not authenticated by presenting a SimpleSecretProto, but rather by knowing either the REKE resumption ticket secret or the private key corresponding to a public key specified outside the PrincipalProto. For more information, see: http://goto.google.com/loas2cert" ], "type": "string" } @@ -5389,6 +14617,20 @@ }, "type": "object" }, + "SocialGraphNodeProto": { + "description": "Represents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.", + "id": "SocialGraphNodeProto", + "properties": { + "sgnDomain": { + "description": "The fields from ccc/socialgraph/socialgraphnode.proto:SgnNode that uniquely identify a social graph node. The 'ident' field is not included here because its value can be changed.", + "type": "string" + }, + "sgnPk": { + "type": "string" + } + }, + "type": "object" + }, "SortOptions": { "id": "SortOptions", "properties": { @@ -5530,74 +14772,28 @@ }, "type": "object" }, - "SpaceId": { - "description": "Primary key for Space resource.", - "id": "SpaceId", + "SpellResult": { + "id": "SpellResult", "properties": { - "spaceId": { - "description": "Unique, immutable ID of the Space", + "suggestedQuery": { + "description": "The suggested spelling of the query.", "type": "string" } }, "type": "object" }, - "SpaceInfo": { - "description": "Defines the representation of a single matching space.", - "id": "SpaceInfo", + "SquareProto": { + "description": "Represents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", + "id": "SquareProto", "properties": { - "avatarInfo": { - "$ref": "AvatarInfo" - }, - "avatarUrl": { - "type": "string" - }, - "description": { - "type": "string" - }, - "groupId": { - "$ref": "GroupId" - }, - "inviterEmail": { - "description": "The email address of the user that invited the calling user to the room, if available. This field will only be populated for direct invites, it will be empty if the user was indirectly invited to the group.", - "type": "string" - }, - "isExternal": { - "description": "Whether this is a space that enables guest access", - "type": "boolean" - }, - "name": { - "type": "string" - }, - "numMembers": { + "memberType": { + "description": "The type of Square members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See square.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with square. Currently required.", "format": "int32", "type": "integer" }, - "userMembershipState": { - "description": "searching user's membership state in this space", - "enum": [ - "MEMBER_UNKNOWN", - "MEMBER_INVITED", - "MEMBER_JOINED", - "MEMBER_NOT_A_MEMBER", - "MEMBER_FAILED" - ], - "enumDescriptions": [ - "Default state, do not use", - "An invitation to the space has been sent", - "User has joined the space", - "User is not a member", - "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." - ], - "type": "string" - } - }, - "type": "object" - }, - "SpellResult": { - "id": "SpellResult", - "properties": { - "suggestedQuery": { - "description": "The suggested spelling of the query.", + "squareId": { + "description": "Currently required.", + "format": "int64", "type": "string" } }, @@ -5645,6 +14841,101 @@ }, "type": "object" }, + "StoredParticipantId": { + "id": "StoredParticipantId", + "properties": { + "gaiaId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "StreamViewerStats": { + "description": "Information about viewers of the stream.", + "id": "StreamViewerStats", + "properties": { + "estimatedViewerCount": { + "description": "The estimate of the current viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "StreamingSessionInfo": { + "description": "Information about a streaming session in conference.", + "id": "StreamingSessionInfo", + "properties": { + "applicationType": { + "description": "The application type of the current streaming session.", + "enum": [ + "RECORDING_APPLICATION_TYPE_UNSPECIFIED", + "RECORDING", + "GLIVE_STREAM", + "BROADCAST" + ], + "enumDescriptions": [ + "This is never used.", + "A meeting recording saved to a video file in Google Drive.", + "A *Google Live* managed stream. See go/thor-managed-streaming.", + "A meeting broadcast. See go/thor-streaming-prd." + ], + "type": "string" + }, + "latestSessionEvent": { + "$ref": "SessionEvent", + "description": "The latest streaming session event. This can be used by clients to help explain what is going on, why recording stopped, etc. This will always be set to a valid event and consistent with the status. It can be set when current session is inactive to indicate latest event that makes current session to become inactive." + }, + "ownerDisplayName": { + "description": "The display name of the owner of the recording output. It's only set when there will be uploaded recordings. Currently, it's only set when application type is RECORDING or GLIVE_STREAM.", + "type": "string" + }, + "sessionId": { + "description": "This is the REST name and unique identifier of this streaming session and has the form `spaces//recordings/` This is returned whenever status is either `STARTING` or `STARTED`.", + "type": "string" + }, + "status": { + "description": "The current status of this streaming session. This can be used by clients to show session status indicator and/or notification.", + "enum": [ + "STATUS_UNSPECIFIED", + "INACTIVE", + "STARTING", + "LIVE" + ], + "enumDescriptions": [ + "This value is never used.", + "The streaming session is inactive. This means either it's not started yet or it's already stopped.", + "The streaming session is about to begin. The status will be updated to LIVE when the streaming session actually starts, which happens when all the backend plumbing is set up.", + "The streaming session is live. Any media sent to the conference may be included in the resulting recording/broadcast." + ], + "type": "string" + }, + "trainingEnabled": { + "description": "When true, this recording may be used for training new transcription models.", + "type": "boolean" + }, + "viewerAccessPolicy": { + "description": "The policy that controls who can view the broadcast. This setting applies for broadcast session.", + "enum": [ + "BROADCASTING_ACCESS_POLICY_UNSPECIFIED", + "ORGANIZATION", + "PUBLIC" + ], + "enumDescriptions": [ + "Used only when broadcast is not enabled, or an unknown enum value is used.", + "Only authenticated Google accounts belonging to the same organization as the meeting organizer can access the broadcast.", + "Anyone with the broadcast view URL can access the broadcast." + ], + "type": "string" + }, + "viewerStats": { + "$ref": "StreamViewerStats", + "description": "Contains information about viewers of the livestream. It is only set when application type is BROADCAST." + } + }, + "type": "object" + }, "StructuredDataObject": { "description": "A structured data object consisting of named properties.", "id": "StructuredDataObject", @@ -5685,45 +14976,188 @@ "description": "Partial query for which autocomplete suggestions will be shown. For example, if the query is \"sea\", then the server might return \"season\", \"search\", \"seagull\" and so on.", "type": "string" }, - "requestOptions": { - "$ref": "RequestOptions", - "description": "Request options, such as the search application and user timezone." - } - }, - "type": "object" - }, - "SuggestResponse": { - "description": "Response of the suggest API.", - "id": "SuggestResponse", - "properties": { - "suggestResults": { - "description": "List of suggestions.", - "items": { - "$ref": "SuggestResult" - }, - "type": "array" + "requestOptions": { + "$ref": "RequestOptions", + "description": "Request options, such as the search application and user timezone." + } + }, + "type": "object" + }, + "SuggestResponse": { + "description": "Response of the suggest API.", + "id": "SuggestResponse", + "properties": { + "suggestResults": { + "description": "List of suggestions.", + "items": { + "$ref": "SuggestResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "SuggestResult": { + "description": "One suggestion result.", + "id": "SuggestResult", + "properties": { + "peopleSuggestion": { + "$ref": "PeopleSuggestion", + "description": "This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc." + }, + "querySuggestion": { + "$ref": "QuerySuggestion", + "description": "This field will be present if the suggested query is a word/phrase completion." + }, + "source": { + "$ref": "Source", + "description": "The source of the suggestion." + }, + "suggestedQuery": { + "description": "The suggested query that will be used for search, when the user clicks on the suggestion", + "type": "string" + } + }, + "type": "object" + }, + "SwitchWidget": { + "id": "SwitchWidget", + "properties": { + "controlType": { + "enum": [ + "UNSPECIFIED", + "SWITCH", + "CHECKBOX" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "name": { + "description": "The name of the switch widget which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction" + }, + "selected": { + "type": "boolean" + }, + "value": { + "description": "The value is what is passed back in apps script callback.", + "type": "string" + } + }, + "type": "object" + }, + "TasksMetadata": { + "description": "A Tasks message in Dynamite.", + "id": "TasksMetadata", + "properties": {}, + "type": "object" + }, + "TextButton": { + "id": "TextButton", + "properties": { + "altText": { + "description": "The alternative text used for accessibility Next field number: 7.", + "type": "string" + }, + "backgroundColor": { + "description": "Optional color of the button's background in RAISE mode. The default is the secondary color from addon's manifest.", + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "onClick": { + "$ref": "OnClick" + }, + "style": { + "enum": [ + "UNSPECIFIED", + "TEXT", + "FILLED" + ], + "enumDescriptions": [ + "", + "Simple text button with ripple touch feedback.", + "Button with solid background." + ], + "type": "string" + }, + "text": { + "description": "Text color can be set via HTML markup.", + "type": "string" + } + }, + "type": "object" + }, + "TextField": { + "id": "TextField", + "properties": { + "autoComplete": { + "$ref": "AutoComplete", + "description": "The initial set of auto complete items without any user input." + }, + "autoCompleteCallback": { + "$ref": "FormAction", + "description": "The refresh function which returns AutoComplete based on the user's input text. If the callback is not specified, auto complete will be purely done in client side based on the auto_complete items." + }, + "autoCompleteMultipleSelections": { + "description": "When set to true, a user can input multiple auto-complet items.", + "type": "boolean" + }, + "hintText": { + "type": "string" + }, + "label": { + "description": "One of label or hint_text is required to be specified by the developers.", + "type": "string" + }, + "maxLines": { + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction" + }, + "type": { + "enum": [ + "SINGLE_LINE", + "MULTIPLE_LINE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "value": { + "description": "The default value when no input from user.", + "type": "string" } }, "type": "object" }, - "SuggestResult": { - "description": "One suggestion result.", - "id": "SuggestResult", + "TextKeyValue": { + "description": "This is deprecated and please use KeyValue.", + "id": "TextKeyValue", "properties": { - "peopleSuggestion": { - "$ref": "PeopleSuggestion", - "description": "This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc." - }, - "querySuggestion": { - "$ref": "QuerySuggestion", - "description": "This field will be present if the suggested query is a word/phrase completion." + "key": { + "type": "string" }, - "source": { - "$ref": "Source", - "description": "The source of the suggestion." + "onClick": { + "$ref": "OnClick" }, - "suggestedQuery": { - "description": "The suggested query that will be used for search, when the user clicks on the suggestion", + "text": { "type": "string" } }, @@ -5744,6 +15178,15 @@ }, "type": "object" }, + "TextParagraph": { + "id": "TextParagraph", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, "TextPropertyOptions": { "description": "The options for text properties.", "id": "TextPropertyOptions", @@ -5817,6 +15260,55 @@ }, "type": "object" }, + "Toolbar": { + "description": "The Toolbar markup has been deprecated. The information is now specified in the manifest.", + "id": "Toolbar", + "properties": { + "color": { + "description": "Background color of the toolbar in RBG hex representation.", + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "TranscriptionSessionInfo": { + "description": "Information about a transcription session.", + "id": "TranscriptionSessionInfo", + "properties": { + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Transcription session's state information." + }, + "transcriptionSessionId": { + "description": "A unique server-generated ID for the transcription session.", + "type": "string" + } + }, + "type": "object" + }, + "TransientData": { + "description": "Transient generic data that will not be saved on the server.", + "id": "TransientData", + "properties": {}, + "type": "object" + }, + "TrustedResourceUrlProto": { + "description": "Message containing a string that is safe to use in all URL contexts in DOM APIs and HTML documents; even where the referred-to resource is interpreted as code, e.g., as the src of a script element.", + "id": "TrustedResourceUrlProto", + "properties": { + "privateDoNotAccessOrElseTrustedResourceUrlWrappedValue": { + "description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", + "type": "string" + } + }, + "type": "object" + }, "TypeInfo": { "description": "Next tag: 2", "id": "TypeInfo", @@ -5828,6 +15320,21 @@ }, "type": "object" }, + "UniversalPhoneAccess": { + "description": "Universal phone access contains information required to dial into a conference using one of a static list of phone numbers and a universal PIN. The phone number list is distributed separately.", + "id": "UniversalPhoneAccess", + "properties": { + "pin": { + "description": "The PIN that users must enter after dialing a universal number. The pin consists of only decimal digits and the length may vary, though it generally is longer than a PhoneAccess.pin.", + "type": "string" + }, + "pstnInfoUrl": { + "description": "This field has the same contents as the MeetingSpace.more_join_url field, and is included for compatibility reasons. Clients should use the other field instead. This field is deprecated and will be removed.", + "type": "string" + } + }, + "type": "object" + }, "UnmappedIdentity": { "id": "UnmappedIdentity", "properties": { @@ -5918,33 +15425,79 @@ }, "type": "object" }, - "UserId": { - "description": "Primary key for User resource.", - "id": "UserId", + "UserDisplayInfo": { + "description": "Resource for displaying user info", + "id": "UserDisplayInfo", "properties": { - "actingUserId": { - "description": "Optional. Opaque, server-assigned ID of the user profile associated with App/user acting on behalf of the human user. This is currently only set when a 3P application is acting on the user's behalf.", + "avatarUrl": { + "description": "The avatar to show for this user", "type": "string" }, - "id": { - "description": "Opaque, server-assigned ID of the User.", + "displayName": { + "description": "The name to show for this user", "type": "string" - }, - "originAppId": { - "$ref": "AppId", - "description": "Optional. Identifier of the App involved (directly or on behalf of a human creator) in creating this message. This is not set if the user posted a message directly, but is used in the case of, for example, a message being generated by a 1P integration based on a user action (creating an event, creating a task etc). This should only be used on the BE. For clients, please use the field in the FE message proto instead (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id)." - }, - "type": { - "description": "Clients do not need to send UserType to Backend, but Backend will always send this field to clients per the following rule: 1. For HUMAN Ids, the field is empty but by default .getType() will return HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT.", + } + }, + "type": "object" + }, + "UserInfo": { + "description": "Contains info regarding the updater of an Activity Feed item. Next Id: 6", + "id": "UserInfo", + "properties": { + "updaterCountDisplayType": { + "description": "Describes how updater_count_to_show should be used.", "enum": [ - "HUMAN", - "BOT" + "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED", + "EXACT_COUNT", + "NONZERO_COUNT" ], "enumDescriptions": [ - "Notes on HUMAN type: 1) Leaving UserId.UserType field empty will return HUMAN as default value. This is expected because all the existing UserIds are without explicitly setting UserType, most of which are HUMAN Ids. For Bot Ids we will always set BOT in UserType field. 2) DO NOT explicitly set HUMAN as type. This is a proto2 issue, that a UserId with explicitly set default value HUMAN as type is NOT equal to an id without setting the field. aka. UserId id1 = UserId.newBuilder() .setId(\"dummy\").setType(UserType.HUMAN).build(); UserId id2 = UserId.newBuilder().setId(\"dummy\").build(); AssertThat(id1).isNotEqual(id2); AssertThat(id2.getType()).isEqualTo(UserType.HUMAN);", - "" + "", + "A precise updater count is known and the value set in updater_count_to_show should be used. If set, updater_count_to_show is set to the total number of updaters minus the one set in updater_to_show.", + "A precise updater count could not be calculated, but there is at least one. Any value set in updater_count_to_show should NOT be used." ], "type": "string" + }, + "updaterCountToShow": { + "description": "The number of updaters for clients to show depending on UpdaterCountDisplayType.", + "format": "int32", + "type": "integer" + }, + "updaterToShowEmail": { + "description": "The email of the updater for clients to show used for Gmail items.", + "type": "string" + }, + "updaterToShowGaiaId": { + "description": "The gaia id of the updater for clients to show used for Gmail items. If the updater is an external user, the email field below should be populated.", + "format": "int64", + "type": "string" + }, + "updaterToShowUserId": { + "$ref": "AppsDynamiteUserId", + "description": "The updater for clients to show used for Dynamite Chat items." + } + }, + "type": "object" + }, + "UserMentionData": { + "description": "Person metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations -- that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.proto", + "id": "UserMentionData", + "properties": { + "email": { + "type": "string" + }, + "user": { + "$ref": "PrincipalProto", + "description": "If the principal is backed by a gaia id, DO NOT use this field. Use user_gaia_id/user_id fields instead." + }, + "userGaiaId": { + "description": "An unobfuscated gaia ID:", + "format": "int64", + "type": "string" + }, + "userId": { + "description": "An obfuscated gaia ID:", + "type": "string" } }, "type": "object" @@ -6001,6 +15554,16 @@ }, "type": "object" }, + "VideoCallMetadata": { + "description": "A Meet initiated in Dynamite and its URL.", + "id": "VideoCallMetadata", + "properties": { + "meetingUrl": { + "type": "string" + } + }, + "type": "object" + }, "VideoInfo": { "description": "Next tag: 2", "id": "VideoInfo", @@ -6012,6 +15575,244 @@ } }, "type": "object" + }, + "VoicePhoneNumber": { + "description": "Represents both long and short phone number that can be called or texted. Short telephone numbers are used to reach local services. Short numbers and their purpose differ from country to country. These numbers in US are in the form of N11 which is a three-digit abbreviated dialing telephone number.", + "id": "VoicePhoneNumber", + "properties": { + "e164": { + "description": "E.164 formatted full phone number with leading +. This field also represents encoded form of short telephone numbers in E.164 format. e.g. \"911\" is encoded as \"+1911\".", + "type": "string" + }, + "i18nData": { + "$ref": "VoicePhoneNumberI18nData", + "description": "Additional data that could be added using the libphonenumber API." + } + }, + "type": "object" + }, + "VoicePhoneNumberI18nData": { + "id": "VoicePhoneNumberI18nData", + "properties": { + "countryCode": { + "description": "The country calling code for this number, as defined by the ITU. For example, this would be 1 for NANPA countries, and 33 for France (for more info see i18n.phonenumbers.PhoneNumber.country_code).", + "format": "int32", + "type": "integer" + }, + "internationalNumber": { + "description": "Display number formatted using the INTERNATIONAL format.", + "type": "string" + }, + "isValid": { + "description": "When present, indicates the number is valid according to the libphonenumber's isValidNumber API (see https://code.google.com/p/libphonenumber/).", + "type": "boolean" + }, + "nationalNumber": { + "description": "Display number formatted using the NATIONAL format.", + "type": "string" + }, + "regionCode": { + "description": "A region (country, territory, continent, etc), as defined by Unicode's \"CLDR\", itself based on ISO 3166 (UN country codes). For details, see https://www.corp.google.com/~engdocs/java/com/google/i18n/identifiers/RegionCode.html", + "type": "string" + }, + "validationResult": { + "description": "When set to a non-default value, indicates the validation reason that is set when phone number is invalid (is_valid is false).", + "enum": [ + "UNKNOWN", + "IS_POSSIBLE", + "INVALID_COUNTRY_CODE", + "TOO_SHORT", + "TOO_LONG", + "IS_POSSIBLE_LOCAL_ONLY", + "INVALID_LENGTH" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "WhiteboardInfo": { + "description": "Information on a whiteboard attached to an active conference. A whiteboard is a Jam document.", + "id": "WhiteboardInfo", + "properties": { + "id": { + "description": "The Cosmo Id of the whiteboard document (Jam).", + "type": "string" + }, + "title": { + "description": "Title of the whiteboard document.", + "type": "string" + }, + "uri": { + "description": "The uri for whiteboard document.", + "type": "string" + }, + "whiteboardUri": { + "description": "This field is deprecated and will be removed. Please use \"uri\" instead.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetMarkup": { + "id": "WidgetMarkup", + "properties": { + "buttons": { + "description": "buttons is also oneof data and only one of these fields should be set.", + "items": { + "$ref": "Button" + }, + "type": "array" + }, + "dateTimePicker": { + "$ref": "DateTimePicker" + }, + "divider": { + "$ref": "Divider" + }, + "grid": { + "$ref": "Grid" + }, + "horizontalAlignment": { + "description": "The horizontal alignment of this widget.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "image": { + "$ref": "Image" + }, + "imageKeyValue": { + "$ref": "ImageKeyValue" + }, + "keyValue": { + "$ref": "KeyValue" + }, + "menu": { + "$ref": "Menu", + "description": "Input Widgets" + }, + "selectionControl": { + "$ref": "SelectionControl" + }, + "textField": { + "$ref": "TextField" + }, + "textKeyValue": { + "$ref": "TextKeyValue" + }, + "textParagraph": { + "$ref": "TextParagraph", + "description": "Read-only Widgets" + } + }, + "type": "object" + }, + "WrappedResourceKey": { + "description": "A wrapper around a raw resource key. The secret should never be logged, and this proto annotates those secret fields to ensure that they are not. Clients are encouraged to use this proto rather than defining their own, to ensure that secrets are correctly annotated.", + "id": "WrappedResourceKey", + "properties": { + "resourceKey": { + "description": "Resource key of the Drive item. This field should be unset if, depending on the context, the item does not have a resource key, or if none was specified. This must never be logged.", + "type": "string" + } + }, + "type": "object" + }, + "YouTubeBroadcastSessionInfo": { + "description": "Information about a YouTube broadcast session.", + "id": "YouTubeBroadcastSessionInfo", + "properties": { + "broadcastStats": { + "$ref": "YouTubeBroadcastStats", + "description": "Current broadcast session's statistics." + }, + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "YouTube broadcast session's state information." + }, + "youTubeBroadcastSessionId": { + "description": "A unique server-generated ID for the broadcast session.", + "type": "string" + }, + "youTubeLiveBroadcastEvent": { + "$ref": "YouTubeLiveBroadcastEvent", + "description": "The YouTube Live broadcast event that is being streamed to." + } + }, + "type": "object" + }, + "YouTubeBroadcastStats": { + "description": "Statistics of the YouTube broadcast session.", + "id": "YouTubeBroadcastStats", + "properties": { + "estimatedViewerCount": { + "description": "Estimated concurrent viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "YouTubeLiveBroadcastEvent": { + "description": "Information about the broadcast to YouTube.", + "id": "YouTubeLiveBroadcastEvent", + "properties": { + "broadcastId": { + "description": "Input only. The broadcast id, used to control the lifecycle of the event on YouTube", + "type": "string" + }, + "channelId": { + "description": "YouTube channel associated with the broadcast.", + "type": "string" + }, + "viewUrl": { + "description": "Output only. A URL that can be used to watch the meeting broadcast. Will be populated by the backend.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "YoutubeUserProto": { + "id": "YoutubeUserProto", + "properties": { + "youtubeUserId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ZwiebackSessionProto": { + "description": "See go/zwieback. New uses of Zwieback sessions must be approved via go/zwieback-request.", + "id": "ZwiebackSessionProto", + "properties": { + "zwiebackSessionId": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/cloudsearch/v1/cloudsearch-gen.go b/cloudsearch/v1/cloudsearch-gen.go index 3177eee9a4a..fb4af2b235a 100644 --- a/cloudsearch/v1/cloudsearch-gen.go +++ b/cloudsearch/v1/cloudsearch-gen.go @@ -505,6 +505,76 @@ type V1Service struct { s *Service } +// AbuseReportingConfig: Abuse reporting configuration outlining what is +// supported in this conference. +type AbuseReportingConfig struct { + // RecordingAllowed: Whether the current call may include video + // recordings in its abuse reports. + RecordingAllowed bool `json:"recordingAllowed,omitempty"` + + // WrittenUgcAllowed: Whether the current call may include user + // generated content (chat, polls, Q&A...) in its abuse reports. + WrittenUgcAllowed bool `json:"writtenUgcAllowed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RecordingAllowed") 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. "RecordingAllowed") 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 *AbuseReportingConfig) MarshalJSON() ([]byte, error) { + type NoMethod AbuseReportingConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AckInfo: Information about how devices in a meeting have acked for a +// session/operation. +type AckInfo struct { + // UnackedDeviceCount: Output only. Number of meeting devices that have + // not acked yet. + UnackedDeviceCount int64 `json:"unackedDeviceCount,omitempty"` + + // UnackedDeviceIds: Output only. IDs of meeting devices (at most ten + // are provided) that have not acked yet. + UnackedDeviceIds []string `json:"unackedDeviceIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "UnackedDeviceCount") + // 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. "UnackedDeviceCount") 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 *AckInfo) MarshalJSON() ([]byte, error) { + type NoMethod AckInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AclInfo: Next tag: 4 type AclInfo struct { // GroupsCount: Number of groups which have at least read access to the @@ -551,8 +621,226 @@ func (s *AclInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppId: Identifier of an App. -type AppId struct { +// ActionParameter: List of string parameters that developers can +// specify when the above action method (in apps script) is invoked. An +// example use case is for 3 snooze buttons: snooze now, snooze 1 day, +// snooze next week. Developers can have action method = snooze() and +// pass the snooze type and snooze time in list of string parameters. +type ActionParameter struct { + Key string `json:"key,omitempty"` + + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Key") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ActionParameter) MarshalJSON() ([]byte, error) { + type NoMethod ActionParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AllAuthenticatedUsersProto: Represents a principal who has +// authenticated as any kind of user which the application understands. +// This is typically used for "wiki-like" security, where anyone is +// allowed access so long as they can be held accountable for that +// access. Since the purpose is knowing whom to blame, it is up to the +// application to decide what kinds of users it knows how to blame. For +// example, an application might choose to include GAIA users in "all +// authenticated users", but not include MDB users. Nothing here. +type AllAuthenticatedUsersProto struct { +} + +// AppsDynamiteAnnotation: NOTE WHEN ADDING NEW PROTO FIELDS: Be sure to +// add datapol annotations to new fields with potential PII, so they get +// scrubbed when logging protos for errors. NEXT TAG: 29 +type AppsDynamiteAnnotation struct { + BabelPlaceholderMetadata *AppsDynamiteBabelPlaceholderMetadata `json:"babelPlaceholderMetadata,omitempty"` + + // CardCapabilityMetadata: + // LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backe + // nd/action/common/SystemMessageHelper.java) + CardCapabilityMetadata *AppsDynamiteCardCapabilityMetadata `json:"cardCapabilityMetadata,omitempty"` + + // ChipRenderType: Whether the annotation should be rendered as a chip. + // If this is missing or unspecified, fallback to should_not_render on + // the metadata. + // + // Possible values: + // "CHIP_RENDER_TYPE_UNSPECIFIED" + // "RENDER" - Clients must render the annotation as a chip, and if + // they cannot render this many Annotations, show a fallback card. + // "RENDER_IF_POSSIBLE" - Client can render the annotation if it has + // room to render it. + // "DO_NOT_RENDER" - Client should not render the annotation as a + // chip. + ChipRenderType string `json:"chipRenderType,omitempty"` + + ConsentedAppUnfurlMetadata *AppsDynamiteConsentedAppUnfurlMetadata `json:"consentedAppUnfurlMetadata,omitempty"` + + CustomEmojiMetadata *AppsDynamiteCustomEmojiMetadata `json:"customEmojiMetadata,omitempty"` + + DataLossPreventionMetadata *AppsDynamiteDataLossPreventionMetadata `json:"dataLossPreventionMetadata,omitempty"` + + // DriveMetadata: Chip annotations + DriveMetadata *AppsDynamiteDriveMetadata `json:"driveMetadata,omitempty"` + + FormatMetadata *AppsDynamiteFormatMetadata `json:"formatMetadata,omitempty"` + + GroupRetentionSettingsUpdated *AppsDynamiteGroupRetentionSettingsUpdatedMetaData `json:"groupRetentionSettingsUpdated,omitempty"` + + // GsuiteIntegrationMetadata: Metadata for 1P integrations like tasks, + // calendar. These are supported only through integration server as 1P + // integrations use the integration API (which in turn uses backend API + // with special permissions) to post messages. Clients should never set + // this. LINT.IfChange + GsuiteIntegrationMetadata *AppsDynamiteGsuiteIntegrationMetadata `json:"gsuiteIntegrationMetadata,omitempty"` + + IncomingWebhookChangedMetadata *AppsDynamiteIncomingWebhookChangedMetadata `json:"incomingWebhookChangedMetadata,omitempty"` + + // IntegrationConfigUpdated: + // LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backe + // nd/action/common/SystemMessageHelper.java) + IntegrationConfigUpdated *AppsDynamiteIntegrationConfigUpdatedMetadata `json:"integrationConfigUpdated,omitempty"` + + // Length: Length of the text_body substring beginning from start_index + // the Annotation corresponds to. + Length int64 `json:"length,omitempty"` + + // LocalId: A unique client-assigned ID for this annotation. This is + // helpful in matching the back-filled annotations to the original + // annotations on client side, without having to re-parse the message. + LocalId string `json:"localId,omitempty"` + + // MembershipChanged: Metadata for system messages. Clients should never + // set this. LINT.IfChange + MembershipChanged *AppsDynamiteMembershipChangedMetadata `json:"membershipChanged,omitempty"` + + ReadReceiptsSettingsMetadata *AppsDynamiteReadReceiptsSettingsUpdatedMetadata `json:"readReceiptsSettingsMetadata,omitempty"` + + // RequiredMessageFeaturesMetadata: Metadata that defines all of the + // required features that must be rendered in the message. Clients can + // use this to see whether they support the entire message, or show a + // fallback chip otherwise. See go/message-quoting-client-to-server for + // details. LINT.ThenChange( + // //depot/google3/java/com/google/apps/dynamite/v1/allshared/parser/Anno + // tationSanitizer.java, + // //depot/google3/java/com/google/apps/dynamite/v1/backend/action/common + // /SystemMessageHelper.java, + // //depot/google3/java/com/google/caribou/eli/mediation/chat/AnnotationT + // ranslator.java ) + RequiredMessageFeaturesMetadata *AppsDynamiteRequiredMessageFeaturesMetadata `json:"requiredMessageFeaturesMetadata,omitempty"` + + RoomUpdated *AppsDynamiteRoomUpdatedMetadata `json:"roomUpdated,omitempty"` + + // ServerInvalidated: Whether or not the annotation is invalidated by + // the server. Example of situations for invalidation include: when the + // URL is malformed, or when Drive item ID is rejected by Drive Service. + ServerInvalidated bool `json:"serverInvalidated,omitempty"` + + SlashCommandMetadata *AppsDynamiteSlashCommandMetadata `json:"slashCommandMetadata,omitempty"` + + // StartIndex: Start index (0-indexed) of the Message text the + // Annotation corresponds to, inclusive. + StartIndex int64 `json:"startIndex,omitempty"` + + // Type: Type of the Annotation. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE. + // "URL" - These can have overlaps, i.e. same message can have + // multiple of these. For example a Drive link to a PDF can have URL, + // DRIVE_FILE and PDF all set Links + // "DRIVE_FILE" - Any drive file + // "DRIVE_DOC" + // "DRIVE_SHEET" + // "DRIVE_SLIDE" + // "DRIVE_FORM" + // "USER_MENTION" + // "SLASH_COMMAND" + // "CONSENTED_APP_UNFURL" + // "VIDEO" - Any video, not just youtube, the url decides how to play + // "FORMAT_DATA" - UI should not be concerned with FORMAT_DATA + // "IMAGE" + // "PDF" + // "VIDEO_CALL" - For Thor integration + // "UPLOAD_METADATA" - Blobstore uploads + // "GSUITE_INTEGRATION" - Generic annotation for gsuite integrations + // "CUSTOM_EMOJI" + // "CARD_CAPABILITY" - Card capability for in-stream widgets. + // "DATA_LOSS_PREVENTION" + // "REQUIRED_MESSAGE_FEATURES_METADATA" - Clients can use this to see + // whether they support the entire message, or show a fallback chip + // otherwise. + // "MEMBERSHIP_CHANGED" - Annotation types for system messages. + // Clients should never set this. + // "ROOM_UPDATED" + // "GROUP_RETENTION_SETTINGS_UPDATED" + // "BABEL_PLACEHOLDER" + // "READ_RECEIPTS_SETTINGS_UPDATED" + // "INCOMING_WEBHOOK_CHANGED" + // "INTEGRATION_CONFIG_UPDATED" + // "INVITATION" - Message-level annotations. First message of an + // invite. Should not be set by clients. + Type string `json:"type,omitempty"` + + // UniqueId: A unique server-assigned ID for this annotation. This is + // helpful in matching annotation objects when fetched from service. + UniqueId string `json:"uniqueId,omitempty"` + + UploadMetadata *AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` + + UrlMetadata *AppsDynamiteUrlMetadata `json:"urlMetadata,omitempty"` + + // UserMentionMetadata: Metadata that clients can set for annotations. + // LINT.IfChange In-text annotations + UserMentionMetadata *AppsDynamiteUserMentionMetadata `json:"userMentionMetadata,omitempty"` + + VideoCallMetadata *AppsDynamiteVideoCallMetadata `json:"videoCallMetadata,omitempty"` + + YoutubeMetadata *AppsDynamiteYoutubeMetadata `json:"youtubeMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "BabelPlaceholderMetadata") 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. "BabelPlaceholderMetadata") + // 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 *AppsDynamiteAnnotation) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteAnnotation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteAppId: Identifier of an App. +type AppsDynamiteAppId struct { // AppType: Enum indicating the type of App this is. // // Possible values: @@ -603,98 +891,126 @@ type AppId struct { NullFields []string `json:"-"` } -func (s *AppId) MarshalJSON() ([]byte, error) { - type NoMethod AppId +func (s *AppsDynamiteAppId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteAppId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AuditLoggingSettings: Represents the settings for Cloud audit logging -type AuditLoggingSettings struct { - // LogAdminReadActions: Indicates whether audit logging is on/off for - // admin activity read APIs i.e. Get/List DataSources, Get/List - // SearchApplications etc. - LogAdminReadActions bool `json:"logAdminReadActions,omitempty"` +// AppsDynamiteAttachment: Attachments that follow the message text. +type AppsDynamiteAttachment struct { + // AddOnData: Revised version of Gmail AddOn attachment approved by API + // design review. + AddOnData *GoogleChatV1ContextualAddOnMarkup `json:"addOnData,omitempty"` - // LogDataReadActions: Indicates whether audit logging is on/off for - // data access read APIs i.e. ListItems, GetItem etc. - LogDataReadActions bool `json:"logDataReadActions,omitempty"` + // AppId: The userId for the bot/app that created this data, to be used + // for attribution of attachments when the attachment was not created by + // the message sender. + AppId *AppsDynamiteUserId `json:"appId,omitempty"` - // LogDataWriteActions: Indicates whether audit logging is on/off for - // data access write APIs i.e. IndexItem etc. - LogDataWriteActions bool `json:"logDataWriteActions,omitempty"` + // AttachmentId: To identify an attachment within repeated in a message + AttachmentId string `json:"attachmentId,omitempty"` - // Project: The resource name of the GCP Project to store audit logs. - // Cloud audit logging will be enabled after project_name has been - // updated through CustomerService. Format: projects/{project_id} - Project string `json:"project,omitempty"` + // CardAddOnData: Card AddOn attachment with the possibility for + // specifying editable widgets. + CardAddOnData *AppsDynamiteSharedCard `json:"cardAddOnData,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogAdminReadActions") - // to unconditionally include in API requests. By default, fields with + // DeprecatedAddOnData: Deprecated version of Gmail AddOn attachment. + DeprecatedAddOnData *ContextualAddOnMarkup `json:"deprecatedAddOnData,omitempty"` + + // SlackData: Slack attachment. + SlackData *AppsDynamiteV1ApiCompatV1Attachment `json:"slackData,omitempty"` + + // SlackDataImageUrlHeight: The height of image url as fetched by fife. + // This field is asynchronously filled. + SlackDataImageUrlHeight int64 `json:"slackDataImageUrlHeight,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AddOnData") 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. "LogAdminReadActions") 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. "AddOnData") 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 *AuditLoggingSettings) MarshalJSON() ([]byte, error) { - type NoMethod AuditLoggingSettings +func (s *AppsDynamiteAttachment) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteAttachment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AvatarInfo struct { - Emoji *Emoji `json:"emoji,omitempty"` +// AppsDynamiteBabelMessageProps: Container for Babel (Hangouts Classic) +// only message properties. The properties here will not be consumed by +// Dynamite clients. They are relevant only for Hangouts Classic. +type AppsDynamiteBabelMessageProps struct { + // ClientGeneratedId: Babel clients locally generate this ID to dedupe + // against the async fanout. + ClientGeneratedId int64 `json:"clientGeneratedId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Emoji") to - // unconditionally include in API requests. By default, fields with + // ContentExtension: Stores additional Babel-specific properties (such + // as event metadata). + ContentExtension *ChatContentExtension `json:"contentExtension,omitempty"` + + // DeliveryMedium: Stores the delivery source of messages (such as phone + // number for SMS). + DeliveryMedium *DeliveryMedium `json:"deliveryMedium,omitempty"` + + // EventId: Primary identifier used by Hangouts Classic for its events + // (messages). + EventId string `json:"eventId,omitempty"` + + // MessageContent: Stores message segments (text content) and + // attachments (media URLs). + MessageContent *MessageContent `json:"messageContent,omitempty"` + + // WasUpdatedByBackfill: Whether or not these message properties were + // backfilled by go/dinnertrain. + WasUpdatedByBackfill bool `json:"wasUpdatedByBackfill,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClientGeneratedId") + // 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. "Emoji") 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. "ClientGeneratedId") 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 *AvatarInfo) MarshalJSON() ([]byte, error) { - type NoMethod AvatarInfo +func (s *AppsDynamiteBabelMessageProps) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBabelMessageProps raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// BooleanOperatorOptions: Used to provide a search operator for boolean -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -type BooleanOperatorOptions struct { - // OperatorName: Indicates the operator name required in the query in - // order to isolate the boolean property. For example, if operatorName - // is *closed* and the property's name is *isClosed*, then queries like - // *closed:* show results only where the value of the property - // named *isClosed* matches **. By contrast, a search that uses - // the same ** without an operator returns all items where - // ** matches the value of any String properties or text within - // the content field for the item. The operator name can only contain - // lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` +// AppsDynamiteBabelPlaceholderMetadata: Annotation metadata for +// Babel-only items that signals which type of placeholder message +// should be displayed in Babel clients. +type AppsDynamiteBabelPlaceholderMetadata struct { + DeleteMetadata *AppsDynamiteBabelPlaceholderMetadataDeleteMetadata `json:"deleteMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + EditMetadata *AppsDynamiteBabelPlaceholderMetadataEditMetadata `json:"editMetadata,omitempty"` + + HangoutVideoMetadata *AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata `json:"hangoutVideoMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeleteMetadata") 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 @@ -702,28 +1018,44 @@ type BooleanOperatorOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") 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. "DeleteMetadata") 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 *BooleanOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod BooleanOperatorOptions +func (s *AppsDynamiteBabelPlaceholderMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBabelPlaceholderMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// BooleanPropertyOptions: The options for boolean properties. -type BooleanPropertyOptions struct { - // OperatorOptions: If set, describes how the boolean should be used as - // a search operator. - OperatorOptions *BooleanOperatorOptions `json:"operatorOptions,omitempty"` +// AppsDynamiteBabelPlaceholderMetadataDeleteMetadata: A message delete +// in Dynamite inserts a Babel-only item containing this field. This is +// only inserted for messages before the source-of-truth flip. See +// go/hsc-message-deletions for more details. +type AppsDynamiteBabelPlaceholderMetadataDeleteMetadata struct { +} - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to +// AppsDynamiteBabelPlaceholderMetadataEditMetadata: A message edit in +// Dynamite inserts a Babel-only item containing this field. +type AppsDynamiteBabelPlaceholderMetadataEditMetadata struct { +} + +// AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata: A +// message representing the Hangout video start/end events in Babel +type AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata struct { + // Possible values: + // "UNKNOWN_HANGOUT_VIDEO_EVENT_TYPE" + // "VIDEO_START" + // "VIDEO_END" + HangoutVideoType string `json:"hangoutVideoType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HangoutVideoType") 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 @@ -731,7 +1063,7 @@ type BooleanPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") to + // NullFields is a list of field names (e.g. "HangoutVideoType") 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 @@ -741,22 +1073,107 @@ type BooleanPropertyOptions struct { NullFields []string `json:"-"` } -func (s *BooleanPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod BooleanPropertyOptions +func (s *AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type CheckAccessResponse struct { - // HasAccess: Returns true if principal has access. Returns false - // otherwise. - HasAccess bool `json:"hasAccess,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "HasAccess") to +// AppsDynamiteBackendDlpScanSummary: A summary of a DLP scan event. +// This is a summary and should contain the minimum amount of data +// required to identify and process DLP scans. It is written to Starcast +// and encoded & returned to the client on attachment upload. +type AppsDynamiteBackendDlpScanSummary struct { + // ScanId: The scan ID of the corresponding {@link + // DlpViolationScanRecord} in the {@link EphemeralDlpScans} Spanner + // table. This can be used to fetch additional details about the scan, + // e.g. for audit logging. + ScanId string `json:"scanId,omitempty"` + + // ScanNotApplicableForContext: Indicates that was no attempt to scan a + // message or attachment because it was not applicable in the given + // context (e.g. atomic mutuate). If this is true, scan_outcome should + // not be set. This flag is used to identify messages that DLP did not + // attempt to scan for monitoring scan coverage. Contents that DLP + // attempted to scan but skipped can be identified by + // DlpScanOutcome.SCAN_SKIPPED_* reasons. + ScanNotApplicableForContext bool `json:"scanNotApplicableForContext,omitempty"` + + // ScanOutcome: The outcome of a DLP Scan. If this is set, + // scan_not_applicable_for_context should not be true. + // + // Possible values: + // "SCAN_UNKNOWN_OUTCOME" + // "SCAN_SUCCEEDED_NO_VIOLATION" - This means no violation is detected + // on the given message/attachment. + // "SCAN_SUCCEEDED_BLOCK" - Violation is detected. The + // message/attachment will be blocked (or deleted if this happens in + // failure recovery), the user will be warned, and the violation will be + // logged to BIP. + // "SCAN_SUCCEEDED_WARN" - Violation is detected. The user will be + // warned, and the violation will be logged to BIP. + // "SCAN_SUCCEEDED_AUDIT_ONLY" - Violation is detected and will be + // logged to BIP (no user-facing action performed). + // "SCAN_FAILURE_EXCEPTION" - Rule fetch and evaluation were attempted + // but an exception occurred. + // "SCAN_FAILURE_TIMEOUT" - Rule fetch and evaluation were attempted + // but the scanning timed out. + // "SCAN_FAILURE_ALL_RULES_FAILED" - Rule fetch completed and + // evaluation were attempted, but all of the rules failed to be + // evaluated. + // "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS" - An + // IllegalStateException is thrown when executing DLP on attachments. + // This could happen if the space row is missing. + // "SCAN_SKIPPED_EXPERIMENT_DISABLED" - Rule fetch and evaluation is + // skipped because DLP is not enabled for the user. + // "SCAN_SKIPPED_CONSUMER" - Rule fetch and evaluation are skipped + // because the user sending message is consumer. + // "SCAN_SKIPPED_NON_HUMAN_USER" - Rule fetch and evaluation are + // skipped because the user sending message is a non-human user (i.e. a + // bot). + // "SCAN_SKIPPED_NO_MESSAGE" - Rule fetch and evaluation are skipped + // because there is no message to scan. Deprecated: this should not + // happen since there must be message or attachment for DLP scan. + // "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING" - Rule fetch and + // evaluation are skipped because the user has acknowledged the warning + // on the message that triggered the Warn violation and sent the message + // anyway. + // "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN" - Scanning was + // skipped because the message originated from Interop or Babel. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND" - Rule fetch + // happened, but rule evaluation is skipped because no rules were found. + // + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS" + // - Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given action params. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER" - + // Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given trigger. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned permanent failure while converting the attachment to text. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned an empty response while converting the attachment to text. + // "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION" - Rules were fetched + // but some evaluations failed. No violation was found in the rules that + // were successfully evaluated. + // "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK" - Rules were fetched but some + // evaluations failed. A blocking violation was found in the rules that + // were successfully evaluated. The message/attachment will be blocked, + // the user will be notified, and the violation will be logged to BIP. A + // blocking violation takes precedence over all other violation types. + // "SCAN_SUCCEEDED_WITH_FAILURES_WARN" - Rules were fetched but some + // evaluations failed. A warn violation was found in the rules that were + // successfully evaluated. The user will be warned, and the violation + // will be logged to BIP. + // "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" - Rules were fetched but + // some evaluations failed. An audit-only violation was found in the + // rules that were successfully evaluated. The violation will be logged + // to BIP (no user-facing action performed). + ScanOutcome string `json:"scanOutcome,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ScanId") 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 @@ -764,8 +1181,8 @@ type CheckAccessResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HasAccess") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "ScanId") 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. @@ -773,26 +1190,26 @@ type CheckAccessResponse struct { NullFields []string `json:"-"` } -func (s *CheckAccessResponse) MarshalJSON() ([]byte, error) { - type NoMethod CheckAccessResponse +func (s *AppsDynamiteBackendDlpScanSummary) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBackendDlpScanSummary raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type CompositeFilter struct { - // LogicOperator: The logic operator of the sub filter. - // - // Possible values: - // "AND" - Logical operators, which can only be applied to sub - // filters. - // "OR" - // "NOT" - NOT can only be applied on a single sub filter. - LogicOperator string `json:"logicOperator,omitempty"` +// AppsDynamiteBackendLabelsCommunalLabelTag: An individual instance (or +// "tag") of a label configured as a communal type that's associated +// with a message. +type AppsDynamiteBackendLabelsCommunalLabelTag struct { + // CreatorUserId: Gaia ID of the user who added the tag, if any. Not + // present for any tags automatically created by server-side processing. + CreatorUserId int64 `json:"creatorUserId,omitempty,string"` - // SubFilters: Sub filters. - SubFilters []*Filter `json:"subFilters,omitempty"` + // LabelId: A string ID representing the label. Possible ID values are + // documented at go/chat-labels-howto:ids. Example: "^*t_p" for + // "Pinned". + LabelId string `json:"labelId,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogicOperator") to + // ForceSendFields is a list of field names (e.g. "CreatorUserId") 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 @@ -800,7 +1217,7 @@ type CompositeFilter struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogicOperator") to include + // NullFields is a list of field names (e.g. "CreatorUserId") 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 @@ -809,29 +1226,72 @@ type CompositeFilter struct { NullFields []string `json:"-"` } -func (s *CompositeFilter) MarshalJSON() ([]byte, error) { - type NoMethod CompositeFilter +func (s *AppsDynamiteBackendLabelsCommunalLabelTag) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBackendLabelsCommunalLabelTag raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ContextAttribute: A named attribute associated with an item which can -// be used for influencing the ranking of the item based on the context -// in the request. -type ContextAttribute struct { - // Name: The name of the attribute. It should not be empty. The maximum - // length is 32 characters. The name must start with a letter and can - // only contain letters (A-Z, a-z) or numbers (0-9). The name will be - // normalized (lower-cased) before being matched. - Name string `json:"name,omitempty"` +// AppsDynamiteBackendLabelsPersonalLabelTag: An individual instance (or +// "tag") of a label configured as a personal type that's associated +// with a message. +type AppsDynamiteBackendLabelsPersonalLabelTag struct { + // LabelId: A string ID representing the label. Possible ID values are + // documented at go/chat-labels-howto:ids. Examples: "^t" for "Starred", + // "^nu" for "Nudged". + LabelId string `json:"labelId,omitempty"` - // Values: Text values of the attribute. The maximum number of elements - // is 10. The maximum length of an element in the array is 32 - // characters. The value will be normalized (lower-cased) before being - // matched. - Values []string `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "LabelId") 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:"-"` - // ForceSendFields is a list of field names (e.g. "Name") to + // NullFields is a list of field names (e.g. "LabelId") 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 *AppsDynamiteBackendLabelsPersonalLabelTag) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBackendLabelsPersonalLabelTag + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteBotResponse: Information about a bot response, branched +// from shared/bot_response.proto without frontend User proto as we +// never store it. +type AppsDynamiteBotResponse struct { + BotId *AppsDynamiteUserId `json:"botId,omitempty"` + + // Possible values: + // "UNKNOWN_SETUP_TYPE" + // "CONFIGURATION" - Bot requires configuration. + // "AUTHENTICATION" - Bot requires authentication. + RequiredAction string `json:"requiredAction,omitempty"` + + // Possible values: + // "UNKNOWN_RESPONSE_TYPE" + // "ERROR" - Bot fails to respond because of deadline_exceeded or + // failing to parse bot message. + // "SETUP_REQUIRED" - Bot requires auth or config + // "DISABLED_BY_ADMIN" - Bot fails to respond because it is disabled + // by domain admin + // "DISABLED_BY_DEVELOPER" - Bot fails to respond because it is + // disabled by the bot's developer + // "PRIVATE" - Message to bot should be permanently private. + ResponseType string `json:"responseType,omitempty"` + + // SetupUrl: URL for setting up bot. + SetupUrl string `json:"setupUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BotId") 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 @@ -839,7 +1299,7 @@ type ContextAttribute struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API + // NullFields is a list of field names (e.g. "BotId") 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 @@ -848,142 +1308,157 @@ type ContextAttribute struct { NullFields []string `json:"-"` } -func (s *ContextAttribute) MarshalJSON() ([]byte, error) { - type NoMethod ContextAttribute +func (s *AppsDynamiteBotResponse) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteBotResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CustomEmoji: Proto representation of a custom emoji. May be used in -// both APIs and in Spanner, but certain fields should be restricted to -// one or the other. See the per-field documentation for details. -// NEXT_TAG: 14 -type CustomEmoji struct { - // BlobId: ID for the underlying image data in Blobstore. This field - // should *only* be present in Spanner or within the server, but should - // not be exposed in public APIs. - BlobId string `json:"blobId,omitempty"` +type AppsDynamiteCardCapabilityMetadata struct { + // RequiredCapabilities: NEXT TAG : 2 + // + // Possible values: + // "UNKNOWN" + // "SUPPORTS_BASE_CARDS" - NEXT TAG : 2 + RequiredCapabilities []string `json:"requiredCapabilities,omitempty"` - // ContentType: Content type of the file used to upload the emoji. Used - // for takeout. Written to Spanner when the emoji is created. - ContentType string `json:"contentType,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "RequiredCapabilities") 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:"-"` - // CreateTimeMicros: Time when the Emoji was created, in microseconds. - // This field may be present in Spanner, within the server, or in public - // APIs. - CreateTimeMicros int64 `json:"createTimeMicros,omitempty,string"` + // NullFields is a list of field names (e.g. "RequiredCapabilities") 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:"-"` +} - // CreatorUserId: This field should *never* be persisted to Spanner. - CreatorUserId *UserId `json:"creatorUserId,omitempty"` +func (s *AppsDynamiteCardCapabilityMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteCardCapabilityMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // DeleteTimeMicros: Time when the emoji was deleted, in microseconds. - // This field may be present in Spanner, within the server, or in public - // APIs. Only present if the emoji has been deleted. - DeleteTimeMicros int64 `json:"deleteTimeMicros,omitempty,string"` +// AppsDynamiteConsentedAppUnfurlMetadata: Annotation metadata app +// unfurl consent. +type AppsDynamiteConsentedAppUnfurlMetadata struct { + // ClientSpecifiedAppId: Client specified AppId, which will not be + // sanitized and is untrusted. + ClientSpecifiedAppId *AppsDynamiteUserId `json:"clientSpecifiedAppId,omitempty"` - // EphemeralUrl: Output only. A short-lived URL clients can use for - // directly accessing a custom emoji image. This field is intended for - // API consumption, and should *never* be persisted to Spanner. - EphemeralUrl string `json:"ephemeralUrl,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "ClientSpecifiedAppId") 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:"-"` - // OwnerCustomerId: This field should *never* be persisted to Spanner. - OwnerCustomerId *CustomerId `json:"ownerCustomerId,omitempty"` + // NullFields is a list of field names (e.g. "ClientSpecifiedAppId") 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:"-"` +} - // ReadToken: Opaque token that clients use to construct the URL for - // accessing the custom emoji’s image data. This field is intended for - // API consumption, and should *never* be persisted to Spanner. - ReadToken string `json:"readToken,omitempty"` +func (s *AppsDynamiteConsentedAppUnfurlMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteConsentedAppUnfurlMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Shortcode: User-provided, human-readable ID for the custom emoji. - // Users are expected to observe this field in the UI instead of the - // UUID. This shortcode should be unique within an organization, but has - // no global uniqueness guarantees, unlike the UUID. This field should - // *never* be persisted to Spanner. - Shortcode string `json:"shortcode,omitempty"` +type AppsDynamiteContentReport struct { + // ReportCreateTimestamp: The time at which the report is generated. + // Always populated when it is in a response. + ReportCreateTimestamp string `json:"reportCreateTimestamp,omitempty"` - // State: Snapshot of the current state of the emoji, which may differ - // from the source-of-truth in the CustomEmojis table. This field should - // *never* be persisted to Spanner. - // - // Possible values: - // "EMOJI_STATE_UNSPECIFIED" - // "EMOJI_ENABLED" - Emoji is visible and available to be used, - // subject to access control requirements. - // "EMOJI_SYSTEM_DISABLED" - Emoji can no longer be used (e.g. due to - // a shortcode conflict), but is not removed from existing embeddings. - // "EMOJI_HIDDEN" - Emoji is hidden from pickers, so new usages are - // not allowed, but is not removed from existing embeddings. - // "EMOJI_DELETED" - Emoji is removed everywhere and is not available - // to end-users. - State string `json:"state,omitempty"` + // ReportJustification: Additional user-provided justification on the + // report. Optional. + ReportJustification *AppsDynamiteContentReportJustification `json:"reportJustification,omitempty"` - UpdateTimeMicros int64 `json:"updateTimeMicros,omitempty,string"` + // ReportType: Type of the report. Always populated when it is in a + // response. + ReportType *AppsDynamiteSharedContentReportType `json:"reportType,omitempty"` - // Uuid: Unique key for a custom emoji resource. Required. This field is - // *always* populated. - Uuid string `json:"uuid,omitempty"` + // ReporterUserId: User ID of the reporter. Always populated when it is + // in a response. + ReporterUserId *AppsDynamiteUserId `json:"reporterUserId,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobId") 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. + // RevisionCreateTimestamp: Create timestamp of the revisions of the + // message when it's reported. Always populated when it is in a + // response. + RevisionCreateTimestamp string `json:"revisionCreateTimestamp,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ReportCreateTimestamp") 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. "BlobId") 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. "ReportCreateTimestamp") 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 *CustomEmoji) MarshalJSON() ([]byte, error) { - type NoMethod CustomEmoji +func (s *AppsDynamiteContentReport) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteContentReport raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CustomerId: Represents a GSuite customer ID. Obfuscated with -// CustomerIdObfuscator. -type CustomerId struct { - CustomerId string `json:"customerId,omitempty"` +type AppsDynamiteContentReportJustification struct { + // UserJustification: Optional. User-generated free-text justification + // for the content report. + UserJustification string `json:"userJustification,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomerId") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "UserJustification") + // 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. "CustomerId") 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. "UserJustification") 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 *CustomerId) MarshalJSON() ([]byte, error) { - type NoMethod CustomerId +func (s *AppsDynamiteContentReportJustification) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteContentReportJustification raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CustomerIndexStats: Aggregation of items by status code as of the -// specified date. -type CustomerIndexStats struct { - // Date: The date for which statistics were calculated. - Date *Date `json:"date,omitempty"` - - // ItemCountByStatus: Number of items aggregrated by status code. - ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` +type AppsDynamiteCustomEmojiMetadata struct { + CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to + // ForceSendFields is a list of field names (e.g. "CustomEmoji") 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 @@ -991,29 +1466,27 @@ type CustomerIndexStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") 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. "CustomEmoji") 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 *CustomerIndexStats) MarshalJSON() ([]byte, error) { - type NoMethod CustomerIndexStats +func (s *AppsDynamiteCustomEmojiMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteCustomEmojiMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type CustomerQueryStats struct { - // Date: The date for which query stats were calculated. Stats - // calculated on the next day close to midnight are returned. - Date *Date `json:"date,omitempty"` - - QueryCountByStatus []*QueryCountByStatus `json:"queryCountByStatus,omitempty"` +// AppsDynamiteCustomerId: Represents a GSuite customer ID. Obfuscated +// with CustomerIdObfuscator. +type AppsDynamiteCustomerId struct { + CustomerId string `json:"customerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to + // ForceSendFields is a list of field names (e.g. "CustomerId") 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 @@ -1021,8 +1494,8 @@ type CustomerQueryStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "CustomerId") 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. @@ -1030,22 +1503,27 @@ type CustomerQueryStats struct { NullFields []string `json:"-"` } -func (s *CustomerQueryStats) MarshalJSON() ([]byte, error) { - type NoMethod CustomerQueryStats +func (s *AppsDynamiteCustomerId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteCustomerId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CustomerSearchApplicationStats: Search application stats for a -// customer for the given date. -type CustomerSearchApplicationStats struct { - // Count: The count of search applications for the date. - Count int64 `json:"count,omitempty,string"` +// AppsDynamiteDataLossPreventionMetadata: Annotation metadata for Data +// Loss Prevention that pertains to DLP violation on message send or +// edit events. It is used for client -> BE communication and other +// downstream process in BE (e.g. storage and audit logging), and it +// should never be returned to the client. +type AppsDynamiteDataLossPreventionMetadata struct { + // DlpScanSummary: The DLP scan summary that should only be set after + // the message is scanned in the Chat backend. + DlpScanSummary *AppsDynamiteBackendDlpScanSummary `json:"dlpScanSummary,omitempty"` - // Date: The date for which search application stats were calculated. - Date *Date `json:"date,omitempty"` + // WarnAcknowledged: Flag set by client on message resend to bypass WARN + // violation. + WarnAcknowledged bool `json:"warnAcknowledged,omitempty"` - // ForceSendFields is a list of field names (e.g. "Count") to + // ForceSendFields is a list of field names (e.g. "DlpScanSummary") 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 @@ -1053,31 +1531,27 @@ type CustomerSearchApplicationStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Count") 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. "DlpScanSummary") 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 *CustomerSearchApplicationStats) MarshalJSON() ([]byte, error) { - type NoMethod CustomerSearchApplicationStats +func (s *AppsDynamiteDataLossPreventionMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDataLossPreventionMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type CustomerSessionStats struct { - // Date: The date for which session stats were calculated. Stats are - // calculated on the following day, close to midnight PST, and then - // returned. - Date *Date `json:"date,omitempty"` - - // SearchSessionsCount: The count of search sessions on the day - SearchSessionsCount int64 `json:"searchSessionsCount,omitempty,string"` +type AppsDynamiteDmId struct { + // DmId: Unique server assigned Id, per Direct Message Space. + DmId string `json:"dmId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to + // ForceSendFields is a list of field names (e.g. "DmId") 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 @@ -1085,7 +1559,7 @@ type CustomerSessionStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") to include in API + // NullFields is a list of field names (e.g. "DmId") 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 @@ -1094,38 +1568,188 @@ type CustomerSessionStats struct { NullFields []string `json:"-"` } -func (s *CustomerSessionStats) MarshalJSON() ([]byte, error) { - type NoMethod CustomerSessionStats +func (s *AppsDynamiteDmId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDmId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CustomerSettings: Represents settings at a customer level. -type CustomerSettings struct { - // AuditLoggingSettings: Audit Logging settings for the customer. If - // update_mask is empty then this field will be updated based on - // UpdateCustomerSettings request. - AuditLoggingSettings *AuditLoggingSettings `json:"auditLoggingSettings,omitempty"` +// AppsDynamiteDriveMetadata: Annotation metadata for Drive artifacts. +type AppsDynamiteDriveMetadata struct { + AclFixRequest *AppsDynamiteDriveMetadataAclFixRequest `json:"aclFixRequest,omitempty"` - // VpcSettings: VPC SC settings for the customer. If update_mask is - // empty then this field will be updated based on UpdateCustomerSettings - // request. - VpcSettings *VPCSettings `json:"vpcSettings,omitempty"` + AclFixStatus *AppsDynamiteDriveMetadataAclFixStatus `json:"aclFixStatus,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // CanEdit: Can the current user edit this resource + CanEdit bool `json:"canEdit,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AuditLoggingSettings") 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. + // CanShare: Can the current user share this resource + CanShare bool `json:"canShare,omitempty"` + + // CanView: Can the current user view this resource + CanView bool `json:"canView,omitempty"` + + // DriveAction: DriveAction for organizing this file in Drive. If the + // user does not have access to the Drive file, the value will be + // DriveAction.DRIVE_ACTION_UNSPECIFIED. This field is only set when + // part of a FileResult in a ListFilesResponse. + // + // Possible values: + // "DRIVE_ACTION_UNSPECIFIED" - No organize action should be shown. + // "ADD_TO_DRIVE" - Show "Add to Drive" button, for adding file that + // doesn't exist in Drive to Drive. Note that deleted Drive files that + // still exist (i.e. in your Trash) will still be ORGANIZE (this is + // consistent with Gmail Drive attachments). + // "ORGANIZE" - Show "Move" button, for organizing a Drive file the + // user has permission to move. + // "ADD_SHORTCUT" - Show "Add shortcut" button, for adding a shortcut + // to a Drive file the user does not have permission to move. + // "ADD_ANOTHER_SHORTCUT" - Show "Add another shortcut" button, for + // Drive files the user has already created a shortcut to. + DriveAction string `json:"driveAction,omitempty"` + + // Possible values: + // "DRIVE_STATE_UNSPECIFIED" - Default value + // "IN_MY_DRIVE" - File in My Drive + // "IN_TEAM_DRIVE" - File in Team Drive + // "SHARED_IN_DRIVE" - File in someone else's Drive, but is shared + // with the current user + // "NOT_IN_DRIVE" - File not in drive + DriveState string `json:"driveState,omitempty"` + + // EmbedUrl: Output only. Trusted Resource URL for drive file embedding. + EmbedUrl *TrustedResourceUrlProto `json:"embedUrl,omitempty"` + + // EncryptedDocId: Indicates whether the Drive link contains an + // encrypted doc ID. If true, Dynamite should not attempt to query the + // doc ID in Drive Service. See go/docid-encryption for details. + EncryptedDocId bool `json:"encryptedDocId,omitempty"` + + // EncryptedResourceKey: This is deprecated and unneeded. TODO + // (b/182479059): Remove this. + EncryptedResourceKey string `json:"encryptedResourceKey,omitempty"` + + // ExternalMimetype: External mimetype of the Drive Resource (Useful for + // creating Drive URL) See: http://b/35219462 + ExternalMimetype string `json:"externalMimetype,omitempty"` + + // Id: Drive resource ID of the artifact. + Id string `json:"id,omitempty"` + + // IsDownloadRestricted: Deprecated. Whether the setting to restrict + // downloads is enabled for this file. This was previously used to + // determine whether to hide the download and print buttons in the UI, + // but is no longer used by clients, because Projector now independently + // queries Drive to ensure that we have the most up-to-date value. + IsDownloadRestricted bool `json:"isDownloadRestricted,omitempty"` + + // IsOwner: If the current user is the Drive file's owner. The field is + // currently only set for Annotations for the ListFiles action (as + // opposed to fetching Topics/Messages with Drive annotations). + IsOwner bool `json:"isOwner,omitempty"` + + // LegacyUploadMetadata: Only present if this DriveMetadata is converted + // from an UploadMetadata. + LegacyUploadMetadata *AppsDynamiteDriveMetadataLegacyUploadMetadata `json:"legacyUploadMetadata,omitempty"` + + // Mimetype: Mimetype of the Drive Resource + Mimetype string `json:"mimetype,omitempty"` + + // OrganizationDisplayName: The display name of the organization owning + // the Drive item. + OrganizationDisplayName string `json:"organizationDisplayName,omitempty"` + + // ShortcutAuthorizedItemId: Shortcut ID of this drive file in the + // shared drive, which is associated with a named room this file was + // shared in. Shortcuts will not be created for DMs or unnamed rooms. + // This is populated after the DriveMetadata is migrated to shared + // drive. go/chat-shared-drive-uploads. + ShortcutAuthorizedItemId *AuthorizedItemId `json:"shortcutAuthorizedItemId,omitempty"` + + // ShouldNotRender: If this field is set to true, server should still + // contact external backends to get metadata for search but clients + // should not render this chip. + ShouldNotRender bool `json:"shouldNotRender,omitempty"` + + // ThumbnailHeight: Thumbnail image of the Drive Resource + ThumbnailHeight int64 `json:"thumbnailHeight,omitempty"` + + // ThumbnailUrl: Thumbnail image of the Drive Resource + ThumbnailUrl string `json:"thumbnailUrl,omitempty"` + + // ThumbnailWidth: Thumbnail image of the Drive Resource + ThumbnailWidth int64 `json:"thumbnailWidth,omitempty"` + + // Title: Title of the Drive Resource + Title string `json:"title,omitempty"` + + // UrlFragment: Url string fragment that generally indicates the + // specific location in the linked file. Example: #header=h.123abc456. + // If the fragment is not present this will not be present and therefore + // default to an empty string. The "#" will not be included. + UrlFragment string `json:"urlFragment,omitempty"` + + // WrappedResourceKey: This is considered SPII and should not be logged. + WrappedResourceKey *WrappedResourceKey `json:"wrappedResourceKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AclFixRequest") 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. "AuditLoggingSettings") to + // NullFields is a list of field names (e.g. "AclFixRequest") 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 *AppsDynamiteDriveMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDriveMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteDriveMetadataAclFixRequest: The request set by clients to +// instruct Backend how the user intend to fix the ACL. Technically it's +// not a request to ACL Fixer, because Backend uses /DriveService.Share +// to modify Drive ACLs. +type AppsDynamiteDriveMetadataAclFixRequest struct { + // RecipientEmails: For Spaces messages: This field is ignored. For DMs + // messages: The list of email addresses that should be added to the + // Drive item's ACL. In general, the list should not be empty when the + // boolean "should_fix" field is set; otherwise, the list should be + // empty. During transition - when clients do not specify this field but + // the "should_fix" is true, we follow the legacy behavior: share to all + // users in the DM regardless of emails. This behavior is being phased + // out. + RecipientEmails []string `json:"recipientEmails,omitempty"` + + // Possible values: + // "UNKNOWN" + // "READER" + // "COMMENTER" + // "WRITER" + Role string `json:"role,omitempty"` + + // ShouldFix: Whether to attempt to fix the ACL by adding the room or DM + // members to the Drive file's ACL. + ShouldFix bool `json:"shouldFix,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RecipientEmails") 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. "RecipientEmails") 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 @@ -1135,30 +1759,43 @@ type CustomerSettings struct { NullFields []string `json:"-"` } -func (s *CustomerSettings) MarshalJSON() ([]byte, error) { - type NoMethod CustomerSettings +func (s *AppsDynamiteDriveMetadataAclFixRequest) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDriveMetadataAclFixRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type CustomerUserStats struct { - // Date: The date for which session stats were calculated. Stats - // calculated on the next day close to midnight are returned. - Date *Date `json:"date,omitempty"` - - // OneDayActiveUsersCount: The count of unique active users in the past - // one day - OneDayActiveUsersCount int64 `json:"oneDayActiveUsersCount,omitempty,string"` - - // SevenDaysActiveUsersCount: The count of unique active users in the - // past seven days - SevenDaysActiveUsersCount int64 `json:"sevenDaysActiveUsersCount,omitempty,string"` - - // ThirtyDaysActiveUsersCount: The count of unique active users in the - // past thirty days - ThirtyDaysActiveUsersCount int64 `json:"thirtyDaysActiveUsersCount,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "Date") to +// AppsDynamiteDriveMetadataAclFixStatus: The message reconstructed +// based on information in the response of +// /PermissionFixOptionsService.Query (or the Apiary API that wraps it). +// Indicates the ability of the requester to change the access to the +// Drive file for the room roster or the DM members. Used in +// GetMessagePreviewMetadataResponse only. +type AppsDynamiteDriveMetadataAclFixStatus struct { + // Possible values: + // "UNKNOWN" + // "ALREADY_ACCESSIBLE" + // "CAN_FIX" + // "CANNOT_FIX" + // "ACL_FIXER_ERROR" + Fixability string `json:"fixability,omitempty"` + + // FixableEmailAddress: List of recipient email addresses for which + // access can be granted. This field contains the same email addresses + // from the GetMessagePreviewMetadata request if all recipients can be + // successfully added to the ACL as determined by Drive ACL Fixer. For + // now, the field is non-empty if and only if the "fixability" value is + // "CAN_FIX". + FixableEmailAddress []string `json:"fixableEmailAddress,omitempty"` + + // OutOfDomainWarningEmailAddress: List of recipient email addresses for + // which an out-of-domain-sharing warning must be shown, stating that + // these email addresses are not in the Google Apps organization that + // the requested item belong to. Empty if all recipients are in the same + // Google Apps organization. + OutOfDomainWarningEmailAddress []string `json:"outOfDomainWarningEmailAddress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Fixability") 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 @@ -1166,8 +1803,8 @@ type CustomerUserStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Fixability") 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. @@ -1175,80 +1812,35 @@ type CustomerUserStats struct { NullFields []string `json:"-"` } -func (s *CustomerUserStats) MarshalJSON() ([]byte, error) { - type NoMethod CustomerUserStats +func (s *AppsDynamiteDriveMetadataAclFixStatus) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDriveMetadataAclFixStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataSource: Datasource is a logical namespace for items to be -// indexed. All items must belong to a datasource. This is the -// prerequisite before items can be indexed into Cloud Search. -type DataSource struct { - // DisableModifications: If true, sets the datasource to read-only mode. - // In read-only mode, the Indexing API rejects any requests to index or - // delete items in this source. Enabling read-only mode does not stop - // the processing of previously accepted data. - DisableModifications bool `json:"disableModifications,omitempty"` - - // DisableServing: Disable serving any search or assist results. - DisableServing bool `json:"disableServing,omitempty"` - - // DisplayName: Required. Display name of the datasource The maximum - // length is 300 characters. - DisplayName string `json:"displayName,omitempty"` - - // IndexingServiceAccounts: List of service accounts that have indexing - // access. - IndexingServiceAccounts []string `json:"indexingServiceAccounts,omitempty"` - - // ItemsVisibility: This field restricts visibility to items at the - // datasource level. Items within the datasource are restricted to the - // union of users and groups included in this field. Note that, this - // does not ensure access to a specific item, as users need to have ACL - // permissions on the contained items. This ensures a high level access - // on the entire datasource, and that the individual items are not - // shared outside this visibility. - ItemsVisibility []*GSuitePrincipal `json:"itemsVisibility,omitempty"` - - // Name: The name of the datasource resource. Format: - // datasources/{source_id}. The name is ignored when creating a - // datasource. - Name string `json:"name,omitempty"` - - // OperationIds: IDs of the Long Running Operations (LROs) currently - // running for this schema. - OperationIds []string `json:"operationIds,omitempty"` - - // ReturnThumbnailUrls: Can a user request to get thumbnail URI for - // Items indexed in this data source. - ReturnThumbnailUrls bool `json:"returnThumbnailUrls,omitempty"` - - // ShortName: A short name or alias for the source. This value will be - // used to match the 'source' operator. For example, if the short name - // is ** then queries like *source:* will only return - // results for this source. The value must be unique across all - // datasources. The value must only contain alphanumeric characters - // (a-zA-Z0-9). The value cannot start with 'google' and cannot be one - // of the following: mail, gmail, docs, drive, groups, sites, calendar, - // hangouts, gplus, keep, people, teams. Its maximum length is 32 - // characters. - ShortName string `json:"shortName,omitempty"` +// AppsDynamiteDriveMetadataLegacyUploadMetadata: The original +// UploadMetadata that this DriveMetadata was converted from. +type AppsDynamiteDriveMetadataLegacyUploadMetadata struct { + // LegacyUniqueId: A unique ID generated from legacy UploadMetadata. + // This is used for interopping URLs after uploading blob to shared + // drive. Links in Classic might break without this. + // go/drive-file-attachment-interop-from-dynamite. + LegacyUniqueId string `json:"legacyUniqueId,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // UploadMetadata: The blob in this UploadMetadata has been uploaded to + // shared drive. This UploadMetadata is no longer attached to a message. + // go/shared-drive-data-migration. + UploadMetadata *AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DisableModifications") 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. "LegacyUniqueId") 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. "DisableModifications") to + // NullFields is a list of field names (e.g. "LegacyUniqueId") 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 @@ -1258,26 +1850,42 @@ type DataSource struct { NullFields []string `json:"-"` } -func (s *DataSource) MarshalJSON() ([]byte, error) { - type NoMethod DataSource +func (s *AppsDynamiteDriveMetadataLegacyUploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteDriveMetadataLegacyUploadMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataSourceIndexStats: Aggregation of items by status code as of the -// specified date. -type DataSourceIndexStats struct { - // Date: The date for which index stats were calculated. If the date of - // request is not the current date then stats calculated on the next day - // are returned. Stats are calculated close to mid night in this case. - // If date of request is current date, then real time stats are - // returned. - Date *Date `json:"date,omitempty"` - - // ItemCountByStatus: Number of items aggregrated by status code. - ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` +// AppsDynamiteFormatMetadata: Annotation metadata for markup formatting +type AppsDynamiteFormatMetadata struct { + // FontColor: Font color is set if and only if format_type is + // FONT_COLOR. The components are stored as (alpha << 24) | (red << 16) + // | (green << 8) | blue. Clients should always set the alpha component + // to 0xFF. NEXT TAG: 3 + FontColor int64 `json:"fontColor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to + // FormatType: + // LINT.ThenChange(//depot/google3/apps/dynamite/v1/web/datakeys/annotate + // d_span.proto) + // + // Possible values: + // "TYPE_UNSPECIFIED" - Default value for the enum. + // "BOLD" + // "ITALIC" + // "STRIKE" + // "SOURCE_CODE" + // "MONOSPACE" - Inline monospace. + // "HIDDEN" + // "MONOSPACE_BLOCK" - Multi-line monospace block. + // "UNDERLINE" + // "FONT_COLOR" + // "BULLETED_LIST" - Encloses BULLETED_LIST_ITEM annotations. + // "BULLETED_LIST_ITEM" - Must cover the whole line including the + // newline + // "CLIENT_HIDDEN" - character at the end. Not used anymore. + FormatType string `json:"formatType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FontColor") 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 @@ -1285,8 +1893,8 @@ type DataSourceIndexStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "FontColor") 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. @@ -1294,27 +1902,76 @@ type DataSourceIndexStats struct { NullFields []string `json:"-"` } -func (s *DataSourceIndexStats) MarshalJSON() ([]byte, error) { - type NoMethod DataSourceIndexStats +func (s *AppsDynamiteFormatMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFormatMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataSourceRestriction: Restriction on Datasource. -type DataSourceRestriction struct { - // FilterOptions: Filter options restricting the results. If multiple - // filters are present, they are grouped by object type before joining. - // Filters with the same object type are joined conjunctively, then the - // resulting expressions are joined disjunctively. The maximum number of - // elements is 20. NOTE: Suggest API supports only few filters at the - // moment: "objecttype", "type" and "mimetype". For now, schema specific - // filters cannot be used to filter suggestions. - FilterOptions []*FilterOptions `json:"filterOptions,omitempty"` +// AppsDynamiteFrontendBotInfo: Bot-specific profile information. +type AppsDynamiteFrontendBotInfo struct { + // AppId: Identifier of the application associated with the bot. + AppId *AppsDynamiteAppId `json:"appId,omitempty"` - // Source: The source of restriction. - Source *Source `json:"source,omitempty"` + // BotAvatarUrl: URL for the avatar picture of the User in dynamite. + // This field should be populated if the request is + // FetchBotCategories/ListBotCatalogEntries + BotAvatarUrl string `json:"botAvatarUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "FilterOptions") to + // BotName: Non-unique, user-defined display name of the Bot. This field + // should be populated if the request is + // FetchBotCategories/ListBotCatalogEntries. + BotName string `json:"botName,omitempty"` + + // Description: Short description for the bot. + Description string `json:"description,omitempty"` + + // DeveloperName: Name of bot developer. + DeveloperName string `json:"developerName,omitempty"` + + // MarketPlaceBannerUrl: URL for the banner image in GSuite Market + // Place. The banner will be 220x140. + MarketPlaceBannerUrl string `json:"marketPlaceBannerUrl,omitempty"` + + // Status: Indicates whether bot is enabled/disabled. + // + // Possible values: + // "UNKNOWN_STATUS" + // "ENABLED" + // "DISABLED_BY_DEVELOPER" - Bot has been disabled by the bot + // developer. No one can @mention or interact with the bot. + Status string `json:"status,omitempty"` + + // SupportUrls: Urls with additional information related to the bot. + // This field should always be set even if all the fields within it are + // empty, so that it is convenient for clients to work with this field + // in javascript. + SupportUrls *AppsDynamiteFrontendBotInfoSupportUrls `json:"supportUrls,omitempty"` + + // SupportedUses: The supported uses are limited according to the user + // that made the request. If the user does not have permission to use + // the bot, the list will be empty. This could occur for non whitelisted + // bots in the catalog. + // + // Possible values: + // "UNKNOWN" + // "CAN_ADD_TO_DM" + // "CAN_ADD_TO_ROOM" + // "CAN_ADD_TO_HUMAN_DM" + SupportedUses []string `json:"supportedUses,omitempty"` + + // Possible values: + // "UNSPECIFIED_STATUS" + // "ALLOWED" + // "ALL_BOTS_DISABLED_BY_ADMIN" - For both ALL_BOTS_DISABLED_BY_ADMIN + // and BOT_NOT_WHITELISTED_BY_ADMIN, the bot should still be visible in + // the catalog, but usage of the bot will be disabled. Indicates that + // all bots has been disabled by the dasher admin. + // "BOT_NOT_WHITELISTED_BY_ADMIN" - Indicates that the customer is + // using whitelisting, but that the bot is not whitelisted. + WhitelistStatus string `json:"whitelistStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppId") 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 @@ -1322,39 +1979,49 @@ type DataSourceRestriction struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FilterOptions") 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. "AppId") 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 *DataSourceRestriction) MarshalJSON() ([]byte, error) { - type NoMethod DataSourceRestriction +func (s *AppsDynamiteFrontendBotInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFrontendBotInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Date: Represents a whole calendar date, for example a date of birth. -// The time of day and time zone are either specified elsewhere or are -// not significant. The date is relative to the Proleptic Gregorian -// Calendar -// (https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The -// date must be a valid calendar date between the year 1 and 9999. -type Date struct { - // Day: Day of month. Must be from 1 to 31 and valid for the year and - // month. - Day int64 `json:"day,omitempty"` +// AppsDynamiteFrontendBotInfoSupportUrls: Urls with additional bot +// related information. +type AppsDynamiteFrontendBotInfoSupportUrls struct { + // AdminConfigUrl: Link to the admin configuration webpage for the bot. + // Configured by Pantheon, may be empty. + AdminConfigUrl string `json:"adminConfigUrl,omitempty"` - // Month: Month of date. Must be from 1 to 12. - Month int64 `json:"month,omitempty"` + // DeletionPolicyUrl: Link to the deletion policy webpage for the bot. + // Configured by Pantheon, may be empty. + DeletionPolicyUrl string `json:"deletionPolicyUrl,omitempty"` - // Year: Year of date. Must be from 1 to 9999. - Year int64 `json:"year,omitempty"` + // PrivacyPolicyUrl: Link to the privacy policy webpage for the bot. May + // be empty. + PrivacyPolicyUrl string `json:"privacyPolicyUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to + // SetupUrl: Link to the setup webpage for the bot. Configured by + // Pantheon, may be empty. + SetupUrl string `json:"setupUrl,omitempty"` + + // SupportUrl: Link to the support webpage for the developer of the bot. + // May be empty. + SupportUrl string `json:"supportUrl,omitempty"` + + // TosUrl: Link to the terms of service webpage for the bot. May be + // empty. + TosUrl string `json:"tosUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdminConfigUrl") 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 @@ -1362,7 +2029,36 @@ type Date struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API + // NullFields is a list of field names (e.g. "AdminConfigUrl") 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 *AppsDynamiteFrontendBotInfoSupportUrls) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFrontendBotInfoSupportUrls + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AppsDynamiteFrontendMember struct { + Roster *AppsDynamiteFrontendRoster `json:"roster,omitempty"` + + User *AppsDynamiteFrontendUser `json:"user,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Roster") 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. "Roster") 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 @@ -1371,81 +2067,134 @@ type Date struct { NullFields []string `json:"-"` } -func (s *Date) MarshalJSON() ([]byte, error) { - type NoMethod Date +func (s *AppsDynamiteFrontendMember) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFrontendMember raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DateOperatorOptions: Optional. Provides a search operator for date -// properties. Search operators let users restrict the query to specific -// fields relevant to the type of item being searched. -type DateOperatorOptions struct { - // GreaterThanOperatorName: Indicates the operator name required in the - // query in order to isolate the date property using the greater-than - // operator. For example, if greaterThanOperatorName is *closedafter* - // and the property's name is *closeDate*, then queries like - // *closedafter:* show results only where the value of the - // property named *closeDate* is later than **. The operator name - // can only contain lowercase letters (a-z). The maximum length is 32 - // characters. - GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` +// AppsDynamiteFrontendRoster: Roster profile information. +type AppsDynamiteFrontendRoster struct { + AvatarUrl string `json:"avatarUrl,omitempty"` - // LessThanOperatorName: Indicates the operator name required in the - // query in order to isolate the date property using the less-than - // operator. For example, if lessThanOperatorName is *closedbefore* and - // the property's name is *closeDate*, then queries like - // *closedbefore:* show results only where the value of the - // property named *closeDate* is earlier than **. The operator - // name can only contain lowercase letters (a-z). The maximum length is - // 32 characters. - LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` + Id *AppsDynamiteRosterId `json:"id,omitempty"` - // OperatorName: Indicates the actual string required in the query in - // order to isolate the date property. For example, suppose an issue - // tracking schema object has a property named *closeDate* that - // specifies an operator with an operatorName of *closedon*. For - // searches on that data, queries like *closedon:* show results - // only where the value of the *closeDate* property matches **. - // By contrast, a search that uses the same ** without an - // operator returns all items where ** matches the value of any - // String properties or text within the content field for the indexed - // datasource. The operator name can only contain lowercase letters - // (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` + MembershipCount int64 `json:"membershipCount,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "GreaterThanOperatorName") 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. + Name string `json:"name,omitempty"` + + // RosterGaiaKey: Roster gaia key, usually an email address. Set in + // looking up rosters response. + RosterGaiaKey string `json:"rosterGaiaKey,omitempty"` + + // RosterState: Roster deletion state - considered active unless set to + // deleted + // + // Possible values: + // "ROSTER_STATE_UNKNOWN" + // "ROSTER_ACTIVE" - Roster is active + // "ROSTER_DELETED" - Roster deleted + RosterState string `json:"rosterState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AvatarUrl") 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. "GreaterThanOperatorName") - // 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. "AvatarUrl") 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 *DateOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod DateOperatorOptions +func (s *AppsDynamiteFrontendRoster) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFrontendRoster raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DatePropertyOptions: The options for date properties. -type DatePropertyOptions struct { - // OperatorOptions: If set, describes how the date should be used as a - // search operator. - OperatorOptions *DateOperatorOptions `json:"operatorOptions,omitempty"` +// AppsDynamiteFrontendUser: User profile information. This user is not +// necessarily member of a space. +type AppsDynamiteFrontendUser struct { + // AvatarUrl: URL for the avatar picture of the User in dynamite + AvatarUrl string `json:"avatarUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // BlockRelationship: Information about whether the user is blocked by + // requester and/or has blocked requester. + BlockRelationship *AppsDynamiteSharedUserBlockRelationship `json:"blockRelationship,omitempty"` + + // BotInfo: Bot-specific profile information. Leave it empty for human + // users. + BotInfo *AppsDynamiteFrontendBotInfo `json:"botInfo,omitempty"` + + // Deleted: Deleted flag, if true, means User has been + // soft-deleted/purged Deprecated. Use user_account_state field instead. + Deleted bool `json:"deleted,omitempty"` + + // Email: Email ID of the user + Email string `json:"email,omitempty"` + + // FirstName: First or given name of the user + FirstName string `json:"firstName,omitempty"` + + // Gender: Gender of the user + Gender string `json:"gender,omitempty"` + + // Id: UserId + Id *AppsDynamiteUserId `json:"id,omitempty"` + + // IsAnonymous: Set to true if none of the depending services (Gaia, + // PeopleApi) returns any info for this user. + IsAnonymous bool `json:"isAnonymous,omitempty"` + + // LastName: Last or family name of the user + LastName string `json:"lastName,omitempty"` + + // Name: Non-unique, user-defined display name of the User + Name string `json:"name,omitempty"` + + // OrganizationInfo: Information about whether the user is a consumer + // user, or the GSuite customer that they belong to. + OrganizationInfo *AppsDynamiteSharedOrganizationInfo `json:"organizationInfo,omitempty"` + + // PhoneNumber: Phone number(s) of the user + PhoneNumber []*AppsDynamiteSharedPhoneNumber `json:"phoneNumber,omitempty"` + + // UserAccountState: State of user's Gaia Account + // + // Possible values: + // "UNKNOWN_USER_ACCOUNT_STATE" + // "ENABLED" - User has Dynamite enabled. + // "DISABLED" - User doesn't have Dynamite enabled. This includes + // service disabled by admin, or user's account is suspended + // "DELETED" - User account is deleted + // "TEMPORARY_UNAVAILABLE" - Failed to retrieve user's info. Will use + // user's email address as name and first_name. + UserAccountState string `json:"userAccountState,omitempty"` + + // UserProfileVisibility: Visibility of user's Profile + // + // Possible values: + // "UNKNOWN_USER_PROFILE_VISIBILITY" + // "FULL_PROFILE" - Caller has full visibility. + // "PRIMARY_MAIL" - Caller can only see target user's primary email + // from Gaia + // "INVITEE_EMAIL" - Caller can only see the email used to invite the + // target user + // "DELETED_USER" - Caller can only see the target user as a deleted + // user. Email is empty. Names are redacted as "Deleted User". + // "UNKNOWN_USER" - Caller has no visibility to the target user at + // all. Email is empty. Names are redacted as "Unknown User". + // "FAILURE" - Stubby failed. Clients should always retry ASAP + UserProfileVisibility string `json:"userProfileVisibility,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AvatarUrl") 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 @@ -1453,27 +2202,32 @@ type DatePropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "AvatarUrl") 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 *DatePropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod DatePropertyOptions +func (s *AppsDynamiteFrontendUser) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteFrontendUser raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DateValues: List of date values. -type DateValues struct { - Values []*Date `json:"values,omitempty"` +// AppsDynamiteGroupId: Id representing a group that could be a space, a +// chat, or a direct message space. Which ID is set here will determine +// which group +type AppsDynamiteGroupId struct { + // DmId: Unique, immutable ID of the Direct Message Space + DmId *AppsDynamiteDmId `json:"dmId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // SpaceId: Unique, immutable ID of the Space + SpaceId *AppsDynamiteSpaceId `json:"spaceId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DmId") 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 @@ -1481,7 +2235,7 @@ type DateValues struct { // 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 + // NullFields is a list of field names (e.g. "DmId") 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 @@ -1490,20 +2244,20 @@ type DateValues struct { NullFields []string `json:"-"` } -func (s *DateValues) MarshalJSON() ([]byte, error) { - type NoMethod DateValues +func (s *AppsDynamiteGroupId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteGroupId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DebugOptions: Shared request debug options for all cloudsearch RPC -// methods. -type DebugOptions struct { - // EnableDebugging: If you are asked by Google to help with debugging, - // set this field. Otherwise, ignore this field. - EnableDebugging bool `json:"enableDebugging,omitempty"` +type AppsDynamiteGroupRetentionSettingsUpdatedMetaData struct { + // Initiator: The user who triggered the retention settings update + Initiator *AppsDynamiteUserId `json:"initiator,omitempty"` - // ForceSendFields is a list of field names (e.g. "EnableDebugging") to + // RetentionSettings: The updated space retention settings + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Initiator") 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 @@ -1511,34 +2265,55 @@ type DebugOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EnableDebugging") 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. "Initiator") 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 *DebugOptions) MarshalJSON() ([]byte, error) { - type NoMethod DebugOptions +func (s *AppsDynamiteGroupRetentionSettingsUpdatedMetaData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteGroupRetentionSettingsUpdatedMetaData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type DeleteQueueItemsRequest struct { - // ConnectorName: The name of connector making this call. Format: - // datasources/{source_id}/connectors/{ID} - ConnectorName string `json:"connectorName,omitempty"` +// AppsDynamiteGsuiteIntegrationMetadata: Annotation metadata for an +// GsuiteIntegration artifact. +type AppsDynamiteGsuiteIntegrationMetadata struct { + ActivityFeedData *AppsDynamiteSharedActivityFeedAnnotationData `json:"activityFeedData,omitempty"` - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + AssistantData *AppsDynamiteSharedAssistantAnnotationData `json:"assistantData,omitempty"` - // Queue: The name of a queue to delete items from. - Queue string `json:"queue,omitempty"` + CalendarEventData *AppsDynamiteSharedCalendarEventAnnotationData `json:"calendarEventData,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConnectorName") to + // CallData: Data used to render call artifacts. + CallData *AppsDynamiteSharedCallAnnotationData `json:"callData,omitempty"` + + // Possible values: + // "UNKNOWN_CLIENT_TYPE" + // "MEET" + // "TASKS" + // "CALENDAR_EVENT" + // "ASSISTANT" + // "ACTIVITY_FEED_SERVICE" + ClientType string `json:"clientType,omitempty"` + + // IndexableTexts: A list of all strings that are to be indexed for this + // 1P chip. Each string in this list would be the contents of a single + // string field in the 1P chip. Eg. For Tasks[title = “hello world”, + // description = “good bye”]. If we want to index only the title, + // this would be set to [“hello world”]. If both title and + // description, then this would be [“hello world”, “good bye”]. + // Please make sure that the contents of this field is a subset of + // strings that are rendered as part of the 1P Chip. + IndexableTexts []string `json:"indexableTexts,omitempty"` + + TasksData *AppsDynamiteSharedTasksAnnotationData `json:"tasksData,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActivityFeedData") 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 @@ -1546,61 +2321,100 @@ type DeleteQueueItemsRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConnectorName") 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. "ActivityFeedData") 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 *DeleteQueueItemsRequest) MarshalJSON() ([]byte, error) { - type NoMethod DeleteQueueItemsRequest +func (s *AppsDynamiteGsuiteIntegrationMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteGsuiteIntegrationMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DisplayedProperty: A reference to a top-level property within the -// object that should be displayed in search results. The values of the -// chosen properties is displayed in the search results along with the -// display label for that property if one is specified. If a display -// label is not specified, only the values is shown. -type DisplayedProperty struct { - // PropertyName: The name of the top-level property as defined in a - // property definition for the object. If the name is not a defined - // property in the schema, an error is given when attempting to update - // the schema. - PropertyName string `json:"propertyName,omitempty"` +// AppsDynamiteIncomingWebhookChangedMetadata: Annotation metadata to +// display system messages for incoming webhook events. Next Tag: 7 +type AppsDynamiteIncomingWebhookChangedMetadata struct { + // IncomingWebhookName: The webhook name at the time of the change. Used + // in Spanner storage, BE API responses and FE API responses. + IncomingWebhookName string `json:"incomingWebhookName,omitempty"` - // ForceSendFields is a list of field names (e.g. "PropertyName") to - // unconditionally include in API requests. By default, fields with + // InitiatorId: The user id of the user whose action triggered this + // system message. Used in Spanner storage, BE API responses and FE API + // responses. + InitiatorId *AppsDynamiteUserId `json:"initiatorId,omitempty"` + + // InitiatorProfile: Complete profile when ListTopicsRequest + // FetchOptions.USER is set. Otherwise, only the id will be filled in. + // Used in FE API responses. + InitiatorProfile *AppsDynamiteFrontendUser `json:"initiatorProfile,omitempty"` + + // ObfuscatedIncomingWebhookId: The webhook id of the incoming webhook + // in question. This field should not be used to load webhook + // information dynamically and is only present for debugging purposes. + // Used in Spanner storage, BE API responses and FE API responses. + ObfuscatedIncomingWebhookId string `json:"obfuscatedIncomingWebhookId,omitempty"` + + // OldIncomingWebhookName: Only populated for UPDATED_NAME and + // UPDATED_NAME_AND_AVATAR events, where the webhook name was changed. + // Used in Spanner storage, BE API responses and FE API responses. + OldIncomingWebhookName string `json:"oldIncomingWebhookName,omitempty"` + + // Type: Used in Spanner storage, BE API responses and FE API responses. + // + // Possible values: + // "UNSPECIFIED" + // "ADDED" + // "UPDATED" - TODO (b/154857280): remove UPDATED field. + // "REMOVED" + // "UPDATED_NAME" + // "UPDATED_AVATAR" + // "UPDATED_NAME_AND_AVATAR" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IncomingWebhookName") + // 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. "PropertyName") 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. "IncomingWebhookName") 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 *DisplayedProperty) MarshalJSON() ([]byte, error) { - type NoMethod DisplayedProperty +func (s *AppsDynamiteIncomingWebhookChangedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteIncomingWebhookChangedMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type DmId struct { - // DmId: Unique server assigned Id, per Direct Message Space. - DmId string `json:"dmId,omitempty"` +type AppsDynamiteIntegrationConfigMutation struct { + // AddApp: Add an app using its identifier. + AddApp *AppsDynamiteAppId `json:"addApp,omitempty"` - // ForceSendFields is a list of field names (e.g. "DmId") to + // AddPinnedItem: Add a pinned tab using its identifier. + AddPinnedItem *AppsDynamitePinnedItemId `json:"addPinnedItem,omitempty"` + + // RemoveApp: Remove an active app using its identifier. + RemoveApp *AppsDynamiteAppId `json:"removeApp,omitempty"` + + // RemovePinnedItem: Remove an active pinned tab using its identifier. + RemovePinnedItem *AppsDynamitePinnedItemId `json:"removePinnedItem,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AddApp") 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 @@ -1608,7 +2422,7 @@ type DmId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DmId") to include in API + // NullFields is a list of field names (e.g. "AddApp") 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 @@ -1617,23 +2431,24 @@ type DmId struct { NullFields []string `json:"-"` } -func (s *DmId) MarshalJSON() ([]byte, error) { - type NoMethod DmId +func (s *AppsDynamiteIntegrationConfigMutation) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteIntegrationConfigMutation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DoubleOperatorOptions: Used to provide a search operator for double -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -type DoubleOperatorOptions struct { - // OperatorName: Indicates the operator name required in the query in - // order to use the double property in sorting or as a facet. The - // operator name can only contain lowercase letters (a-z). The maximum - // length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` +// AppsDynamiteIntegrationConfigUpdatedMetadata: Annotation metadata to +// display system message for integration config updated event. This +// metadata is stored in spanner, and can be dispatched to clients +// without any field modification or transformation. +type AppsDynamiteIntegrationConfigUpdatedMetadata struct { + // InitiatorId: The user whose action triggered this system message. + InitiatorId *AppsDynamiteUserId `json:"initiatorId,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + // Mutations: A list of updates applied on the integration config. + Mutations []*AppsDynamiteIntegrationConfigMutation `json:"mutations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InitiatorId") 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 @@ -1641,7 +2456,7 @@ type DoubleOperatorOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") to include + // NullFields is a list of field names (e.g. "InitiatorId") 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 @@ -1650,19 +2465,23 @@ type DoubleOperatorOptions struct { NullFields []string `json:"-"` } -func (s *DoubleOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod DoubleOperatorOptions +func (s *AppsDynamiteIntegrationConfigUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteIntegrationConfigUpdatedMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DoublePropertyOptions: The options for double properties. -type DoublePropertyOptions struct { - // OperatorOptions: If set, describes how the double should be used as a - // search operator. - OperatorOptions *DoubleOperatorOptions `json:"operatorOptions,omitempty"` +// AppsDynamiteInviteeInfo: Invitee information from a Dynamite +// invitation. See go/dynamite-invitee-mgmt. +type AppsDynamiteInviteeInfo struct { + // Email: Email as typed by the user when invited to Room or DM. This + // value will be canonicalized and hashed before retained in storage. + Email string `json:"email,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // UserId: Unique, immutable ID of the User. + UserId *AppsDynamiteUserId `json:"userId,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 // non-pointer, non-interface field appearing in ForceSendFields will be @@ -1670,27 +2489,32 @@ type DoublePropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "Email") 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 *DoublePropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod DoublePropertyOptions +func (s *AppsDynamiteInviteeInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteInviteeInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DoubleValues: List of double values. -type DoubleValues struct { - Values []float64 `json:"values,omitempty"` +// AppsDynamiteMemberId: Eventually this can be updated to a oneOf User, +// Space (for nested spaces), Bots or Service, as and when these use +// cases come up. +type AppsDynamiteMemberId struct { + // RosterId: Unique, immutable ID of the Roster. + RosterId *AppsDynamiteRosterId `json:"rosterId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // UserId: Unique, immutable ID of the User. + UserId *AppsDynamiteUserId `json:"userId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RosterId") 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 @@ -1698,8 +2522,8 @@ type DoubleValues struct { // 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 + // NullFields is a list of field names (e.g. "RosterId") 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. @@ -1707,133 +2531,126 @@ type DoubleValues struct { NullFields []string `json:"-"` } -func (s *DoubleValues) MarshalJSON() ([]byte, error) { - type NoMethod DoubleValues +func (s *AppsDynamiteMemberId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMemberId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DriveFollowUpRestrict: Drive follow-up search restricts (e.g. -// "followup:suggestions"). -type DriveFollowUpRestrict struct { - // Possible values: - // "UNSPECIFIED" - // "FOLLOWUP_SUGGESTIONS" - // "FOLLOWUP_ACTION_ITEMS" - Type string `json:"type,omitempty"` +// AppsDynamiteMembershipChangedMetadata: Annotation metadata to display +// system messages for membership changes. +type AppsDynamiteMembershipChangedMetadata struct { + AffectedMemberProfiles []*AppsDynamiteFrontendMember `json:"affectedMemberProfiles,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. 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:"-"` + // AffectedMembers: List of users and rosters whose membership status + // changed. + AffectedMembers []*AppsDynamiteMemberId `json:"affectedMembers,omitempty"` - // NullFields is a list of field names (e.g. "Type") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. 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:"-"` -} + AffectedMemberships []*AppsDynamiteMembershipChangedMetadataAffectedMembership `json:"affectedMemberships,omitempty"` -func (s *DriveFollowUpRestrict) MarshalJSON() ([]byte, error) { - type NoMethod DriveFollowUpRestrict - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // Initiator: The user whose action triggered this system message. + Initiator *AppsDynamiteUserId `json:"initiator,omitempty"` + + // InitiatorProfile: Complete member profiles, when ListTopicsRequest + // FetchOptions.USER is set. Otherwise, only the id will be filled in. + InitiatorProfile *AppsDynamiteFrontendUser `json:"initiatorProfile,omitempty"` -// DriveLocationRestrict: Drive location search restricts (e.g. -// "is:starred"). -type DriveLocationRestrict struct { // Possible values: - // "UNSPECIFIED" - // "TRASHED" - // "STARRED" + // "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE. + // "INVITED" - Non-member -> Can join. Multiple groups and users. + // "JOINED" - Can join -> Member. One user. + // "ADDED" - Non-member -> Member. Multiple users. + // "REMOVED" - Can join -> Non-member. One group or user. + // "LEFT" - Member -> Can join. One user. + // "BOT_ADDED" - Bot added to the room. + // "BOT_REMOVED" - Bot removed from the room. + // "KICKED_DUE_TO_OTR_CONFLICT" - This signifies the user is kicked + // because the user's OTR policy is conflicted with the room history + // settings. Joined -> Non-member. One user. + // "ROLE_UPDATED" - MembershipRole changed. Multiple users. + // "ROLE_TARGET_AUDIENCE_UPDATED" - The room is now joinable by an Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. 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. + // "AffectedMemberProfiles") 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. "Type") 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. "AffectedMemberProfiles") + // 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 *DriveLocationRestrict) MarshalJSON() ([]byte, error) { - type NoMethod DriveLocationRestrict +func (s *AppsDynamiteMembershipChangedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMembershipChangedMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DriveMimeTypeRestrict: Drive mime-type search restricts (e.g. -// "type:pdf"). -type DriveMimeTypeRestrict struct { - // Possible values: - // "UNSPECIFIED" - // "PDF" - // "DOCUMENT" - // "PRESENTATION" - // "SPREADSHEET" - // "FORM" - // "DRAWING" - // "SCRIPT" - // "MAP" - // "IMAGE" - // "AUDIO" - // "VIDEO" - // "FOLDER" - // "ARCHIVE" - // "SITE" - Type string `json:"type,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Type") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. 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. "Type") 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:"-"` -} +// AppsDynamiteMembershipChangedMetadataAffectedMembership: Earlier we +// used to populate just the affected_members list and inferred the new +// membership state (roles didn't exist back then) from the Type. +// go/dynamite-finra required backend to know the previous membership +// state to reconstruct membership history. The proper solution involved +// cleaning up up Type enum, but it was used in many, many places. This +// was added as a stop-gap solution to unblock FINRA without breaking +// everything. Later role update and target audience update started +// relying on this to communicate information to clients about what +// transition happened. So this is now required to be populated and +// should be in sync with affected_members for new messages. +type AppsDynamiteMembershipChangedMetadataAffectedMembership struct { + AffectedMember *AppsDynamiteMemberId `json:"affectedMember,omitempty"` -func (s *DriveMimeTypeRestrict) MarshalJSON() ([]byte, error) { - type NoMethod DriveMimeTypeRestrict - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // Possible values: + // "ROLE_UNKNOWN" + // "ROLE_NONE" - This role is used when a user is forcibly removed + // from a room by another user. They will no longer be able to search + // for the room, but their history will be retained. + // "ROLE_INVITEE" - This role is used for two purposes. 1. A group is + // invited to a room, making it discoverable for its members. 2. A user + // was part of a room, but willingly left the room. + // "ROLE_MEMBER" - --- Following roles are for joined members of a + // roster. --- Default role for any joined user. Has basic capabilities + // within a room. + // "ROLE_OWNER" - Role assigned to room creators and explicitly + // promoted members. Has broad powers to manage the room. + PriorMembershipRole string `json:"priorMembershipRole,omitempty"` -// DriveTimeSpanRestrict: The time span search restrict (e.g. -// "after:2017-09-11 before:2017-09-12"). -type DriveTimeSpanRestrict struct { // Possible values: - // "UNSPECIFIED" - // "TODAY" - // "YESTERDAY" - // "LAST_7_DAYS" - // "LAST_30_DAYS" - Not Enabled - // "LAST_90_DAYS" - Not Enabled - Type string `json:"type,omitempty"` + // "MEMBER_UNKNOWN" - Default state, do not use + // "MEMBER_INVITED" - An invitation to the space has been sent + // "MEMBER_JOINED" - User has joined the space + // "MEMBER_NOT_A_MEMBER" - User is not a member + // "MEMBER_FAILED" - This state should never be stored in Spanner. It + // is a state for responses to the clients to indicate that membership + // mutations have failed and the member is in its previous state. + PriorMembershipState string `json:"priorMembershipState,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to + // Possible values: + // "ROLE_UNKNOWN" + // "ROLE_NONE" - This role is used when a user is forcibly removed + // from a room by another user. They will no longer be able to search + // for the room, but their history will be retained. + // "ROLE_INVITEE" - This role is used for two purposes. 1. A group is + // invited to a room, making it discoverable for its members. 2. A user + // was part of a room, but willingly left the room. + // "ROLE_MEMBER" - --- Following roles are for joined members of a + // roster. --- Default role for any joined user. Has basic capabilities + // within a room. + // "ROLE_OWNER" - Role assigned to room creators and explicitly + // promoted members. Has broad powers to manage the room. + TargetMembershipRole string `json:"targetMembershipRole,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AffectedMember") 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 @@ -1841,58 +2658,326 @@ type DriveTimeSpanRestrict struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. 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. "AffectedMember") 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 *DriveTimeSpanRestrict) MarshalJSON() ([]byte, error) { - type NoMethod DriveTimeSpanRestrict +func (s *AppsDynamiteMembershipChangedMetadataAffectedMembership) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMembershipChangedMetadataAffectedMembership raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DynamiteSpacesScoringInfo: This is the proto for holding space level -// scoring information. This data is used for logging in query-api -// server and for testing purposes. -type DynamiteSpacesScoringInfo struct { - AffinityScore float64 `json:"affinityScore,omitempty"` - - CommonContactCountAffinityScore float64 `json:"commonContactCountAffinityScore,omitempty"` - - ContactsIntersectionCount float64 `json:"contactsIntersectionCount,omitempty"` - - FinalScore float64 `json:"finalScore,omitempty"` - - FreshnessScore float64 `json:"freshnessScore,omitempty"` - - JoinedSpacesAffinityScore float64 `json:"joinedSpacesAffinityScore,omitempty"` +// AppsDynamiteMessage: Message posted to a Space. +type AppsDynamiteMessage struct { + // Annotations: Annotations parsed and extracted from the text body. + Annotations []*AppsDynamiteAnnotation `json:"annotations,omitempty"` - LastMessagePostedTimestampSecs int64 `json:"lastMessagePostedTimestampSecs,omitempty,string"` + // AppProfile: Custom display profile info for apps. Leave the field + // empty for real users. + AppProfile *AppsDynamiteSharedAppProfile `json:"appProfile,omitempty"` - LastReadTimestampSecs int64 `json:"lastReadTimestampSecs,omitempty,string"` + // Attachments: Attachments parsed from incoming webhooks + Attachments []*AppsDynamiteAttachment `json:"attachments,omitempty"` - MemberMetadataCount float64 `json:"memberMetadataCount,omitempty"` + // Attributes: Lightweight message attributes which values are + // calculated and set in the servers. + Attributes *AppsDynamiteMessageAttributes `json:"attributes,omitempty"` - MessageScore float64 `json:"messageScore,omitempty"` + // BotResponses: Responses from bots indicating if extra auth/config is + // needed. + BotResponses []*AppsDynamiteBotResponse `json:"botResponses,omitempty"` - NumAucContacts int64 `json:"numAucContacts,omitempty,string"` + // CommunalLabels: Communal labels associated with a message. These + // exist on the message itself regardless of which user fetches them. + // Order of entries is arbitrary and will not list duplicates of the + // same label_id. See go/chat-labels-design for details. + CommunalLabels []*AppsDynamiteBackendLabelsCommunalLabelTag `json:"communalLabels,omitempty"` - SmallContactListAffinityScore float64 `json:"smallContactListAffinityScore,omitempty"` + ContentReportSummary *AppsDynamiteMessageContentReportSummary `json:"contentReportSummary,omitempty"` - SmallUnjoinedSpacesAffinityScore float64 `json:"smallUnjoinedSpacesAffinityScore,omitempty"` + // CreateTime: Time when the Message was posted in microseconds. + CreateTime int64 `json:"createTime,omitempty,string"` - SpaceAgeInDays float64 `json:"spaceAgeInDays,omitempty"` + // CreatorId: ID of the User who posted the Message. This includes + // information to identify if this was posted by an App on behalf of a + // user. + CreatorId *AppsDynamiteUserId `json:"creatorId,omitempty"` - SpaceCreationTimestampSecs int64 `json:"spaceCreationTimestampSecs,omitempty,string"` + // DeletableBy: Indicates who can delete the message. This field is set + // on the read path (e.g. ListTopics) but doesn’t have any effect on + // the write path (e.g. CreateMessageRequest). + // + // Possible values: + // "PERMISSION_UNSPECIFIED" - Default case, should never be used. If + // this data is encountered in the DB any request should throw an + // exception. + // "PERMISSION_NO_ONE" - No one can mutate the entity. + // "PERMISSION_CREATOR" - Only the creator of an entity can mutate it. + // "PERMISSION_MEMBER" - Every human member of a space or the creator + // can mutate the entity. + DeletableBy string `json:"deletableBy,omitempty"` + + // DeleteTime: Time when the Message was deleted in microseconds. This + // field is set to nonzero value only for Messages deleted globally. + DeleteTime int64 `json:"deleteTime,omitempty,string"` + + // DeleteTimeForRequester: Time when the Message was per-user deleted by + // the message requester in microseconds. This field is set to nonzero + // value only for Message per-user deleted by the requester. + DeleteTimeForRequester int64 `json:"deleteTimeForRequester,omitempty,string"` + + // DeletedByVault: Was this message deleted by Vault (Only used for + // Vault support) This is false if message is live or message was + // deleted by user. + DeletedByVault bool `json:"deletedByVault,omitempty"` + + // DlpScanOutcome: Data Loss Prevention scan information for this + // message. Messages are evaluated in the backend on create + // message/topic and edit message actions. DEPRECATED: use + // dlp_scan_summary instead. + // + // Possible values: + // "SCAN_UNKNOWN_OUTCOME" + // "SCAN_SUCCEEDED_NO_VIOLATION" - This means no violation is detected + // on the given message/attachment. + // "SCAN_SUCCEEDED_BLOCK" - Violation is detected. The + // message/attachment will be blocked (or deleted if this happens in + // failure recovery), the user will be warned, and the violation will be + // logged to BIP. + // "SCAN_SUCCEEDED_WARN" - Violation is detected. The user will be + // warned, and the violation will be logged to BIP. + // "SCAN_SUCCEEDED_AUDIT_ONLY" - Violation is detected and will be + // logged to BIP (no user-facing action performed). + // "SCAN_FAILURE_EXCEPTION" - Rule fetch and evaluation were attempted + // but an exception occurred. + // "SCAN_FAILURE_TIMEOUT" - Rule fetch and evaluation were attempted + // but the scanning timed out. + // "SCAN_FAILURE_ALL_RULES_FAILED" - Rule fetch completed and + // evaluation were attempted, but all of the rules failed to be + // evaluated. + // "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS" - An + // IllegalStateException is thrown when executing DLP on attachments. + // This could happen if the space row is missing. + // "SCAN_SKIPPED_EXPERIMENT_DISABLED" - Rule fetch and evaluation is + // skipped because DLP is not enabled for the user. + // "SCAN_SKIPPED_CONSUMER" - Rule fetch and evaluation are skipped + // because the user sending message is consumer. + // "SCAN_SKIPPED_NON_HUMAN_USER" - Rule fetch and evaluation are + // skipped because the user sending message is a non-human user (i.e. a + // bot). + // "SCAN_SKIPPED_NO_MESSAGE" - Rule fetch and evaluation are skipped + // because there is no message to scan. Deprecated: this should not + // happen since there must be message or attachment for DLP scan. + // "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING" - Rule fetch and + // evaluation are skipped because the user has acknowledged the warning + // on the message that triggered the Warn violation and sent the message + // anyway. + // "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN" - Scanning was + // skipped because the message originated from Interop or Babel. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND" - Rule fetch + // happened, but rule evaluation is skipped because no rules were found. + // + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS" + // - Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given action params. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER" - + // Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given trigger. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned permanent failure while converting the attachment to text. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned an empty response while converting the attachment to text. + // "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION" - Rules were fetched + // but some evaluations failed. No violation was found in the rules that + // were successfully evaluated. + // "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK" - Rules were fetched but some + // evaluations failed. A blocking violation was found in the rules that + // were successfully evaluated. The message/attachment will be blocked, + // the user will be notified, and the violation will be logged to BIP. A + // blocking violation takes precedence over all other violation types. + // "SCAN_SUCCEEDED_WITH_FAILURES_WARN" - Rules were fetched but some + // evaluations failed. A warn violation was found in the rules that were + // successfully evaluated. The user will be warned, and the violation + // will be logged to BIP. + // "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" - Rules were fetched but + // some evaluations failed. An audit-only violation was found in the + // rules that were successfully evaluated. The violation will be logged + // to BIP (no user-facing action performed). + DlpScanOutcome string `json:"dlpScanOutcome,omitempty"` + + // DlpScanSummary: Data Loss Prevention scan information for this + // message. Messages are evaluated in the backend on create + // message/topic and edit message actions. + DlpScanSummary *AppsDynamiteBackendDlpScanSummary `json:"dlpScanSummary,omitempty"` + + // EditableBy: Indicates who can edit the message. This field is set on + // the read path (e.g. ListTopics) but doesn’t have any effect on the + // write path (e.g. CreateMessageRequest). + // + // Possible values: + // "PERMISSION_UNSPECIFIED" - Default case, should never be used. If + // this data is encountered in the DB any request should throw an + // exception. + // "PERMISSION_NO_ONE" - No one can mutate the entity. + // "PERMISSION_CREATOR" - Only the creator of an entity can mutate it. + // "PERMISSION_MEMBER" - Every human member of a space or the creator + // can mutate the entity. + EditableBy string `json:"editableBy,omitempty"` + + // FallbackText: A plain-text description of the attachment, used when + // clients cannot display formatted attachment (e.g. mobile push + // notifications). + FallbackText string `json:"fallbackText,omitempty"` + + // Id: ID of the resource. + Id *AppsDynamiteMessageId `json:"id,omitempty"` + + // IsInlineReply: Output only. Indicates if the message is an inline + // reply. Set to true only if the message's ParentPath is non-NULL. + // Currently, only inline replies have non-NULL ParentPath. See + // go/chat-be-inline-reply-indicator. + IsInlineReply bool `json:"isInlineReply,omitempty"` + + // LastEditTime: If the message was edited by a user, timestamp of the + // last edit, in microseconds. + LastEditTime int64 `json:"lastEditTime,omitempty,string"` + + // LastUpdateTime: Time when the Message text was last updated in + // microseconds. + LastUpdateTime int64 `json:"lastUpdateTime,omitempty,string"` + + // LocalId: A unique id specified on the client side. + LocalId string `json:"localId,omitempty"` - TopicalityScore float64 `json:"topicalityScore,omitempty"` + // MessageIntegrationPayload: An optional payload (restricted to 1P + // applications) that will be stored with this message. This can only be + // set by the 1P API and should be used to deliver additional data such + // a 1P sync version, 1P entity ID to the client for more advanced + // functionality [Eg. inform Group Tasks tab of new version while + // linking, fetch & render a live Task/Meet call tile]. + MessageIntegrationPayload *AppsDynamiteSharedMessageIntegrationPayload `json:"messageIntegrationPayload,omitempty"` - // ForceSendFields is a list of field names (e.g. "AffinityScore") to + // MessageOrigin: Where the message was posted from + // + // Possible values: + // "ORIGIN_NOT_SET" + // "ORIGIN_DYNAMITE" + // "ORIGIN_BABEL_INTEROP_LIVE" - The message is from Babel (Hangouts + // Classic) interop. + // "ORIGIN_BABEL_INTEROP_RETRY" - The message is from Babel interop + // retries from Manifold queue. + // "ORIGIN_BABEL" - The message came directly from Babel as + // source-of-truth + // "ORIGIN_BABEL_DUAL_WRITE" - The message came directly from Babel + // during dual-write + // "ORIGIN_BABEL_DUAL_WRITE_RETRY" - The message came directly from + // Babel Manifold queue during dual write + // "ORIGIN_BACKFILL_FROM_PAPYRUS" - The message was backfilled by + // go/dinnertrain as part of go/storage-consolidation. The backfill + // origin corresponds to the BackfillState in which the message was + // created. + // "ORIGIN_BACKFILL_FROM_GMAIL_ARCHIVE" + MessageOrigin string `json:"messageOrigin,omitempty"` + + // MessageState: State of the message, indicating whether the message is + // visible to all members in the group or is only visible to the sender + // only, or the private_message_viewer if it is set. + // + // Possible values: + // "PUBLIC" - Default - visible to the room / DM. + // "PRIVATE" - Private state - only visible to the message creator, + // and the private_message_viewer if set. + MessageState string `json:"messageState,omitempty"` + + // OriginAppSuggestions: Indicates if this message contains any + // suggestions that were provided by any Apps. + OriginAppSuggestions []*AppsDynamiteSharedOriginAppSuggestion `json:"originAppSuggestions,omitempty"` + + // PersonalLabels: Personal labels associated with a message for the + // viewing user. Order of entries is arbitrary and will not list + // duplicates of the same label_id. See go/chat-labels-design for + // details. NOTE: This will be unpopulated in the case of SpaceChangelog + // events. + PersonalLabels []*AppsDynamiteBackendLabelsPersonalLabelTag `json:"personalLabels,omitempty"` + + // PrivateMessageInfos: A list of per-user private information. This is + // deprecated, because we no longer plan to support partially private + // messages or private messages for multiple users. The message_state + // and private_message_viewer fields should be sufficient for this + // infrastructure. + PrivateMessageInfos []*AppsDynamitePrivateMessageInfo `json:"privateMessageInfos,omitempty"` + + // PrivateMessageViewer: Should only be set if the Message State is + // PRIVATE. If set, the message content is only visible to this user + // (and any apps associated with the message), as well as the message + // creator. If unset, a private message is visible to the message + // creator only. + PrivateMessageViewer *AppsDynamiteUserId `json:"privateMessageViewer,omitempty"` + + // Props: Contains additional (currently Hangouts Classic only) + // properties applicable to this message. + Props *AppsDynamiteMessageProps `json:"props,omitempty"` + + // QuotedByState: Output only. Whether this message has been quoted by + // another message or not. Used by clients to handle message edit flows + // for messages that have been quoted. + // + // Possible values: + // "QUOTED_BY_STATE_UNSPECIFIED" - Unspecified state for + // QuotedByState. + // "QUOTED_BY_STATE_HAS_BEEN_QUOTED" - State to indicate that this + // message is quoted by another message (excluding soft-deleted message + // and purged ones). + // "QUOTED_BY_STATE_HAS_NOT_BEEN_QUOTED" - State to indicate that this + // message are not quoted by another message. + QuotedByState string `json:"quotedByState,omitempty"` + + // QuotedMessageMetadata: Output only. Metadata for a message that is + // quoted by this message. + QuotedMessageMetadata *AppsDynamiteQuotedMessageMetadata `json:"quotedMessageMetadata,omitempty"` + + // Reactions: A list of user reactions to this message. Ordered by the + // timestamp of the first reaction, ascending (oldest to newest). + Reactions []*AppsDynamiteSharedReaction `json:"reactions,omitempty"` + + // Reports: Output only. Details of content reports. Set only when the + // request asks for it. + Reports []*AppsDynamiteContentReport `json:"reports,omitempty"` + + // RetentionSettings: The retention settings of the message. + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` + + // SecondaryMessageKey: A client-specified string that can be used to + // uniquely identify a message in a space, in lieu of `id.message_id`. + SecondaryMessageKey string `json:"secondaryMessageKey,omitempty"` + + // TextBody: Plaintext body of the Message. + TextBody string `json:"textBody,omitempty"` + + // TombstoneMetadata: Information for the stoning of a Message. + TombstoneMetadata *AppsDynamiteTombstoneMetadata `json:"tombstoneMetadata,omitempty"` + + // UpdaterId: ID of the User who last updated (created/edited/deleted) + // the Message. This includes information to identify if this was + // updated by an App on behalf of a user. + UpdaterId *AppsDynamiteUserId `json:"updaterId,omitempty"` + + // UploadMetadata: UploadMetadata b/36864213 is an ongoing effort to + // move UploadMetadata out of annotations field and save it to + // upload_metadata field only. After the migration, UploadMetadata will + // only be saved in this field. + UploadMetadata []*AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -1900,7 +2985,7 @@ type DynamiteSpacesScoringInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AffinityScore") to include + // NullFields is a list of field names (e.g. "Annotations") 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 @@ -1909,54 +2994,20 @@ type DynamiteSpacesScoringInfo struct { NullFields []string `json:"-"` } -func (s *DynamiteSpacesScoringInfo) MarshalJSON() ([]byte, error) { - type NoMethod DynamiteSpacesScoringInfo +func (s *AppsDynamiteMessage) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *DynamiteSpacesScoringInfo) UnmarshalJSON(data []byte) error { - type NoMethod DynamiteSpacesScoringInfo - var s1 struct { - AffinityScore gensupport.JSONFloat64 `json:"affinityScore"` - CommonContactCountAffinityScore gensupport.JSONFloat64 `json:"commonContactCountAffinityScore"` - ContactsIntersectionCount gensupport.JSONFloat64 `json:"contactsIntersectionCount"` - FinalScore gensupport.JSONFloat64 `json:"finalScore"` - FreshnessScore gensupport.JSONFloat64 `json:"freshnessScore"` - JoinedSpacesAffinityScore gensupport.JSONFloat64 `json:"joinedSpacesAffinityScore"` - MemberMetadataCount gensupport.JSONFloat64 `json:"memberMetadataCount"` - MessageScore gensupport.JSONFloat64 `json:"messageScore"` - SmallContactListAffinityScore gensupport.JSONFloat64 `json:"smallContactListAffinityScore"` - SmallUnjoinedSpacesAffinityScore gensupport.JSONFloat64 `json:"smallUnjoinedSpacesAffinityScore"` - SpaceAgeInDays gensupport.JSONFloat64 `json:"spaceAgeInDays"` - TopicalityScore gensupport.JSONFloat64 `json:"topicalityScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AffinityScore = float64(s1.AffinityScore) - s.CommonContactCountAffinityScore = float64(s1.CommonContactCountAffinityScore) - s.ContactsIntersectionCount = float64(s1.ContactsIntersectionCount) - s.FinalScore = float64(s1.FinalScore) - s.FreshnessScore = float64(s1.FreshnessScore) - s.JoinedSpacesAffinityScore = float64(s1.JoinedSpacesAffinityScore) - s.MemberMetadataCount = float64(s1.MemberMetadataCount) - s.MessageScore = float64(s1.MessageScore) - s.SmallContactListAffinityScore = float64(s1.SmallContactListAffinityScore) - s.SmallUnjoinedSpacesAffinityScore = float64(s1.SmallUnjoinedSpacesAffinityScore) - s.SpaceAgeInDays = float64(s1.SpaceAgeInDays) - s.TopicalityScore = float64(s1.TopicalityScore) - return nil -} - -// EmailAddress: A person's email address. -type EmailAddress struct { - // EmailAddress: The email address. - EmailAddress string `json:"emailAddress,omitempty"` +// AppsDynamiteMessageAttributes: Stores tombstone message attributes: +// go/tombstone-message-attributes-overview +type AppsDynamiteMessageAttributes struct { + // IsTombstone: If true: message is a tombstone in the client. Default + // false. + IsTombstone bool `json:"isTombstone,omitempty"` - // ForceSendFields is a list of field names (e.g. "EmailAddress") to + // ForceSendFields is a list of field names (e.g. "IsTombstone") 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 @@ -1964,7 +3015,7 @@ type EmailAddress struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EmailAddress") to include + // NullFields is a list of field names (e.g. "IsTombstone") 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 @@ -1973,20 +3024,26 @@ type EmailAddress struct { NullFields []string `json:"-"` } -func (s *EmailAddress) MarshalJSON() ([]byte, error) { - type NoMethod EmailAddress +func (s *AppsDynamiteMessageAttributes) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageAttributes raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type Emoji struct { - // CustomEmoji: A custom emoji. - CustomEmoji *CustomEmoji `json:"customEmoji,omitempty"` +// AppsDynamiteMessageContentReportSummary: Summarized info of content +// reports. Usually less expensive to fetch than to fetch all detailed +// reports. Set only when the request asks for it. +type AppsDynamiteMessageContentReportSummary struct { + // NumberReports: Total number of reports attached to this (revision of) + // message. + NumberReports int64 `json:"numberReports,omitempty"` - // Unicode: A basic emoji represented by a unicode string. - Unicode string `json:"unicode,omitempty"` + // NumberReportsAllRevisions: Totoal number of reports attached to all + // revisions of this message (i.e. since creation). Set only when the + // request asks for it. + NumberReportsAllRevisions int64 `json:"numberReportsAllRevisions,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomEmoji") to + // ForceSendFields is a list of field names (e.g. "NumberReports") 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 @@ -1994,7 +3051,7 @@ type Emoji struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomEmoji") to include + // NullFields is a list of field names (e.g. "NumberReports") 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 @@ -2003,36 +3060,23 @@ type Emoji struct { NullFields []string `json:"-"` } -func (s *Emoji) MarshalJSON() ([]byte, error) { - type NoMethod Emoji +func (s *AppsDynamiteMessageContentReportSummary) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageContentReportSummary raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// EnumOperatorOptions: Used to provide a search operator for enum -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -// For example, if you provide no operator for a *priority* enum -// property with possible values *p0* and *p1*, a query that contains -// the term *p0* returns items that have *p0* as the value of the -// *priority* property, as well as any items that contain the string -// *p0* in other fields. If you provide an operator name for the enum, -// such as *priority*, then search users can use that operator to refine -// results to only items that have *p0* as this property's value, with -// the query *priority:p0*. -type EnumOperatorOptions struct { - // OperatorName: Indicates the operator name required in the query in - // order to isolate the enum property. For example, if operatorName is - // *priority* and the property's name is *priorityVal*, then queries - // like *priority:* show results only where the value of the - // property named *priorityVal* matches **. By contrast, a search - // that uses the same ** without an operator returns all items - // where ** matches the value of any String properties or text - // within the content field for the item. The operator name can only - // contain lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` +// AppsDynamiteMessageId: Primary key for Message resource. +type AppsDynamiteMessageId struct { + // MessageId: Opaque, server-assigned ID of the Message. While this ID + // is guaranteed to be unique within the Space, it's not guaranteed to + // be globally unique. + MessageId string `json:"messageId,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + // ParentId: ID of the Message's immediate parent. + ParentId *AppsDynamiteMessageParentId `json:"parentId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MessageId") 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 @@ -2040,64 +3084,39 @@ type EnumOperatorOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") 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. "MessageId") 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 *EnumOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod EnumOperatorOptions +func (s *AppsDynamiteMessageId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// EnumPropertyOptions: The options for enum properties, which allow you -// to define a restricted set of strings to match user queries, set -// rankings for those string values, and define an operator name to be -// paired with those strings so that users can narrow results to only -// items with a specific value. For example, for items in a request -// tracking system with priority information, you could define *p0* as -// an allowable enum value and tie this enum to the operator name -// *priority* so that search users could add *priority:p0* to their -// query to restrict the set of results to only those items indexed with -// the value *p0*. -type EnumPropertyOptions struct { - // OperatorOptions: If set, describes how the enum should be used as a - // search operator. - OperatorOptions *EnumOperatorOptions `json:"operatorOptions,omitempty"` +type AppsDynamiteMessageInfo struct { + // Message: The content of a matching message. + Message *AppsDynamiteMessage `json:"message,omitempty"` - // OrderedRanking: Used to specify the ordered ranking for the - // enumeration that determines how the integer values provided in the - // possible EnumValuePairs are used to rank results. If specified, - // integer values must be provided for all possible EnumValuePair values - // given for this property. Can only be used if isRepeatable is false. + // SearcherMembershipState: Searcher's membership state in the space + // where the message is posted. // // Possible values: - // "NO_ORDER" - There is no ranking order for the property. Results - // aren't adjusted by this property's value. - // "ASCENDING" - This property is ranked in ascending order. Lower - // values indicate lower ranking. - // "DESCENDING" - This property is ranked in descending order. Lower - // values indicate higher ranking. - OrderedRanking string `json:"orderedRanking,omitempty"` - - // PossibleValues: The list of possible values for the enumeration - // property. All EnumValuePairs must provide a string value. If you - // specify an integer value for one EnumValuePair, then all possible - // EnumValuePairs must provide an integer value. Both the string value - // and integer value must be unique over all possible values. Once set, - // possible values cannot be removed or modified. If you supply an - // ordered ranking and think you might insert additional enum values in - // the future, leave gaps in the initial integer values to allow adding - // a value in between previously registered values. The maximum number - // of elements is 100. - PossibleValues []*EnumValuePair `json:"possibleValues,omitempty"` + // "MEMBER_UNKNOWN" - Default state, do not use + // "MEMBER_INVITED" - An invitation to the space has been sent + // "MEMBER_JOINED" - User has joined the space + // "MEMBER_NOT_A_MEMBER" - User is not a member + // "MEMBER_FAILED" - This state should never be stored in Spanner. It + // is a state for responses to the clients to indicate that membership + // mutations have failed and the member is in its previous state. + SearcherMembershipState string `json:"searcherMembershipState,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // ForceSendFields is a list of field names (e.g. "Message") 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 @@ -2105,45 +3124,30 @@ type EnumPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "Message") 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 *EnumPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod EnumPropertyOptions +func (s *AppsDynamiteMessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// EnumValuePair: The enumeration value pair defines two things: a -// required string value and an optional integer value. The string value -// defines the necessary query term required to retrieve that item, such -// as *p0* for a priority item. The integer value determines the ranking -// of that string value relative to other enumerated values for the same -// property. For example, you might associate *p0* with *0* and define -// another enum pair such as *p1* and *1*. You must use the integer -// value in combination with ordered ranking to set the ranking of a -// given value relative to other enumerated values for the same property -// name. Here, a ranking order of DESCENDING for *priority* properties -// results in a ranking boost for items indexed with a value of *p0* -// compared to items indexed with a value of *p1*. Without a specified -// ranking order, the integer value has no effect on item ranking. -type EnumValuePair struct { - // IntegerValue: The integer value of the EnumValuePair which must be - // non-negative. Optional. - IntegerValue int64 `json:"integerValue,omitempty"` - - // StringValue: The string value of the EnumValuePair. The maximum - // length is 32 characters. - StringValue string `json:"stringValue,omitempty"` +// AppsDynamiteMessageParentId: Primary key identifying Message +// resource's immediate parent. For top-level Messages, either topic_id +// or chat_id is populated. For replies, message_id is populated with +// the topic Message's ID. +type AppsDynamiteMessageParentId struct { + // TopicId: ID of the Topic this Message is posted to. NEXT TAG : 5 + TopicId *AppsDynamiteTopicId `json:"topicId,omitempty"` - // ForceSendFields is a list of field names (e.g. "IntegerValue") to + // ForceSendFields is a list of field names (e.g. "TopicId") 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 @@ -2151,28 +3155,29 @@ type EnumValuePair struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IntegerValue") 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. "TopicId") 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 *EnumValuePair) MarshalJSON() ([]byte, error) { - type NoMethod EnumValuePair +func (s *AppsDynamiteMessageParentId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageParentId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// EnumValues: List of enum values. -type EnumValues struct { - // Values: The maximum allowable length for string values is 32 - // characters. - Values []string `json:"values,omitempty"` +// AppsDynamiteMessageProps: Container for storing properties applicable +// to messages. For now (until storage consolidation is complete), it +// will only be used for babel props. In the future it could be used to +// house Dynamite properties for experimenting/rapid prototyping. +type AppsDynamiteMessageProps struct { + BabelProps *AppsDynamiteBabelMessageProps `json:"babelProps,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // ForceSendFields is a list of field names (e.g. "BabelProps") 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 @@ -2180,8 +3185,8 @@ type EnumValues struct { // 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 + // NullFields is a list of field names (e.g. "BabelProps") 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. @@ -2189,17 +3194,17 @@ type EnumValues struct { NullFields []string `json:"-"` } -func (s *EnumValues) MarshalJSON() ([]byte, error) { - type NoMethod EnumValues +func (s *AppsDynamiteMessageProps) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteMessageProps raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ErrorInfo: Error information about the response. -type ErrorInfo struct { - ErrorMessages []*ErrorMessage `json:"errorMessages,omitempty"` +type AppsDynamitePinnedItemId struct { + // DriveId: Identifier for a Drive file (e.g. Docs, Sheets, Slides). + DriveId string `json:"driveId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorMessages") to + // ForceSendFields is a list of field names (e.g. "DriveId") 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 @@ -2207,28 +3212,44 @@ type ErrorInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ErrorMessages") 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. "DriveId") 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 *ErrorInfo) MarshalJSON() ([]byte, error) { - type NoMethod ErrorInfo +func (s *AppsDynamitePinnedItemId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamitePinnedItemId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ErrorMessage: Error message per source response. -type ErrorMessage struct { - ErrorMessage string `json:"errorMessage,omitempty"` +// AppsDynamitePrivateMessageInfo: Private message information specific +// to a given user. +type AppsDynamitePrivateMessageInfo struct { + // Annotations: Annotations private to {@code userId}. + Annotations []*AppsDynamiteAnnotation `json:"annotations,omitempty"` - Source *Source `json:"source,omitempty"` + // Attachments: Attachments private to {@code userId}. + Attachments []*AppsDynamiteAttachment `json:"attachments,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorMessage") to + ContextualAddOnMarkup []*GoogleChatV1ContextualAddOnMarkup `json:"contextualAddOnMarkup,omitempty"` + + GsuiteIntegrationMetadata []*AppsDynamiteGsuiteIntegrationMetadata `json:"gsuiteIntegrationMetadata,omitempty"` + + // Text: Text private to {@code user_id}. Initial restriction: Only one + // of public text or private text is rendered on the client. So if + // public text is set, private text is ignored. + Text string `json:"text,omitempty"` + + // UserId: Required. The elements in this struct are visible to this + // user. + UserId *AppsDynamiteUserId `json:"userId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -2236,7 +3257,7 @@ type ErrorMessage struct { // 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 + // NullFields is a list of field names (e.g. "Annotations") 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 @@ -2245,36 +3266,85 @@ type ErrorMessage struct { NullFields []string `json:"-"` } -func (s *ErrorMessage) MarshalJSON() ([]byte, error) { - type NoMethod ErrorMessage +func (s *AppsDynamitePrivateMessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamitePrivateMessageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FacetBucket: A bucket in a facet is the basic unit of operation. A -// bucket can comprise either a single value OR a contiguous range of -// values, depending on the type of the field bucketed. FacetBucket is -// currently used only for returning the response object. -type FacetBucket struct { - // Count: Number of results that match the bucket value. Counts are only - // returned for searches when count accuracy is ensured. Cloud Search - // does not guarantee facet counts for any query and facet counts might - // be present only intermittently, even for identical queries. Do not - // build dependencies on facet count existence; instead use facet ount - // percentages which are always returned. - Count int64 `json:"count,omitempty"` +// AppsDynamiteQuotedMessageMetadata: Quote metadata: +// go/message-quoting-be-dd-v2. This proto is only used on the read +// path. For the request proto, refer to `QuotedMessagePayload`. Fields +// are either derived from storage directly from the Item this metadata +// belongs to, or is hydrated at read time from another Item read. Note: +// QuotedMessageMetadata proto is similar to Message proto with less +// field. Reasons to differtiate QuotedMessageMetadata from Message are: +// 1. Not all fields for original message is applicable for quoted +// message. (E.g. reactions, is_inline_reply, etc.), thus separting out +// for confusion. 2. We don't support nested message quoting. For more +// detailed discussion, please see http://shortn/_VsSXQb2C7P. For future +// reference: if your new feature/field will be supported in message +// quoting feature (go/chat-quoting-prd), you will need to add that +// field within QuotedMessageMetadata +type AppsDynamiteQuotedMessageMetadata struct { + // Annotations: Output only. Snapshot of the annotations of the quoted + // message. + Annotations []*AppsDynamiteAnnotation `json:"annotations,omitempty"` + + // AppProfile: Output only. Custom display profile info for apps. Will + // be empty for real users. + AppProfile *AppsDynamiteSharedAppProfile `json:"appProfile,omitempty"` + + // BotAttachmentState: Output only. The bot attachment state of the + // quoted message. Used by clients to display a bot attachment indicator + // in the UI. + // + // Possible values: + // "BOT_ATTACHMENT_STATE_UNSPECIFIED" + // "BOT_ATTACHMENT_STATE_HAS_BOT_ATTACHMENT" + // "BOT_ATTACHMENT_STATE_NO_BOT_ATTACHMENT" + BotAttachmentState string `json:"botAttachmentState,omitempty"` + + // CreatorId: Output only. ID of the User who posted the quoted message. + // This includes information to identify if the quoted message was + // posted by an App on behalf of a user. + CreatorId *AppsDynamiteUserId `json:"creatorId,omitempty"` + + // LastUpdateTimeWhenQuotedMicros: The `last_update_time` of the + // original message when the client initiated the quote creation. This + // is derived from the request payload passed from clients. Used to + // fetch the quoted message contents at a specific time on the read + // path. This field is populated from storage directly. + LastUpdateTimeWhenQuotedMicros int64 `json:"lastUpdateTimeWhenQuotedMicros,omitempty,string"` + + // MessageId: MessageId of the original message that is being quoted. + // This is derived from the request payload passed from clients. This + // field is populated from storage directly. + MessageId *AppsDynamiteMessageId `json:"messageId,omitempty"` + + // MessageState: Output only. The state of the quoted message. Used by + // clients to display tombstones for quotes that reference a deleted + // message. + // + // Possible values: + // "MESSAGE_STATE_UNSPECIFIED" + // "MESSAGE_STATE_ACTIVE" + // "MESSAGE_STATE_DELETED" + MessageState string `json:"messageState,omitempty"` - // Percentage: Percent of results that match the bucket value. The - // returned value is between (0-100], and is rounded down to an integer - // if fractional. If the value is not explicitly returned, it represents - // a percentage value that rounds to 0. Percentages are returned for all - // searches, but are an estimate. Because percentages are always - // returned, you should render percentages instead of counts. - Percentage int64 `json:"percentage,omitempty"` + // RetentionSettings: Output only. The retention (OTR) settings of the + // quoted message. + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` - Value *Value `json:"value,omitempty"` + // TextBody: Output only. Snapshot of the text body of the quoted + // message. + TextBody string `json:"textBody,omitempty"` - // ForceSendFields is a list of field names (e.g. "Count") to + // UploadMetadata: Output only. Upload metadata of the quoted message. + // NEXT TAG: 11 + UploadMetadata []*AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -2282,43 +3352,58 @@ type FacetBucket struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Count") 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. "Annotations") 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 *FacetBucket) MarshalJSON() ([]byte, error) { - type NoMethod FacetBucket +func (s *AppsDynamiteQuotedMessageMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteQuotedMessageMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FacetOptions: Specifies operators to return facet results for. There -// will be one FacetResult for every -// source_name/object_type/operator_name combination. -type FacetOptions struct { - // NumFacetBuckets: Maximum number of facet buckets that should be - // returned for this facet. Defaults to 10. Maximum value is 100. - NumFacetBuckets int64 `json:"numFacetBuckets,omitempty"` +type AppsDynamiteReadReceiptsSettingsUpdatedMetadata struct { + // ReadReceiptsEnabled: The new read receipts state. + ReadReceiptsEnabled bool `json:"readReceiptsEnabled,omitempty"` - // ObjectType: If object_type is set, only those objects of that type - // will be used to compute facets. If empty, then all objects will be - // used to compute facets. - ObjectType string `json:"objectType,omitempty"` + // ForceSendFields is a list of field names (e.g. "ReadReceiptsEnabled") + // 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:"-"` - // OperatorName: The name of the operator chosen for faceting. @see - // cloudsearch.SchemaPropertyOptions - OperatorName string `json:"operatorName,omitempty"` + // NullFields is a list of field names (e.g. "ReadReceiptsEnabled") 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:"-"` +} - // SourceName: Source name to facet on. Format: datasources/{source_id} - // If empty, all data sources will be used. - SourceName string `json:"sourceName,omitempty"` +func (s *AppsDynamiteReadReceiptsSettingsUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteReadReceiptsSettingsUpdatedMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ForceSendFields is a list of field names (e.g. "NumFacetBuckets") to +// AppsDynamiteRequiredMessageFeaturesMetadata: A list of capabilities +// that are used in this message. +type AppsDynamiteRequiredMessageFeaturesMetadata struct { + // Possible values: + // "REQUIRED_FEATURE_UNSPECIFIED" + // "REQUIRED_FEATURE_MESSAGE_QUOTING" + RequiredFeatures []string `json:"requiredFeatures,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RequiredFeatures") 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 @@ -2326,7 +3411,7 @@ type FacetOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NumFacetBuckets") to + // NullFields is a list of field names (e.g. "RequiredFeatures") 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 @@ -2336,61 +3421,69 @@ type FacetOptions struct { NullFields []string `json:"-"` } -func (s *FacetOptions) MarshalJSON() ([]byte, error) { - type NoMethod FacetOptions +func (s *AppsDynamiteRequiredMessageFeaturesMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteRequiredMessageFeaturesMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FacetResult: Source specific facet response -type FacetResult struct { - // Buckets: FacetBuckets for values in response containing at least a - // single result with the corresponding filter. - Buckets []*FacetBucket `json:"buckets,omitempty"` +type AppsDynamiteRoomUpdatedMetadata struct { + GroupDetailsMetadata *AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata `json:"groupDetailsMetadata,omitempty"` - // ObjectType: Object type for which facet results are returned. Can be - // empty. - ObjectType string `json:"objectType,omitempty"` + GroupLinkSharingEnabled bool `json:"groupLinkSharingEnabled,omitempty"` - // OperatorName: The name of the operator chosen for faceting. @see - // cloudsearch.SchemaPropertyOptions - OperatorName string `json:"operatorName,omitempty"` + // Initiator: The user who initiated this room update. Complete member + // profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, + // only the id will be filled in. + Initiator *AppsDynamiteFrontendUser `json:"initiator,omitempty"` - // SourceName: Source name for which facet results are returned. Will - // not be empty. - SourceName string `json:"sourceName,omitempty"` + // InitiatorType: The type of the user who initiated this room update. + // + // Possible values: + // "INITIATOR_TYPE_UNSPECIFIED" + // "INITIATOR_TYPE_END_USER" + // "INITIATOR_TYPE_ADMIN" + InitiatorType string `json:"initiatorType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Buckets") 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. + // Name: What was updated in the room. + Name string `json:"name,omitempty"` + + RenameMetadata *AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata `json:"renameMetadata,omitempty"` + + // Visibility: DEPRECATED: See GroupVisibility proto definition. + Visibility *AppsDynamiteSharedGroupVisibility `json:"visibility,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "GroupDetailsMetadata") 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. "Buckets") 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. "GroupDetailsMetadata") 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 *FacetResult) MarshalJSON() ([]byte, error) { - type NoMethod FacetResult +func (s *AppsDynamiteRoomUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteRoomUpdatedMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type FieldViolation struct { - // Description: The description of the error. - Description string `json:"description,omitempty"` +type AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata struct { + NewGroupDetails *AppsDynamiteSharedGroupDetails `json:"newGroupDetails,omitempty"` - // Field: Path of field with violation. - Field string `json:"field,omitempty"` + PrevGroupDetails *AppsDynamiteSharedGroupDetails `json:"prevGroupDetails,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to + // ForceSendFields is a list of field names (e.g. "NewGroupDetails") 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 @@ -2398,34 +3491,29 @@ type FieldViolation struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "NewGroupDetails") 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 *FieldViolation) MarshalJSON() ([]byte, error) { - type NoMethod FieldViolation +func (s *AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Filter: A generic way of expressing filters in a query, which -// supports two approaches: **1. Setting a ValueFilter.** The name must -// match an operator_name defined in the schema for your data source. -// **2. Setting a CompositeFilter.** The filters are evaluated using the -// logical operator. The top-level operators can only be either an AND -// or a NOT. AND can appear only at the top-most level. OR can appear -// only under a top-level AND. -type Filter struct { - CompositeFilter *CompositeFilter `json:"compositeFilter,omitempty"` +type AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata struct { + NewName string `json:"newName,omitempty"` - ValueFilter *ValueFilter `json:"valueFilter,omitempty"` + // PrevName: NEXT_TAG: 3 + PrevName string `json:"prevName,omitempty"` - // ForceSendFields is a list of field names (e.g. "CompositeFilter") to + // ForceSendFields is a list of field names (e.g. "NewName") 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 @@ -2433,35 +3521,27 @@ type Filter struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CompositeFilter") 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. "NewName") 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 *Filter) MarshalJSON() ([]byte, error) { - type NoMethod Filter +func (s *AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FilterOptions: Filter options to be applied on query. -type FilterOptions struct { - // Filter: Generic filter to restrict the search, such as `lang:en`, - // `site:xyz`. - Filter *Filter `json:"filter,omitempty"` - - // ObjectType: If object_type is set, only objects of that type are - // returned. This should correspond to the name of the object that was - // registered within the definition of schema. The maximum length is 256 - // characters. - ObjectType string `json:"objectType,omitempty"` +// AppsDynamiteRosterId: Primary key for Roster resource. +type AppsDynamiteRosterId struct { + // Id: Opaque, server-assigned ID of the Roster. + Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Filter") to + // ForceSendFields is a list of field names (e.g. "Id") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2469,7 +3549,7 @@ type FilterOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Filter") to include in API + // NullFields is a list of field names (e.g. "Id") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -2478,72 +3558,70 @@ type FilterOptions struct { NullFields []string `json:"-"` } -func (s *FilterOptions) MarshalJSON() ([]byte, error) { - type NoMethod FilterOptions +func (s *AppsDynamiteRosterId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteRosterId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FreshnessOptions: Indicates which freshness property to use when -// adjusting search ranking for an item. Fresher, more recent dates -// indicate higher quality. Use the freshness option property that best -// works with your data. For fileshare documents, last modified time is -// most relevant. For calendar event data, the time when the event -// occurs is a more relevant freshness indicator. In this way, calendar -// events that occur closer to the time of the search query are -// considered higher quality and ranked accordingly. -type FreshnessOptions struct { - // FreshnessDuration: The duration after which an object should be - // considered stale. The default value is 180 days (in seconds). - FreshnessDuration string `json:"freshnessDuration,omitempty"` +// AppsDynamiteSharedAction: An action that describes the behavior when +// the form is submitted. For example, an Apps Script can be invoked to +// handle the form. +type AppsDynamiteSharedAction struct { + // Function: Apps Script function to invoke when the containing element + // is clicked/activated. + Function string `json:"function,omitempty"` - // FreshnessProperty: This property indicates the freshness level of the - // object in the index. If set, this property must be a top-level - // property within the property definitions and it must be a timestamp - // type or date type. Otherwise, the Indexing API uses updateTime as the - // freshness indicator. The maximum length is 256 characters. When a - // property is used to calculate freshness, the value defaults to 2 - // years from the current time. - FreshnessProperty string `json:"freshnessProperty,omitempty"` + // Possible values: + // "INTERACTION_UNSPECIFIED" - Default value if interaction is not + // specified. + // "OPEN_DIALOG" - A dialog opens by clicking the button. + Interaction string `json:"interaction,omitempty"` - // ForceSendFields is a list of field names (e.g. "FreshnessDuration") - // to unconditionally include in API requests. By default, fields with + // Possible values: + // "SPINNER" - Displays a spinner to indicate that content is loading. + // "NONE" - Nothing is displayed. + LoadIndicator string `json:"loadIndicator,omitempty"` + + // Parameters: List of action parameters. + Parameters []*AppsDynamiteSharedActionActionParameter `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Function") 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. "FreshnessDuration") 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. "Function") 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 *FreshnessOptions) MarshalJSON() ([]byte, error) { - type NoMethod FreshnessOptions +func (s *AppsDynamiteSharedAction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GSuitePrincipal struct { - // GsuiteDomain: This principal represents all users of the Google - // Workspace domain of the customer. - GsuiteDomain bool `json:"gsuiteDomain,omitempty"` - - // GsuiteGroupEmail: This principal references a Google Workspace group - // name. - GsuiteGroupEmail string `json:"gsuiteGroupEmail,omitempty"` +// AppsDynamiteSharedActionActionParameter: List of string parameters to +// supply when the action method is invoked. For example, consider three +// snooze buttons: snooze now, snooze 1 day, snooze next week. You might +// use action method = snooze(), passing the snooze type and snooze time +// in the list of string parameters. +type AppsDynamiteSharedActionActionParameter struct { + // Key: The name of the parameter for the action script. + Key string `json:"key,omitempty"` - // GsuiteUserEmail: This principal references a Google Workspace user - // account. - GsuiteUserEmail string `json:"gsuiteUserEmail,omitempty"` + // Value: The value of the parameter. + Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "GsuiteDomain") to + // ForceSendFields is a list of field names (e.g. "Key") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -2551,36 +3629,91 @@ type GSuitePrincipal struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GsuiteDomain") 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. "Key") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *GSuitePrincipal) MarshalJSON() ([]byte, error) { - type NoMethod GSuitePrincipal +func (s *AppsDynamiteSharedActionActionParameter) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActionActionParameter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetCustomerIndexStatsResponse struct { - // AverageIndexedItemCount: Average item count for the given date range - // for which billing is done. - AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` +// AppsDynamiteSharedActivityFeedAnnotationData: Next Id: 5 +type AppsDynamiteSharedActivityFeedAnnotationData struct { + // ActivityFeedMessageId: Unique id of the Activity Feed message. This + // will be in the form of "space-id/message-id" or "dm-id/message-id", + // where the space-/dm-id and message-id components are extracted from + // the top-level MessageId in message.proto (http://shortn/_SulV51DNfF). + // This is copied into annotations so that no client changes are needed + // to access this value. Clients will need a unique id for every + // Activity Feed message to implement click-to-source. + ActivityFeedMessageId string `json:"activityFeedMessageId,omitempty"` - // Stats: Summary of indexed item counts, one for each day in the - // requested range. - Stats []*CustomerIndexStats `json:"stats,omitempty"` + ChatItem *AppsDynamiteSharedChatItem `json:"chatItem,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // SharedUserInfo: Only populated on read path and should not be + // persisted in storage. + SharedUserInfo *UserInfo `json:"sharedUserInfo,omitempty"` + + // UserInfo: Use shared_user_info instead. + UserInfo *AppsDynamiteSharedActivityFeedAnnotationDataUserInfo `json:"userInfo,omitempty"` // ForceSendFields is a list of field names (e.g. - // "AverageIndexedItemCount") to unconditionally include in API + // "ActivityFeedMessageId") 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. "ActivityFeedMessageId") 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 *AppsDynamiteSharedActivityFeedAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActivityFeedAnnotationData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedActivityFeedAnnotationDataUserInfo: UserId of the +// AF item updater to show and the updater count to show. +type AppsDynamiteSharedActivityFeedAnnotationDataUserInfo struct { + // UpdaterCountDisplayType: Describes how updater_count_to_show should + // be used. + // + // Possible values: + // "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED" + // "EXACT_COUNT" - A precise updater count is known and the value set + // in updater_count_to_show should be used. + // "NONZERO_COUNT" - A precise updater count could not be calculated, + // but there is at least one. Any value set in updater_count_to_show + // should NOT be used. + UpdaterCountDisplayType string `json:"updaterCountDisplayType,omitempty"` + + // UpdaterCountToShow: The number of updaters for clients to show, + // currently set to the total number of updaters minus the one set in + // updater_to_show. + UpdaterCountToShow int64 `json:"updaterCountToShow,omitempty"` + + // UpdaterToShow: The updater for clients to show. + UpdaterToShow *AppsDynamiteUserId `json:"updaterToShow,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "UpdaterCountDisplayType") 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 @@ -2588,7 +3721,7 @@ type GetCustomerIndexStatsResponse struct { // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AverageIndexedItemCount") + // NullFields is a list of field names (e.g. "UpdaterCountDisplayType") // 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 @@ -2598,24 +3731,25 @@ type GetCustomerIndexStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetCustomerIndexStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerIndexStatsResponse +func (s *AppsDynamiteSharedActivityFeedAnnotationDataUserInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActivityFeedAnnotationDataUserInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetCustomerQueryStatsResponse struct { - Stats []*CustomerQueryStats `json:"stats,omitempty"` +// AppsDynamiteSharedAppProfile: Optional field for apps overriding +// display info +type AppsDynamiteSharedAppProfile struct { + // AvatarEmoji: Displayed user avatar emoji. + AvatarEmoji string `json:"avatarEmoji,omitempty"` - // TotalQueryCount: Total successful query count (status code 200) for - // the given date range. - TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"` + // AvatarUrl: Displayed user avatar url. + AvatarUrl string `json:"avatarUrl,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Name: Displayed user name. + Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // ForceSendFields is a list of field names (e.g. "AvatarEmoji") 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 @@ -2623,68 +3757,66 @@ type GetCustomerQueryStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") 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. "AvatarEmoji") 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 *GetCustomerQueryStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerQueryStatsResponse +func (s *AppsDynamiteSharedAppProfile) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAppProfile raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GetCustomerSearchApplicationStatsResponse: Response format for search -// application stats for a customer. -type GetCustomerSearchApplicationStatsResponse struct { - // AverageSearchApplicationCount: Average search application count for - // the given date range. - AverageSearchApplicationCount int64 `json:"averageSearchApplicationCount,omitempty,string"` - - // Stats: Search application stats by date. - Stats []*CustomerSearchApplicationStats `json:"stats,omitempty"` +// AppsDynamiteSharedAssistantAnnotationData: This is the internal +// version of the API proto at +// google3/google/chat/v1/gsuite_message_integration.proto Data used to +// render Assistant suggestions. See go/bullseye-rendering. +type AppsDynamiteSharedAssistantAnnotationData struct { + // Suggestion: The suggestion to render in the card. + Suggestion *AppsDynamiteSharedAssistantSuggestion `json:"suggestion,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Unfulfillable: Set when the initial query was unfulfillable. Only an + // on-demand unfulfillable query will result in a response (not a + // proactive query). 1. On-demand: user explicitly invokes the bot 2. + // Proactive: bot makes proactive suggestion (when available) by + // listening to all user messages. + Unfulfillable *AppsDynamiteSharedAssistantUnfulfillableRequest `json:"unfulfillable,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AverageSearchApplicationCount") 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. "Suggestion") 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. - // "AverageSearchApplicationCount") 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. "Suggestion") 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 *GetCustomerSearchApplicationStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerSearchApplicationStatsResponse +func (s *AppsDynamiteSharedAssistantAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetCustomerSessionStatsResponse struct { - Stats []*CustomerSessionStats `json:"stats,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +// AppsDynamiteSharedAssistantDebugContext: Represents info regarding +// suggestion debug information. +type AppsDynamiteSharedAssistantDebugContext struct { + // Query: The query that triggered the resulting suggestion. + Query string `json:"query,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // ForceSendFields is a list of field names (e.g. "Query") 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 @@ -2692,7 +3824,7 @@ type GetCustomerSessionStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") to include in API + // NullFields is a list of field names (e.g. "Query") 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 @@ -2701,20 +3833,28 @@ type GetCustomerSessionStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetCustomerSessionStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerSessionStatsResponse +func (s *AppsDynamiteSharedAssistantDebugContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantDebugContext raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetCustomerUserStatsResponse struct { - Stats []*CustomerUserStats `json:"stats,omitempty"` +// AppsDynamiteSharedAssistantFeedbackContext: Data needed to render +// feedback on the Assistant card +type AppsDynamiteSharedAssistantFeedbackContext struct { + // FeedbackChips: Specifies a list of feedback chips to show + FeedbackChips []*AppsDynamiteSharedAssistantFeedbackContextFeedbackChip `json:"feedbackChips,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // ThumbsFeedback: Whether the thumbs feedback is provided + // + // Possible values: + // "THUMBS_FEEDBACK_UNSPECIFIED" - Unspecified thumbs state + // "NONE_SELECTED" - Thumbs are not selected + // "UP" - Thumbs up selected + // "DOWN" - Thumbs down selected + ThumbsFeedback string `json:"thumbsFeedback,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // ForceSendFields is a list of field names (e.g. "FeedbackChips") 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 @@ -2722,74 +3862,123 @@ type GetCustomerUserStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") 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. "FeedbackChips") 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 *GetCustomerUserStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerUserStatsResponse +func (s *AppsDynamiteSharedAssistantFeedbackContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantFeedbackContext raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetDataSourceIndexStatsResponse struct { - // AverageIndexedItemCount: Average item count for the given date range - // for which billing is done. - AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` +// AppsDynamiteSharedAssistantFeedbackContextFeedbackChip: Suggestion +// chips for users to indicate positive or negative feedback +type AppsDynamiteSharedAssistantFeedbackContextFeedbackChip struct { + // FeedbackChipType: What type of chip to display + // + // Possible values: + // "FEEDBACK_CHIP_TYPE_UNSPECIFIED" - Unspecified type of feedback + // chip + // "WRONG_TRIGGER" - Bad/noisy triggering + // "WRONG_FILE" - Incorrect files were presented + // "CORRECT_TRIGGER" - The Assistant card triggered appropriately + // "CORRECT_FILE" - The correct files were presented + // "DISRUPTIVE" - The feature is disruptive + // "OTHER" - Other reason + FeedbackChipType string `json:"feedbackChipType,omitempty"` + + // State: Whether the chip has been selected + // + // Possible values: + // "FEEDBACK_CHIP_STATE_UNSPECIFIED" - Unspecified selection state + // "SELECTED" - Chip is selected + // "UNSELECTED" - Chip is not selected + State string `json:"state,omitempty"` - // Stats: Summary of indexed item counts, one for each day in the - // requested range. - Stats []*DataSourceIndexStats `json:"stats,omitempty"` + // ForceSendFields is a list of field names (e.g. "FeedbackChipType") 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:"-"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // NullFields is a list of field names (e.g. "FeedbackChipType") 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:"-"` +} - // ForceSendFields is a list of field names (e.g. - // "AverageIndexedItemCount") 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. +func (s *AppsDynamiteSharedAssistantFeedbackContextFeedbackChip) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantFeedbackContextFeedbackChip + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedAssistantSessionContext: Session context specific +// for Assistant suggestions. +type AppsDynamiteSharedAssistantSessionContext struct { + // ContextualSessionId: Unique identifier populated by the contextual + // request handler for each vertical (Ex: File Suggestions, Smart + // Scheduling, etc.) that can be used to track sessions end-to-end. May + // span multiple users (sender-specific). + ContextualSessionId string `json:"contextualSessionId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContextualSessionId") + // 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. "AverageIndexedItemCount") - // 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. "ContextualSessionId") 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 *GetDataSourceIndexStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetDataSourceIndexStatsResponse +func (s *AppsDynamiteSharedAssistantSessionContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantSessionContext raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GetSearchApplicationQueryStatsResponse: Response format for getting -// query stats for a search application between given dates. -type GetSearchApplicationQueryStatsResponse struct { - // Stats: Query stats per date for a search application. - Stats []*SearchApplicationQueryStats `json:"stats,omitempty"` +// AppsDynamiteSharedAssistantSuggestion: Data for an Assistant +// suggestion. +type AppsDynamiteSharedAssistantSuggestion struct { + // DebugContext: Info regarding suggestion debug information. + DebugContext *AppsDynamiteSharedAssistantDebugContext `json:"debugContext,omitempty"` - // TotalQueryCount: Total successful query count (status code 200) for - // the given date range. - TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"` + // FeedbackContext: Data for rendering feedback. + FeedbackContext *AppsDynamiteSharedAssistantFeedbackContext `json:"feedbackContext,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // FindDocumentSuggestion: Suggestion type that suggests documents + // (docs, slides, sheets). + FindDocumentSuggestion *AppsDynamiteSharedFindDocumentSuggestion `json:"findDocumentSuggestion,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // SerializedSuggestions: String representation of the suggestions + // provided. + SerializedSuggestions string `json:"serializedSuggestions,omitempty"` + + // SessionContext: Session context specific to the Assistant suggestion. + SessionContext *AppsDynamiteSharedAssistantSessionContext `json:"sessionContext,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DebugContext") 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 @@ -2797,29 +3986,30 @@ type GetSearchApplicationQueryStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") 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. "DebugContext") 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 *GetSearchApplicationQueryStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationQueryStatsResponse +func (s *AppsDynamiteSharedAssistantSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantSuggestion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetSearchApplicationSessionStatsResponse struct { - Stats []*SearchApplicationSessionStats `json:"stats,omitempty"` +// AppsDynamiteSharedAssistantUnfulfillableRequest: Data for a response +// to an unfulfillable request. +type AppsDynamiteSharedAssistantUnfulfillableRequest struct { +} - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +type AppsDynamiteSharedAvatarInfo struct { + Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // ForceSendFields is a list of field names (e.g. "Emoji") 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 @@ -2827,7 +4017,7 @@ type GetSearchApplicationSessionStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") to include in API + // NullFields is a list of field names (e.g. "Emoji") 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 @@ -2836,20 +4026,157 @@ type GetSearchApplicationSessionStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetSearchApplicationSessionStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationSessionStatsResponse +func (s *AppsDynamiteSharedAvatarInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAvatarInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetSearchApplicationUserStatsResponse struct { - Stats []*SearchApplicationUserStats `json:"stats,omitempty"` +// AppsDynamiteSharedBackendUploadMetadata: Metadata used only in +// Dynamite backend for uploaded attachments. +type AppsDynamiteSharedBackendUploadMetadata struct { + // BlobPath: Blobstore path for the uploaded attachment + BlobPath string `json:"blobPath,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // ContentName: The original file name for the content, not the full + // path. + ContentName string `json:"contentName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // ContentSize: Scotty reported content size by default. + // http://google3/uploader/agent/scotty_agent.proto?l=101&rcl=140889785 + ContentSize int64 `json:"contentSize,omitempty,string"` + + // ContentType: Type is from Scotty's best_guess by default: + // http://google3/uploader/agent/scotty_agent.proto?l=51&rcl=140889785 + ContentType string `json:"contentType,omitempty"` + + // DlpScanOutcome: The results of the Data Loss Prevention (DLP) scan of + // the attachment. DEPRECATED: use dlp_scan_summary instead. + // + // Possible values: + // "SCAN_UNKNOWN_OUTCOME" + // "SCAN_SUCCEEDED_NO_VIOLATION" - This means no violation is detected + // on the given message/attachment. + // "SCAN_SUCCEEDED_BLOCK" - Violation is detected. The + // message/attachment will be blocked (or deleted if this happens in + // failure recovery), the user will be warned, and the violation will be + // logged to BIP. + // "SCAN_SUCCEEDED_WARN" - Violation is detected. The user will be + // warned, and the violation will be logged to BIP. + // "SCAN_SUCCEEDED_AUDIT_ONLY" - Violation is detected and will be + // logged to BIP (no user-facing action performed). + // "SCAN_FAILURE_EXCEPTION" - Rule fetch and evaluation were attempted + // but an exception occurred. + // "SCAN_FAILURE_TIMEOUT" - Rule fetch and evaluation were attempted + // but the scanning timed out. + // "SCAN_FAILURE_ALL_RULES_FAILED" - Rule fetch completed and + // evaluation were attempted, but all of the rules failed to be + // evaluated. + // "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS" - An + // IllegalStateException is thrown when executing DLP on attachments. + // This could happen if the space row is missing. + // "SCAN_SKIPPED_EXPERIMENT_DISABLED" - Rule fetch and evaluation is + // skipped because DLP is not enabled for the user. + // "SCAN_SKIPPED_CONSUMER" - Rule fetch and evaluation are skipped + // because the user sending message is consumer. + // "SCAN_SKIPPED_NON_HUMAN_USER" - Rule fetch and evaluation are + // skipped because the user sending message is a non-human user (i.e. a + // bot). + // "SCAN_SKIPPED_NO_MESSAGE" - Rule fetch and evaluation are skipped + // because there is no message to scan. Deprecated: this should not + // happen since there must be message or attachment for DLP scan. + // "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING" - Rule fetch and + // evaluation are skipped because the user has acknowledged the warning + // on the message that triggered the Warn violation and sent the message + // anyway. + // "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN" - Scanning was + // skipped because the message originated from Interop or Babel. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND" - Rule fetch + // happened, but rule evaluation is skipped because no rules were found. + // + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS" + // - Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given action params. + // "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER" - + // Rule fetch happened, but rule evaluation is skipped because none of + // the rules are applicable to the given trigger. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned permanent failure while converting the attachment to text. + // "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE" - Rule + // fetch happened, but rule evaluation is skipped because Changeling + // returned an empty response while converting the attachment to text. + // "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION" - Rules were fetched + // but some evaluations failed. No violation was found in the rules that + // were successfully evaluated. + // "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK" - Rules were fetched but some + // evaluations failed. A blocking violation was found in the rules that + // were successfully evaluated. The message/attachment will be blocked, + // the user will be notified, and the violation will be logged to BIP. A + // blocking violation takes precedence over all other violation types. + // "SCAN_SUCCEEDED_WITH_FAILURES_WARN" - Rules were fetched but some + // evaluations failed. A warn violation was found in the rules that were + // successfully evaluated. The user will be warned, and the violation + // will be logged to BIP. + // "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" - Rules were fetched but + // some evaluations failed. An audit-only violation was found in the + // rules that were successfully evaluated. The violation will be logged + // to BIP (no user-facing action performed). + DlpScanOutcome string `json:"dlpScanOutcome,omitempty"` + + // DlpScanSummary: Summary of a Data Loss Prevention (DLP) scan of the + // attachment. Attachments are evaluated in the backend when they are + // uploaded. + DlpScanSummary *AppsDynamiteBackendDlpScanSummary `json:"dlpScanSummary,omitempty"` + + // GroupId: GroupId to which this attachment is uploaded. + GroupId *AppsDynamiteGroupId `json:"groupId,omitempty"` + + // OriginalDimension: Original dimension of the content. Only set for + // image attachments. + OriginalDimension *AppsDynamiteSharedDimension `json:"originalDimension,omitempty"` + + // QuoteReplyMessageId: The message id of a quote reply referencing this + // attachment. When present, this attachment has been quoted in a reply + // message. Normally, the attachment is fetched through the message id + // in the blob_path, but in the case of a quote reply, the blob_path + // would contain the quoted message id. Thus this message id field is + // needed to fetch the quote reply message instead. This field is + // conditionally populated at read time for quotes and never persisted + // in storage. See go/message-quoting-attachments for more context. + QuoteReplyMessageId *AppsDynamiteMessageId `json:"quoteReplyMessageId,omitempty"` + + // Sha256: The SHA256 hash of the attachment bytes. + Sha256 string `json:"sha256,omitempty"` + + // UploadIp: User IP address at upload time. Ex. "123.1.2.3". Used by + // Ares abuse scanning. + UploadIp string `json:"uploadIp,omitempty"` + + // UploadTimestampUsec: Timestamp of when user finished uploading the + // content. + UploadTimestampUsec int64 `json:"uploadTimestampUsec,omitempty,string"` + + // VideoId: VideoID of the video attachments. This ID shall meets the + // Youtube ID format of 16 hex characters. For example, + // '4c14b8825af6059b' is a valid ID. + VideoId string `json:"videoId,omitempty"` + + // VideoThumbnailBlobId: Full Blobstore ID for the video thumbnail. + VideoThumbnailBlobId string `json:"videoThumbnailBlobId,omitempty"` + + // VirusScanResult: Result for a virus scan. + // + // Possible values: + // "UNKNOWN_VIRUS_SCAN_RESULT" + // "CLEAN" + // "INFECTED" + // "ERROR" + // "POLICY_VIOLATION" - The document violates Google's policy for + // executables and archives. + VirusScanResult string `json:"virusScanResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BlobPath") 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 @@ -2857,8 +4184,8 @@ type GetSearchApplicationUserStatsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Stats") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "BlobPath") 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. @@ -2866,62 +4193,30 @@ type GetSearchApplicationUserStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetSearchApplicationUserStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationUserStatsResponse +func (s *AppsDynamiteSharedBackendUploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedBackendUploadMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleDocsMetadata: The corpus specific metadata for office-type -// documents, from Google Docs and other sources. This message is passed -// to the scorer and beyond. Next tag: 7 -type GoogleDocsMetadata struct { - // AclInfo: Contains number of users and groups which can access the - // document. - AclInfo *AclInfo `json:"aclInfo,omitempty"` +// AppsDynamiteSharedBorderStyle: Represents the complete border style +// applied to widgets. +type AppsDynamiteSharedBorderStyle struct { + // CornerRadius: The corner radius for the border. + CornerRadius int64 `json:"cornerRadius,omitempty"` - // DocumentType: The conceptual type (presentation, document, etc.) of - // this document. + // StrokeColor: The colors to use when the type is `BORDER_TYPE_STROKE`. + StrokeColor *Color `json:"strokeColor,omitempty"` + + // Type: The border type. // // Possible values: - // "UNKNOWN" - If the type is unknown or not represented in this enum. - // "DOCUMENT" - Writely, Word, etc. - // "PRESENTATION" - Presently, PowerPoint, etc. - // "SPREADSHEET" - Trix, Excel, etc. - // "PDF" - File types for Gdrive objects are below. - // "IMAGE" - // "BINARY_BLOB" - Fall-back for unknown Gdrive types. - // "FUSION_TABLE" - // "FOLDER" - // "DRAWING" - // "VIDEO" - // "FORM" - // "DRAFT_SITE" - For Atari page and site drafts - // "DRAFT_SITE_PAGE" - // "JAM" - Jamboard Jams (go/jam) - // "SHORTCUT" - Drive Shortcuts (go/shortcuts) - // "SCRIPT" - DocumentType string `json:"documentType,omitempty"` - - // FileExtension: The file extension of the document. NOTE: As of - // October 2018 this field is not backfilled for old documents. - FileExtension string `json:"fileExtension,omitempty"` - - // LastContentModifiedTimestamp: The last time this document was - // modified, in seconds since epoch. Only counts content modifications. - LastContentModifiedTimestamp int64 `json:"lastContentModifiedTimestamp,omitempty,string"` - - // ResultInfo: Additional per-result information, akin to Gmail's - // SingleThreadResponse. Note: GWS no longer seems to use this field, - // but there's still one reference to it for Scribe, so we can't remove - // it. - ResultInfo *GoogleDocsResultInfo `json:"resultInfo,omitempty"` - - // TypeInfo: Contains additional information about the document - // depending on its type. - TypeInfo *TypeInfo `json:"typeInfo,omitempty"` + // "BORDER_TYPE_UNSPECIFIED" - No value specified. + // "NO_BORDER" - No border. + // "STROKE" - Outline. + Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "AclInfo") to + // ForceSendFields is a list of field names (e.g. "CornerRadius") 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 @@ -2929,54 +4224,45 @@ type GoogleDocsMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AclInfo") 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. "CornerRadius") 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 *GoogleDocsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleDocsMetadata +func (s *AppsDynamiteSharedBorderStyle) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedBorderStyle raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleDocsResultInfo: A message containing information about a -// specific result. This information is passed to the scorer and beyond; -// in particular, GWS relies on it to format the result in the UI. Split -// from GoogleDocsMetadata in case we later want to reuse the message. -type GoogleDocsResultInfo struct { - // AttachmentSha1: The SHA1 hash of the object in Drive, if any. - AttachmentSha1 string `json:"attachmentSha1,omitempty"` +// AppsDynamiteSharedButton: A button. Can be a text button or an image +// button. +type AppsDynamiteSharedButton struct { + // AltText: The alternative text used for accessibility. Has no effect + // when an icon is set; use `icon.alt_text` instead. + AltText string `json:"altText,omitempty"` - // CosmoId: The storage identifier for the object in Cosmo. This field - // is intended to used by Stratus/Moonshine integration only. It should - // not be exposed externally (please refer to encrypted_id for that - // purpose). - CosmoId *Id `json:"cosmoId,omitempty"` + // Color: If set, the button is filled with a solid background. + Color *Color `json:"color,omitempty"` - // CosmoNameSpace: For Cosmo objects, the Cosmo namespace the object was - // in. This allows downstream clients to identify whether a document was - // created in Writely or Kix, Presently or Punch, or whether it was - // uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of - // all Cosmo name spaces. - CosmoNameSpace int64 `json:"cosmoNameSpace,omitempty"` + // Disabled: If true, the button is displayed in a disabled state and + // doesn't respond to user actions. + Disabled bool `json:"disabled,omitempty"` - // EncryptedId: The encrypted (user-visible) id of this object. Knowing - // the id is sufficient to create a canonical URL for this document. - EncryptedId string `json:"encryptedId,omitempty"` + // Icon: The icon image. + Icon *AppsDynamiteSharedIcon `json:"icon,omitempty"` - // MimeType: The mimetype of the document. - MimeType string `json:"mimeType,omitempty"` + // OnClick: The action to perform when the button is clicked. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` - // ShareScope: The visibility indicator in the UI will be based upon - // this. - ShareScope *ShareScope `json:"shareScope,omitempty"` + // Text: The text of the button. + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttachmentSha1") to + // ForceSendFields is a list of field names (e.g. "AltText") 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 @@ -2984,32 +4270,27 @@ type GoogleDocsResultInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttachmentSha1") 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. "AltText") 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 *GoogleDocsResultInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleDocsResultInfo +func (s *AppsDynamiteSharedButton) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedButton raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GroupId: Id representing a group that could be a space, a chat, or a -// direct message space. Which ID is set here will determine which group -type GroupId struct { - // DmId: Unique, immutable ID of the Direct Message Space - DmId *DmId `json:"dmId,omitempty"` - - // SpaceId: Unique, immutable ID of the Space - SpaceId *SpaceId `json:"spaceId,omitempty"` +// AppsDynamiteSharedButtonList: A list of buttons layed out +// horizontally. +type AppsDynamiteSharedButtonList struct { + Buttons []*AppsDynamiteSharedButton `json:"buttons,omitempty"` - // ForceSendFields is a list of field names (e.g. "DmId") to + // ForceSendFields is a list of field names (e.g. "Buttons") 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 @@ -3017,8 +4298,8 @@ type GroupId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DmId") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Buttons") 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. @@ -3026,28 +4307,19 @@ type GroupId struct { NullFields []string `json:"-"` } -func (s *GroupId) MarshalJSON() ([]byte, error) { - type NoMethod GroupId +func (s *AppsDynamiteSharedButtonList) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedButtonList raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HtmlOperatorOptions: Used to provide a search operator for html -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -type HtmlOperatorOptions struct { - // OperatorName: Indicates the operator name required in the query in - // order to isolate the html property. For example, if operatorName is - // *subject* and the property's name is *subjectLine*, then queries like - // *subject:* show results only where the value of the property - // named *subjectLine* matches **. By contrast, a search that - // uses the same ** without an operator return all items where - // ** matches the value of any html properties or text within the - // content field for the item. The operator name can only contain - // lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` +type AppsDynamiteSharedCalendarEventAnnotationData struct { + CalendarEvent *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent `json:"calendarEvent,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + // EventCreation: Notification about the creation of an event. + EventCreation *AppsDynamiteSharedCalendarEventAnnotationDataEventCreation `json:"eventCreation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CalendarEvent") 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 @@ -3055,7 +4327,7 @@ type HtmlOperatorOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") to include + // NullFields is a list of field names (e.g. "CalendarEvent") 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 @@ -3064,24 +4336,26 @@ type HtmlOperatorOptions struct { NullFields []string `json:"-"` } -func (s *HtmlOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod HtmlOperatorOptions +func (s *AppsDynamiteSharedCalendarEventAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HtmlPropertyOptions: The options for html properties. -type HtmlPropertyOptions struct { - // OperatorOptions: If set, describes how the property should be used as - // a search operator. - OperatorOptions *HtmlOperatorOptions `json:"operatorOptions,omitempty"` +type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent struct { + // EndTime: The end time of the event. + EndTime *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime `json:"endTime,omitempty"` - // RetrievalImportance: Indicates the search quality importance of the - // tokens within the field when used for retrieval. Can only be set to - // DEFAULT or NONE. - RetrievalImportance *RetrievalImportance `json:"retrievalImportance,omitempty"` + // EventId: ID of the event. + EventId string `json:"eventId,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // StartTime: The start time of the event. + StartTime *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime `json:"startTime,omitempty"` + + // Title: Title of the event (at the time the message was generated). + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") 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 @@ -3089,29 +4363,29 @@ type HtmlPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "EndTime") 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 *HtmlPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod HtmlPropertyOptions +func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HtmlValues: List of html values. -type HtmlValues struct { - // Values: The maximum allowable length for html values is 2048 - // characters. - Values []string `json:"values,omitempty"` +type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime struct { + // AllDay: All day event. + AllDay *Date `json:"allDay,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // Timed: Non all day event. + Timed string `json:"timed,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AllDay") 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 @@ -3119,7 +4393,7 @@ type HtmlValues struct { // 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 + // NullFields is a list of field names (e.g. "AllDay") 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 @@ -3128,115 +4402,140 @@ type HtmlValues struct { NullFields []string `json:"-"` } -func (s *HtmlValues) MarshalJSON() ([]byte, error) { - type NoMethod HtmlValues +func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Id: Identifies a particular object, including both Users and -// DirEntries. This Id is unique across the entire server instance, such -// as the production or qa instance. -type Id struct { - // CreatorUserId: The User account in which the DirEntry was originally - // created. If name_space==GAIA, then it's the gaia_id of the user this - // id is referring to. - CreatorUserId uint64 `json:"creatorUserId,omitempty,string"` +// AppsDynamiteSharedCalendarEventAnnotationDataEventCreation: Creation +// of an event (no extra data for now). +type AppsDynamiteSharedCalendarEventAnnotationDataEventCreation struct { +} - // LocalId: The local identifier for the DirEntry (local to the - // creator's account). local_id + app_name is guaranteed to be unique - // within the creator account, but not across all User accounts. The - // string is case sensitive. Ignore if name_space==GAIA. NB For - // name_space==COSMO, all local_id's should be defined in - // google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java - // as they have a special predefined meaning. See - // cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT - // recommendations when generating IDs. - LocalId string `json:"localId,omitempty"` +// AppsDynamiteSharedCallAnnotationData: Data used to render Meet or +// Google Voice chips in Chat. See +// go/dynamite-calling-artifacts-in-chat. +type AppsDynamiteSharedCallAnnotationData struct { + // CallEndedTimestamp: Timestamp when the call ended. Used to render the + // call ended system message. + CallEndedTimestamp string `json:"callEndedTimestamp,omitempty"` - // NameSpace: The name space in which this id is unique (typically the - // application that created it). Values should be drawn from the above - // enum, but for experimentation, use values greater than 1000. - NameSpace int64 `json:"nameSpace,omitempty"` + // CallMetadata: Required. Call metadata required to create the call + // artifacts. For now, the metadata contains only the call id to + // identify the call. This field allows additional data (e.g. voice call + // type) to be added if needed in the future. + CallMetadata *AppsDynamiteSharedCallMetadata `json:"callMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreatorUserId") to - // unconditionally include in API requests. By default, fields with + // CallStatus: Required. Indicates the call status for the space. Used + // to determine the chip's state. + // + // Possible values: + // "CALL_STATUS_UNSPECIFIED" - Default value for the enum. DO NOT USE. + // "CALL_STARTED" - Indicates that the call has started. + // "CALL_MISSED" - Indicates that the call is missed. + // "CALL_ENDED" - Indicates that the call has ended. + CallStatus string `json:"callStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CallEndedTimestamp") + // 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. "CreatorUserId") 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. "CallEndedTimestamp") 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 *Id) MarshalJSON() ([]byte, error) { - type NoMethod Id +func (s *AppsDynamiteSharedCallAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCallAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type IndexItemOptions struct { - // AllowUnknownGsuitePrincipals: Specifies if the index request should - // allow Google Workspace principals that do not exist or are deleted. - AllowUnknownGsuitePrincipals bool `json:"allowUnknownGsuitePrincipals,omitempty"` +// AppsDynamiteSharedCallMetadata: Metadata required to generate call +// artifacts. This can either be the metadata for a Meet or, in the +// future, Google Voice call. +type AppsDynamiteSharedCallMetadata struct { + // MeetMetadata: Metadata specific for the Meet call. + MeetMetadata *AppsDynamiteSharedMeetMetadata `json:"meetMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AllowUnknownGsuitePrincipals") 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. "MeetMetadata") 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. - // "AllowUnknownGsuitePrincipals") 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. "MeetMetadata") 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 *IndexItemOptions) MarshalJSON() ([]byte, error) { - type NoMethod IndexItemOptions +func (s *AppsDynamiteSharedCallMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCallMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type IndexItemRequest struct { - // ConnectorName: The name of connector making this call. Format: - // datasources/{source_id}/connectors/{ID} - ConnectorName string `json:"connectorName,omitempty"` - - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - - IndexItemOptions *IndexItemOptions `json:"indexItemOptions,omitempty"` - - // Item: The name of the item. Format: - // datasources/{source_id}/items/{item_id} - Item *Item `json:"item,omitempty"` +// AppsDynamiteSharedCard: A card is a UI element that can contain UI +// widgets such as text and images. For more information, see Cards . +// For example, the following JSON creates a card that has a header with +// the name, position, icons, and link for a contact, followed by a +// section with contact information like email and phone number. ``` { +// "header": { "title": "Heba Salam", "subtitle": "Software Engineer", +// "imageStyle": "ImageStyle.AVATAR", "imageUrl": +// "https://example.com/heba_salam.png", "imageAltText": "Avatar for +// Heba Salam" }, "sections" : [ { "header": "Contact Info", "widgets": +// [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": +// "heba.salam@example.com" } }, { "decoratedText": { "icon": { +// "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": +// { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } +// }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { +// "openLink": { "url": "https://example.com/share" } } }, { +// "textButton": { "text": "Edit", }, "onClick": { "action": { +// "function": "goToView", "parameters": [ { "key": "viewType", "value": +// "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], +// "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], +// "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { +// "openLink": { "url": "https://example.com/feedback" } } } ], "name": +// "contact-card-K3wB6arF2H9L" } ``` +type AppsDynamiteSharedCard struct { + // CardActions: The actions of this card. They are added to a card's + // generated toolbar menu. For example, the following JSON constructs a + // card action menu with Settings and Send Feedback options: ``` + // "card_actions": [ { "actionLabel": "Setting", "onClick": { "action": + // { "functionName": "goToView", "parameters": [ { "key": "viewType", + // "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } + // }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { + // "url": "https://example.com/feedback" } } } ] ``` + CardActions []*AppsDynamiteSharedCardCardAction `json:"cardActions,omitempty"` + + // Header: The header of the card. A header usually contains a title and + // an image. + Header *AppsDynamiteSharedCardCardHeader `json:"header,omitempty"` + + // Name: Name of the card, which is used as a identifier for the card in + // card navigation. + Name string `json:"name,omitempty"` - // Mode: Required. The RequestMode for this request. - // - // Possible values: - // "UNSPECIFIED" - The priority is not specified in the update - // request. Leaving priority unspecified results in an update failure. - // "SYNCHRONOUS" - For real-time updates. - // "ASYNCHRONOUS" - For changes that are executed after the response - // is sent back to the caller. - Mode string `json:"mode,omitempty"` + // Sections: Sections are separated by a line divider. + Sections []*AppsDynamiteSharedCardSection `json:"sections,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConnectorName") to + // ForceSendFields is a list of field names (e.g. "CardActions") 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 @@ -3244,7 +4543,7 @@ type IndexItemRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConnectorName") to include + // NullFields is a list of field names (e.g. "CardActions") 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 @@ -3253,110 +4552,71 @@ type IndexItemRequest struct { NullFields []string `json:"-"` } -func (s *IndexItemRequest) MarshalJSON() ([]byte, error) { - type NoMethod IndexItemRequest +func (s *AppsDynamiteSharedCard) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCard raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// InitializeCustomerRequest: Request message for `InitializeCustomer` -// method. -type InitializeCustomerRequest struct { -} - -// IntegerOperatorOptions: Used to provide a search operator for integer -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -type IntegerOperatorOptions struct { - // GreaterThanOperatorName: Indicates the operator name required in the - // query in order to isolate the integer property using the greater-than - // operator. For example, if greaterThanOperatorName is *priorityabove* - // and the property's name is *priorityVal*, then queries like - // *priorityabove:* show results only where the value of the - // property named *priorityVal* is greater than **. The operator - // name can only contain lowercase letters (a-z). The maximum length is - // 32 characters. - GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` - - // LessThanOperatorName: Indicates the operator name required in the - // query in order to isolate the integer property using the less-than - // operator. For example, if lessThanOperatorName is *prioritybelow* and - // the property's name is *priorityVal*, then queries like - // *prioritybelow:* show results only where the value of the - // property named *priorityVal* is less than **. The operator - // name can only contain lowercase letters (a-z). The maximum length is - // 32 characters. - LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` +// AppsDynamiteSharedCardCardAction: A card action is the action +// associated with the card. For example, an invoice card might include +// actions such as delete invoice, email invoice, or open the invoice in +// a browser. +type AppsDynamiteSharedCardCardAction struct { + // ActionLabel: The label that displays as the action menu item. + ActionLabel string `json:"actionLabel,omitempty"` - // OperatorName: Indicates the operator name required in the query in - // order to isolate the integer property. For example, if operatorName - // is *priority* and the property's name is *priorityVal*, then queries - // like *priority:* show results only where the value of the - // property named *priorityVal* matches **. By contrast, a search - // that uses the same ** without an operator returns all items - // where ** matches the value of any String properties or text - // within the content field for the item. The operator name can only - // contain lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` + // OnClick: The onclick action for this action item. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "GreaterThanOperatorName") 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. "ActionLabel") 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. "GreaterThanOperatorName") - // 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. "ActionLabel") 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 *IntegerOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod IntegerOperatorOptions +func (s *AppsDynamiteSharedCardCardAction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardCardAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// IntegerPropertyOptions: The options for integer properties. -type IntegerPropertyOptions struct { - // MaximumValue: The maximum value of the property. The minimum and - // maximum values for the property are used to rank results according to - // the ordered ranking. Indexing requests with values greater than the - // maximum are accepted and ranked with the same weight as items indexed - // with the maximum value. - MaximumValue int64 `json:"maximumValue,omitempty,string"` - - // MinimumValue: The minimum value of the property. The minimum and - // maximum values for the property are used to rank results according to - // the ordered ranking. Indexing requests with values less than the - // minimum are accepted and ranked with the same weight as items indexed - // with the minimum value. - MinimumValue int64 `json:"minimumValue,omitempty,string"` - - // OperatorOptions: If set, describes how the integer should be used as - // a search operator. - OperatorOptions *IntegerOperatorOptions `json:"operatorOptions,omitempty"` +type AppsDynamiteSharedCardCardHeader struct { + // ImageAltText: The alternative text of this image which is used for + // accessibility. + ImageAltText string `json:"imageAltText,omitempty"` - // OrderedRanking: Used to specify the ordered ranking for the integer. - // Can only be used if isRepeatable is false. + // ImageType: The image's type. // // Possible values: - // "NO_ORDER" - There is no ranking order for the property. Results - // are not adjusted by this property's value. - // "ASCENDING" - This property is ranked in ascending order. Lower - // values indicate lower ranking. - // "DESCENDING" - This property is ranked in descending order. Lower - // values indicate higher ranking. - OrderedRanking string `json:"orderedRanking,omitempty"` + // "SQUARE" - Applies no cropping to the image. + // "CIRCLE" - Applies a circular mask to the image. + ImageType string `json:"imageType,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaximumValue") to + // ImageUrl: The URL of the image in the card header. + ImageUrl string `json:"imageUrl,omitempty"` + + // Subtitle: The subtitle of the card header. + Subtitle string `json:"subtitle,omitempty"` + + // Title: The title of the card header. The title must be specified. The + // header has a fixed height: if both a title and subtitle are + // specified, each takes up one line. If only the title is specified, it + // takes up both lines. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageAltText") 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 @@ -3364,7 +4624,7 @@ type IntegerPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaximumValue") to include + // NullFields is a list of field names (e.g. "ImageAltText") 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 @@ -3373,17 +4633,25 @@ type IntegerPropertyOptions struct { NullFields []string `json:"-"` } -func (s *IntegerPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod IntegerPropertyOptions +func (s *AppsDynamiteSharedCardCardHeader) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardCardHeader raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// IntegerValues: List of integer values. -type IntegerValues struct { - Values googleapi.Int64s `json:"values,omitempty"` +// AppsDynamiteSharedCardClickSuggestion: Card click which identifies +// one suggestion provided by the app/bot. +type AppsDynamiteSharedCardClickSuggestion struct { + // ActionId: Identify the button/action that created the suggestion. A + // simple example would be a card button within the stream, or the id + // which can identify a specific suggestion. + ActionId string `json:"actionId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // SuggestionMessageId: The message_id for the message that was posted + // by the app/bot. + SuggestionMessageId *AppsDynamiteMessageId `json:"suggestionMessageId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionId") 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 @@ -3391,8 +4659,8 @@ type IntegerValues struct { // 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 + // NullFields is a list of field names (e.g. "ActionId") 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. @@ -3400,29 +4668,36 @@ type IntegerValues struct { NullFields []string `json:"-"` } -func (s *IntegerValues) MarshalJSON() ([]byte, error) { - type NoMethod IntegerValues +func (s *AppsDynamiteSharedCardClickSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardClickSuggestion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Interaction: Represents an interaction between a user and an item. -type Interaction struct { - // InteractionTime: The time when the user acted on the item. If - // multiple actions of the same type exist for a single user, only the - // most recent action is recorded. - InteractionTime string `json:"interactionTime,omitempty"` +// AppsDynamiteSharedCardSection: A section contains a collection of +// widgets that are rendered vertically in the order that they are +// specified. Across all platforms, cards have a narrow fixed width, so +// there is currently no need for layout properties, for example, float. +type AppsDynamiteSharedCardSection struct { + // Collapsible: Indicates whether this section is collapsible. If a + // section is collapsible, the description must be given. + Collapsible bool `json:"collapsible,omitempty"` - // Principal: The user that acted on the item. - Principal *Principal `json:"principal,omitempty"` + // Header: The header of the section. Formatted text is supported. + Header string `json:"header,omitempty"` - // Possible values: - // "UNSPECIFIED" - Invalid value. - // "VIEW" - This interaction indicates the user viewed the item. - // "EDIT" - This interaction indicates the user edited the item. - Type string `json:"type,omitempty"` + // UncollapsibleWidgetsCount: The number of uncollapsible widgets. For + // example, when a section contains five widgets and the + // `numUncollapsibleWidget` is set to `2`, the first two widgets are + // always shown and the last three are collapsed as default. The + // `numUncollapsibleWidget` is taken into account only when collapsible + // is set to `true`. + UncollapsibleWidgetsCount int64 `json:"uncollapsibleWidgetsCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "InteractionTime") to + // Widgets: A section must contain at least 1 widget. + Widgets []*AppsDynamiteSharedWidget `json:"widgets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Collapsible") 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 @@ -3430,83 +4705,68 @@ type Interaction struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InteractionTime") 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. "Collapsible") 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 *Interaction) MarshalJSON() ([]byte, error) { - type NoMethod Interaction +func (s *AppsDynamiteSharedCardSection) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardSection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Item: Represents a single object that is an item in the search index, -// such as a file, folder, or a database record. -type Item struct { - // Acl: Access control list for this item. - Acl *ItemAcl `json:"acl,omitempty"` +// AppsDynamiteSharedChatItem: Next Id: 5 +type AppsDynamiteSharedChatItem struct { + // ActivityInfo: Information needed to render the specific type of feed + // item. + ActivityInfo []*AppsDynamiteSharedChatItemActivityInfo `json:"activityInfo,omitempty"` - // Content: Item content to be indexed and made text searchable. - Content *ItemContent `json:"content,omitempty"` + // GroupInfo: Only populated on read path and should not be persisted in + // storage. + GroupInfo *AppsDynamiteSharedChatItemGroupInfo `json:"groupInfo,omitempty"` - // ItemType: The type for this item. - // - // Possible values: - // "UNSPECIFIED" - // "CONTENT_ITEM" - An item that is indexed for the only purpose of - // serving information. These items cannot be referred in containerName - // or inheritAclFrom fields. - // "CONTAINER_ITEM" - An item that gets indexed and whose purpose is - // to supply other items with ACLs and/or contain other items. - // "VIRTUAL_CONTAINER_ITEM" - An item that does not get indexed, but - // otherwise has the same purpose as CONTAINER_ITEM. - ItemType string `json:"itemType,omitempty"` + // MessageInfo: Additional information about the original chat message + // that isn't captured in the top-level message proto. + MessageInfo *AppsDynamiteSharedMessageInfo `json:"messageInfo,omitempty"` - // Metadata: The metadata information. - Metadata *ItemMetadata `json:"metadata,omitempty"` - - // Name: The name of the Item. Format: - // datasources/{source_id}/items/{item_id} This is a required field. The - // maximum length is 1536 characters. - Name string `json:"name,omitempty"` + // ForceSendFields is a list of field names (e.g. "ActivityInfo") 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:"-"` - // Payload: Additional state connector can store for this item. The - // maximum length is 10000 bytes. - Payload string `json:"payload,omitempty"` + // NullFields is a list of field names (e.g. "ActivityInfo") 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:"-"` +} - // Queue: Queue this item belongs to. The maximum length is 100 - // characters. - Queue string `json:"queue,omitempty"` +func (s *AppsDynamiteSharedChatItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Status: Status of the item. Output only field. - Status *ItemStatus `json:"status,omitempty"` +type AppsDynamiteSharedChatItemActivityInfo struct { + FeedItemNudge *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge `json:"feedItemNudge,omitempty"` - // StructuredData: The structured data for the item that should conform - // to a registered object definition in the schema for the data source. - StructuredData *ItemStructuredData `json:"structuredData,omitempty"` + FeedItemReactions *AppsDynamiteSharedChatItemActivityInfoFeedItemReactions `json:"feedItemReactions,omitempty"` - // Version: Required. The indexing system stores the version from the - // datasource as a byte string and compares the Item version in the - // index to the version of the queued Item using lexical ordering. Cloud - // Search Indexing won't index or delete any queued item with a version - // value that is less than or equal to the version of the currently - // indexed item. The maximum length for this field is 1024 bytes. For - // information on how item version affects the deletion process, refer - // to Handle revisions after manual deletes - // (https://developers.google.com/cloud-search/docs/guides/operations). - Version string `json:"version,omitempty"` + FeedItemThreadReply *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply `json:"feedItemThreadReply,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + FeedItemUserMention *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention `json:"feedItemUserMention,omitempty"` - // ForceSendFields is a list of field names (e.g. "Acl") to + // ForceSendFields is a list of field names (e.g. "FeedItemNudge") 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 @@ -3514,124 +4774,80 @@ type Item struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Acl") 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. "FeedItemNudge") 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 *Item) MarshalJSON() ([]byte, error) { - type NoMethod Item +func (s *AppsDynamiteSharedChatItemActivityInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ItemAcl: Access control list information for the item. For more -// information see Map ACLs -// (https://developers.google.com/cloud-search/docs/guides/acls). -type ItemAcl struct { - // AclInheritanceType: Sets the type of access rules to apply when an - // item inherits its ACL from a parent. This should always be set in - // tandem with the inheritAclFrom field. Also, when the inheritAclFrom - // field is set, this field should be set to a valid AclInheritanceType. +// AppsDynamiteSharedChatItemActivityInfoFeedItemNudge: Existence of +// this attribute indicates that the AF item is for a message nudge +// item. +type AppsDynamiteSharedChatItemActivityInfoFeedItemNudge struct { + // NudgeType: Nudge type of the nudge feed item. // // Possible values: - // "NOT_APPLICABLE" - The default value when this item does not - // inherit an ACL. Use NOT_APPLICABLE when inheritAclFrom is empty. An - // item without ACL inheritance can still have ACLs supplied by its own - // readers and deniedReaders fields. - // "CHILD_OVERRIDE" - During an authorization conflict, the ACL of the - // child item determines its read access. - // "PARENT_OVERRIDE" - During an authorization conflict, the ACL of - // the parent item specified in the inheritAclFrom field determines read - // access. - // "BOTH_PERMIT" - Access is granted only if this item and the parent - // item specified in the inheritAclFrom field both permit read access. - AclInheritanceType string `json:"aclInheritanceType,omitempty"` - - // DeniedReaders: List of principals who are explicitly denied access to - // the item in search results. While principals are denied access by - // default, use denied readers to handle exceptions and override the - // list allowed readers. The maximum number of elements is 100. - DeniedReaders []*Principal `json:"deniedReaders,omitempty"` - - // InheritAclFrom: The name of the item to inherit the Access Permission - // List (ACL) from. Note: ACL inheritance *only* provides access - // permissions to child items and does not define structural - // relationships, nor does it provide convenient ways to delete large - // groups of items. Deleting an ACL parent from the index only alters - // the access permissions of child items that reference the parent in - // the inheritAclFrom field. The item is still in the index, but may not - // visible in search results. By contrast, deletion of a container item - // also deletes all items that reference the container via the - // containerName field. The maximum length for this field is 1536 - // characters. - InheritAclFrom string `json:"inheritAclFrom,omitempty"` - - // Owners: Optional. List of owners for the item. This field has no - // bearing on document access permissions. It does, however, offer a - // slight ranking boosts items where the querying user is an owner. The - // maximum number of elements is 5. - Owners []*Principal `json:"owners,omitempty"` - - // Readers: List of principals who are allowed to see the item in search - // results. Optional if inheriting permissions from another item or if - // the item is not intended to be visible, such as virtual containers. - // The maximum number of elements is 1000. - Readers []*Principal `json:"readers,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AclInheritanceType") - // to unconditionally include in API requests. By default, fields with + // "UNDEFINED" + // "REPLY" - The message receiver is nudged since the message may + // require a reply. + // "FOLLOW_UP" - The message creator is nudged since the message may + // require a follow-up. + NudgeType string `json:"nudgeType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NudgeType") 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. "AclInheritanceType") 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. "NudgeType") 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 *ItemAcl) MarshalJSON() ([]byte, error) { - type NoMethod ItemAcl +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemNudge raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ItemContent: Content of an item to be indexed and surfaced by Cloud -// Search. Only UTF-8 encoded strings are allowed as inlineContent. If -// the content is uploaded and not binary, it must be UTF-8 encoded. -type ItemContent struct { - // ContentDataRef: Upload reference ID of a previously uploaded content - // via write method. - ContentDataRef *UploadItemRef `json:"contentDataRef,omitempty"` +// AppsDynamiteSharedChatItemActivityInfoFeedItemReactions: Existence of +// this attribute indicates that the AF item is for message reactions, +// but it is intentionally left empty since the list of reactions can be +// found in the top-level Message.Reactions. +type AppsDynamiteSharedChatItemActivityInfoFeedItemReactions struct { +} +// AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply: Existence +// of this attribute indicates that the AF item is for thread reply. +type AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply struct { + // ReplyType: Reply type of the thread reply feed item. The field is not + // persisted in storage. It's populated when constructing Activity Feed + // payload. + // // Possible values: - // "UNSPECIFIED" - Invalid value. - // "HTML" - contentFormat is HTML. - // "TEXT" - contentFormat is free text. - // "RAW" - contentFormat is raw bytes. - ContentFormat string `json:"contentFormat,omitempty"` - - // Hash: Hashing info calculated and provided by the API client for - // content. Can be used with the items.push method to calculate modified - // state. The maximum length is 2048 characters. - Hash string `json:"hash,omitempty"` - - // InlineContent: Content that is supplied inlined within the update - // method. The maximum length is 102400 bytes (100 KiB). - InlineContent string `json:"inlineContent,omitempty"` + // "UNSPECIFIED" + // "ROOT" - The thread reply feed item is for the root message poster. + // "FOLLOWER" - The thread reply feed item is for a thread follower + // who's not the root message poster. + ReplyType string `json:"replyType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContentDataRef") to + // ForceSendFields is a list of field names (e.g. "ReplyType") 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 @@ -3639,49 +4855,34 @@ type ItemContent struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentDataRef") 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. "ReplyType") 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 *ItemContent) MarshalJSON() ([]byte, error) { - type NoMethod ItemContent +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ItemCountByStatus struct { - // Count: Number of items matching the status code. - Count int64 `json:"count,omitempty,string"` - - // IndexedItemsCount: Number of items matching the status code for which - // billing is done. This excludes virtual container items from the total - // count. This count would not be applicable for items with ERROR or - // NEW_ITEM status code. - IndexedItemsCount int64 `json:"indexedItemsCount,omitempty,string"` - - // StatusCode: Status of the items. +// AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention: Existence +// of this attribute indicates that the AF item is for a user mention +// item. +type AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention struct { + // Type: User mention type // // Possible values: - // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list - // all items in the queue, regardless of status. - // "ERROR" - Error encountered by Cloud Search while processing this - // item. Details of the error are in repositoryError. - // "MODIFIED" - Item has been modified in the repository, and is out - // of date with the version previously accepted into Cloud Search. - // "NEW_ITEM" - Item is known to exist in the repository, but is not - // yet accepted by Cloud Search. An item can be in this state when - // Items.push has been called for an item of this name that did not - // exist previously. - // "ACCEPTED" - API has accepted the up-to-date data of this item. - StatusCode string `json:"statusCode,omitempty"` + // "TYPE_UNSPECIFIED" - Mention type not specified. + // "DIRECT" - Mentioned directly by name. + // "ALL" - Mentioned by @all. + Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Count") to + // ForceSendFields is a list of field names (e.g. "Type") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -3689,7 +4890,7 @@ type ItemCountByStatus struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Count") to include in API + // NullFields is a list of field names (e.g. "Type") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -3698,90 +4899,105 @@ type ItemCountByStatus struct { NullFields []string `json:"-"` } -func (s *ItemCountByStatus) MarshalJSON() ([]byte, error) { - type NoMethod ItemCountByStatus +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ItemMetadata: Available metadata fields for the item. -type ItemMetadata struct { - // ContainerName: The name of the container for this item. Deletion of - // the container item leads to automatic deletion of this item. Note: - // ACLs are not inherited from a container item. To provide ACL - // inheritance for an item, use the inheritAclFrom field. The maximum - // length is 1536 characters. - ContainerName string `json:"containerName,omitempty"` - - // ContentLanguage: The BCP-47 language code for the item, such as - // "en-US" or "sr-Latn". For more information, see - // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. The - // maximum length is 32 characters. - ContentLanguage string `json:"contentLanguage,omitempty"` +// AppsDynamiteSharedChatItemGroupInfo: Information about the space that +// the item originated from. This will be used to display Activity Feed +// items from rooms, and only contain the necessary information, such as +// the space name and group attributes. NEXT TAG: 6 +type AppsDynamiteSharedChatItemGroupInfo struct { + // AttributeCheckerGroupType: This is needed to determine what type of + // group the source message came from to support click-to-source. + // + // Possible values: + // "ATTRIBUTE_CHECKER_GROUP_TYPE_UNSPECIFIED" - LINT.IfChange + // "ONE_TO_ONE_HUMAN_DM" - A 1:1 DM that has two human users. + // Deprecated. Use IMMUTABLE_MEMBERSHIP_HUMAN_DM instead. + // "ONE_TO_ONE_BOT_DM" - A 1:1 DM between a human user and a bot. + // "IMMUTABLE_MEMBERSHIP_GROUP_DM" - A group DM that has multiple + // human users with immutable group membership. Deprecated. Use + // IMMUTABLE_MEMBERSHIP_HUMAN_DM instead. + // "FLAT_ROOM" - A flat room that contains a single thread. + // "THREADED_ROOM" - A threaded room. Topics in this room are + // threaded, and users can reply to any topic. + // "IMMUTABLE_MEMBERSHIP_HUMAN_DM" - A DM with immutable group + // membership. It can be a 1:1 DM or a group DM with multiple human + // users. + // "POST_ROOM" - A post room. Topics in this room are organized in a + // post/reply style. See the design doc for more details: + // go/PostRoomsInDynamite. + // "ACTIVITY_FEED" - Represents an Activity Feed space. These groups + // are modeled like flat rooms and contain items for users to catch up + // on important things. Each user should only have one group of this + // type. See go/activity-feed. + // LINT.ThenChange(//depot/google3/logs/proto/apps_dynamite/dynamite_visu + // al_element_entry.proto:LoggingGroupType,//depot/google3/java/com/googl + // e/apps/dynamite/v1/web/ui/group/groups.js:LoggingGroupType) + AttributeCheckerGroupType string `json:"attributeCheckerGroupType,omitempty"` + + GroupName string `json:"groupName,omitempty"` + + // GroupReadTimeUsec: Timestamp of when the group containing the message + // has been read by the user. + GroupReadTimeUsec int64 `json:"groupReadTimeUsec,omitempty,string"` + + // InlineThreadingEnabled: Indicates whether the group has inline + // replies enabled. If enabled, clients will render the space with + // inline replies. + InlineThreadingEnabled bool `json:"inlineThreadingEnabled,omitempty"` - // ContextAttributes: A set of named attributes associated with the - // item. This can be used for influencing the ranking of the item based - // on the context in the request. The maximum number of elements is 10. - ContextAttributes []*ContextAttribute `json:"contextAttributes,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "AttributeCheckerGroupType") 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:"-"` - // CreateTime: The time when the item was created in the source - // repository. - CreateTime string `json:"createTime,omitempty"` + // NullFields is a list of field names (e.g. + // "AttributeCheckerGroupType") 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:"-"` +} - // Hash: Hashing value provided by the API caller. This can be used with - // the items.push method to calculate modified state. The maximum length - // is 2048 characters. - Hash string `json:"hash,omitempty"` +func (s *AppsDynamiteSharedChatItemGroupInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemGroupInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Interactions: A list of interactions for the item. Interactions are - // used to improve Search quality, but are not exposed to end users. The - // maximum number of elements is 1000. - Interactions []*Interaction `json:"interactions,omitempty"` +// AppsDynamiteSharedColumns: Represents a Columns widget that displays +// a single row of columns. +type AppsDynamiteSharedColumns struct { + // ColumnItems: Each card supports up to 2 columns. + ColumnItems []*AppsDynamiteSharedColumnsColumn `json:"columnItems,omitempty"` - // Keywords: Additional keywords or phrases that should match the item. - // Used internally for user generated content. The maximum number of - // elements is 100. The maximum length is 8192 characters. - Keywords []string `json:"keywords,omitempty"` + // WrapStyle: Controls how the column resizes based on screen width. + // + // Possible values: + // "WRAP_STYLE_UNSPECIFIED" - Unspecified. + // "NOWRAP" - Column widgets don't wrap. + // "WRAP" - Column Widgets wrap. + WrapStyle string `json:"wrapStyle,omitempty"` - // MimeType: The original mime-type of ItemContent.content in the source - // repository. The maximum length is 256 characters. - MimeType string `json:"mimeType,omitempty"` + // ForceSendFields is a list of field names (e.g. "ColumnItems") 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:"-"` - // ObjectType: The type of the item. This should correspond to the name - // of an object definition in the schema registered for the data source. - // For example, if the schema for the data source contains an object - // definition with name 'document', then item indexing requests for - // objects of that type should set objectType to 'document'. The maximum - // length is 256 characters. - ObjectType string `json:"objectType,omitempty"` - - // SearchQualityMetadata: Additional search quality metadata of the item - SearchQualityMetadata *SearchQualityMetadata `json:"searchQualityMetadata,omitempty"` - - // SourceRepositoryUrl: Link to the source repository serving the data. - // Seach results apply this link to the title. Whitespace or special - // characters may cause Cloud Seach result links to trigger a redirect - // notice; to avoid this, encode the URL. The maximum length is 2048 - // characters. - SourceRepositoryUrl string `json:"sourceRepositoryUrl,omitempty"` - - // Title: The title of the item. If given, this will be the displayed - // title of the Search result. The maximum length is 2048 characters. - Title string `json:"title,omitempty"` - - // UpdateTime: The time when the item was last modified in the source - // repository. - UpdateTime string `json:"updateTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ContainerName") 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. "ContainerName") to include + // NullFields is a list of field names (e.g. "ColumnItems") 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 @@ -3790,71 +5006,97 @@ type ItemMetadata struct { NullFields []string `json:"-"` } -func (s *ItemMetadata) MarshalJSON() ([]byte, error) { - type NoMethod ItemMetadata +func (s *AppsDynamiteSharedColumns) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumns raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ItemStatus: This contains item's status and any errors. -type ItemStatus struct { - // Code: Status code. +// AppsDynamiteSharedColumnsColumn: Represents a Column that consists of +// widgets stacked vertically. +type AppsDynamiteSharedColumnsColumn struct { + // HorizontalAlignment: The horizontal alignment of the column. // // Possible values: - // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list - // all items in the queue, regardless of status. - // "ERROR" - Error encountered by Cloud Search while processing this - // item. Details of the error are in repositoryError. - // "MODIFIED" - Item has been modified in the repository, and is out - // of date with the version previously accepted into Cloud Search. - // "NEW_ITEM" - Item is known to exist in the repository, but is not - // yet accepted by Cloud Search. An item can be in this state when - // Items.push has been called for an item of this name that did not - // exist previously. - // "ACCEPTED" - API has accepted the up-to-date data of this item. - Code string `json:"code,omitempty"` - - // ProcessingErrors: Error details in case the item is in ERROR state. - ProcessingErrors []*ProcessingError `json:"processingErrors,omitempty"` - - // RepositoryErrors: Repository error reported by connector. - RepositoryErrors []*RepositoryError `json:"repositoryErrors,omitempty"` + // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Unspecified alignment. + // "START" - Alignment to the start position. + // "CENTER" - Alignment to the center position. + // "END" - Alignment to the end position. + HorizontalAlignment string `json:"horizontalAlignment,omitempty"` + + // HorizontalSizeStyle: Specifies how the column content is sized + // horizontally. + // + // Possible values: + // "HORIZONTAL_SIZE_STYLE_UNSPECIFIED" - Unspecified. + // "FILL_AVAILABLE_SPACE" - Fills up the available horizontal width. + // Default value if unspecified. + // "FILL_MINIMUM_SPACE" - Fills up the minimum horizontal width. + HorizontalSizeStyle string `json:"horizontalSizeStyle,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to - // unconditionally include in API requests. By default, fields with + // VerticalAlignment: The vertical alignment of the column. + // + // Possible values: + // "VERTICAL_ALIGNMENT_UNSPECIFIED" - Unspecified. + // "CENTER" - Aligns the widget in the center of the column. Default + // value if unspecified. + // "TOP" - Aligns the widget at the top of the column. + // "BOTTOM" - Aligns the widget at the bottom of the column. + VerticalAlignment string `json:"verticalAlignment,omitempty"` + + // Widgets: LINT.ThenChange(//google/apps/card/v1/card.proto) Array of + // widgets included in the column. + Widgets []*AppsDynamiteSharedColumnsColumnWidgets `json:"widgets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HorizontalAlignment") + // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "HorizontalAlignment") 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 *ItemStatus) MarshalJSON() ([]byte, error) { - type NoMethod ItemStatus +func (s *AppsDynamiteSharedColumnsColumn) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumnsColumn raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ItemStructuredData: Available structured data fields for the item. -type ItemStructuredData struct { - // Hash: Hashing value provided by the API caller. This can be used with - // the items.push method to calculate modified state. The maximum length - // is 2048 characters. - Hash string `json:"hash,omitempty"` +// AppsDynamiteSharedColumnsColumnWidgets: LINT.IfChange The `column` +// widget can contain these widgets. +type AppsDynamiteSharedColumnsColumnWidgets struct { + // ButtonList: ButtonList widget. + ButtonList *AppsDynamiteSharedButtonList `json:"buttonList,omitempty"` - // Object: The structured data object that should conform to a - // registered object definition in the schema for the data source. - Object *StructuredDataObject `json:"object,omitempty"` + // DateTimePicker: DateTimePicker widget. + DateTimePicker *AppsDynamiteSharedDateTimePicker `json:"dateTimePicker,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hash") to + // DecoratedText: DecoratedText widget. + DecoratedText *AppsDynamiteSharedDecoratedText `json:"decoratedText,omitempty"` + + // Image: Image widget. + Image *AppsDynamiteSharedImage `json:"image,omitempty"` + + // SelectionInput: SelectionInput widget. + SelectionInput *AppsDynamiteSharedSelectionInput `json:"selectionInput,omitempty"` + + // TextInput: TextInput widget. + TextInput *AppsDynamiteSharedTextInput `json:"textInput,omitempty"` + + // TextParagraph: Text paragraph widget. + TextParagraph *AppsDynamiteSharedTextParagraph `json:"textParagraph,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ButtonList") 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 @@ -3862,8 +5104,8 @@ type ItemStructuredData struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hash") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "ButtonList") 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. @@ -3871,24 +5113,34 @@ type ItemStructuredData struct { NullFields []string `json:"-"` } -func (s *ItemStructuredData) MarshalJSON() ([]byte, error) { - type NoMethod ItemStructuredData +func (s *AppsDynamiteSharedColumnsColumnWidgets) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumnsColumnWidgets raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ListDataSourceResponse struct { - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` - - Sources []*DataSource `json:"sources,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 +// AppsDynamiteSharedContentReportType: Denotes a type of content report +// a user can send. +type AppsDynamiteSharedContentReportType struct { + // SystemViolation: Required. Google-defined system violation, covering + // the most common violations. + // + // Possible values: + // "VIOLATION_UNSPECIFIED" - Default value if unset. Do not use + // directly. This value should not appear as a selectable violation + // during content reporting. + // "HARASSMENT" - "Harassment, offensive, or rude behavior" + // "DISCRIMINATION" - "Discrimination or harmful stereotypes against + // anyone, including protected groups" + // "EXPLICIT_CONTENT" - "Explicit content that's graphic, violent, or + // otherwise inappropriate" + // "SPAM" - "Spam" + // "CONFIDENTIAL_INFORMATION" - "Confidential information" + // "SENSITIVE_INFORMATION" - "Sensitive information" + // "OTHER" - "Something else" + SystemViolation string `json:"systemViolation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SystemViolation") 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 @@ -3896,33 +5148,92 @@ type ListDataSourceResponse struct { // 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 is a list of field names (e.g. "SystemViolation") 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 *ListDataSourceResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListDataSourceResponse +func (s *AppsDynamiteSharedContentReportType) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedContentReportType raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ListItemNamesForUnmappedIdentityResponse struct { - ItemNames []string `json:"itemNames,omitempty"` +// AppsDynamiteSharedCustomEmoji: Proto representation of a custom +// emoji. May be used in both APIs and in Spanner, but certain fields +// should be restricted to one or the other. See the per-field +// documentation for details. NEXT_TAG: 14 +type AppsDynamiteSharedCustomEmoji struct { + // BlobId: ID for the underlying image data in Blobstore. This field + // should *only* be present in Spanner or within the server, but should + // not be exposed in public APIs. + BlobId string `json:"blobId,omitempty"` - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` + // ContentType: Content type of the file used to upload the emoji. Used + // for takeout. Written to Spanner when the emoji is created. + ContentType string `json:"contentType,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // CreateTimeMicros: Time when the Emoji was created, in microseconds. + // This field may be present in Spanner, within the server, or in public + // APIs. + CreateTimeMicros int64 `json:"createTimeMicros,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ItemNames") to + // CreatorUserId: This field should *never* be persisted to Spanner. + CreatorUserId *AppsDynamiteUserId `json:"creatorUserId,omitempty"` + + // DeleteTimeMicros: Time when the emoji was deleted, in microseconds. + // This field may be present in Spanner, within the server, or in public + // APIs. Only present if the emoji has been deleted. + DeleteTimeMicros int64 `json:"deleteTimeMicros,omitempty,string"` + + // EphemeralUrl: Output only. A short-lived URL clients can use for + // directly accessing a custom emoji image. This field is intended for + // API consumption, and should *never* be persisted to Spanner. + EphemeralUrl string `json:"ephemeralUrl,omitempty"` + + // OwnerCustomerId: This field should *never* be persisted to Spanner. + OwnerCustomerId *AppsDynamiteCustomerId `json:"ownerCustomerId,omitempty"` + + // ReadToken: Opaque token that clients use to construct the URL for + // accessing the custom emoji’s image data. This field is intended for + // API consumption, and should *never* be persisted to Spanner. + ReadToken string `json:"readToken,omitempty"` + + // Shortcode: User-provided, human-readable ID for the custom emoji. + // Users are expected to observe this field in the UI instead of the + // UUID. This shortcode should be unique within an organization, but has + // no global uniqueness guarantees, unlike the UUID. This field should + // *never* be persisted to Spanner. + Shortcode string `json:"shortcode,omitempty"` + + // State: Snapshot of the current state of the emoji, which may differ + // from the source-of-truth in the CustomEmojis table. This field should + // *never* be persisted to Spanner. + // + // Possible values: + // "EMOJI_STATE_UNSPECIFIED" + // "EMOJI_ENABLED" - Emoji is visible and available to be used, + // subject to access control requirements. + // "EMOJI_SYSTEM_DISABLED" - Emoji can no longer be used (e.g. due to + // a shortcode conflict), but is not removed from existing embeddings. + // "EMOJI_HIDDEN" - Emoji is hidden from pickers, so new usages are + // not allowed, but is not removed from existing embeddings. + // "EMOJI_DELETED" - Emoji is removed everywhere and is not available + // to end-users. + State string `json:"state,omitempty"` + + UpdateTimeMicros int64 `json:"updateTimeMicros,omitempty,string"` + + // Uuid: Unique key for a custom emoji resource. Required. This field is + // *always* populated. + Uuid string `json:"uuid,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BlobId") 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 @@ -3930,8 +5241,8 @@ type ListItemNamesForUnmappedIdentityResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ItemNames") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "BlobId") 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. @@ -3939,24 +5250,50 @@ type ListItemNamesForUnmappedIdentityResponse struct { NullFields []string `json:"-"` } -func (s *ListItemNamesForUnmappedIdentityResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListItemNamesForUnmappedIdentityResponse +func (s *AppsDynamiteSharedCustomEmoji) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCustomEmoji raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ListItemsResponse struct { - Items []*Item `json:"items,omitempty"` +// AppsDynamiteSharedDateTimePicker: The widget that lets users to +// specify a date and time. +type AppsDynamiteSharedDateTimePicker struct { + // Label: The label for the field that displays to the user. + Label string `json:"label,omitempty"` - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` + // Name: The name of the text input that's used in formInput, and + // uniquely identifies this input. + Name string `json:"name,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // OnChangeAction: Triggered when the user clicks Save or Clear from the + // date/time picker dialog. This is only triggered if the value changed + // as a result of the Save/Clear operation. + OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") to + // TimezoneOffsetDate: The number representing the time zone offset from + // UTC, in minutes. If set, the `value_ms_epoch` is displayed in the + // specified time zone. If not set, it uses the user's time zone setting + // on the client side. + TimezoneOffsetDate int64 `json:"timezoneOffsetDate,omitempty"` + + // Type: The type of the date/time picker. + // + // Possible values: + // "DATE_AND_TIME" - The user can select a date and time. + // "DATE_ONLY" - The user can only select a date. + // "TIME_ONLY" - The user can only select a time. + Type string `json:"type,omitempty"` + + // ValueMsEpoch: The value to display as the default value before user + // input or previous user input. It is represented in milliseconds + // (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. + // For `DATE_ONLY` type, only date of the epoch time is used. For + // `TIME_ONLY` type, only time of the epoch time is used. For example, + // you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + ValueMsEpoch int64 `json:"valueMsEpoch,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Label") 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 @@ -3964,7 +5301,7 @@ type ListItemsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Items") to include in API + // NullFields is a list of field names (e.g. "Label") 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 @@ -3973,27 +5310,51 @@ type ListItemsResponse struct { NullFields []string `json:"-"` } -func (s *ListItemsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListItemsResponse +func (s *AppsDynamiteSharedDateTimePicker) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDateTimePicker raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListOperationsResponse: The response message for -// Operations.ListOperations. -type ListOperationsResponse struct { - // NextPageToken: The standard List next-page token. - NextPageToken string `json:"nextPageToken,omitempty"` +// AppsDynamiteSharedDecoratedText: A widget that displays text with +// optional decorations such as a label above or below the text, an icon +// in front of the text, a selection widget or a button after the text. +type AppsDynamiteSharedDecoratedText struct { + // BottomLabel: The formatted text label that shows below the main text. + BottomLabel string `json:"bottomLabel,omitempty"` - // Operations: A list of operations that matches the specified filter in - // the request. - Operations []*Operation `json:"operations,omitempty"` + // Button: A button that can be clicked to trigger an action. + Button *AppsDynamiteSharedButton `json:"button,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // EndIcon: An icon displayed after the text. + EndIcon *AppsDynamiteSharedIcon `json:"endIcon,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // Icon: Deprecated in favor of start_icon. + Icon *AppsDynamiteSharedIcon `json:"icon,omitempty"` + + // OnClick: Only the top and bottom label and content region are + // clickable. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` + + // StartIcon: The icon displayed in front of the text. + StartIcon *AppsDynamiteSharedIcon `json:"startIcon,omitempty"` + + // SwitchControl: A switch widget can be clicked to change its state or + // trigger an action. + SwitchControl *AppsDynamiteSharedDecoratedTextSwitchControl `json:"switchControl,omitempty"` + + // Text: Required. The main widget formatted text. See Text formatting + // for details. + Text string `json:"text,omitempty"` + + // TopLabel: The formatted text label that shows above the main text. + TopLabel string `json:"topLabel,omitempty"` + + // WrapText: The wrap text setting. If `true`, the text is wrapped and + // displayed in multiline. Otherwise, the text is truncated. + WrapText bool `json:"wrapText,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BottomLabel") 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 @@ -4001,7 +5362,7 @@ type ListOperationsResponse struct { // 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 + // NullFields is a list of field names (e.g. "BottomLabel") 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 @@ -4010,23 +5371,34 @@ type ListOperationsResponse struct { NullFields []string `json:"-"` } -func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListOperationsResponse +func (s *AppsDynamiteSharedDecoratedText) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDecoratedText raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListQuerySourcesResponse: List sources response. -type ListQuerySourcesResponse struct { - NextPageToken string `json:"nextPageToken,omitempty"` +type AppsDynamiteSharedDecoratedTextSwitchControl struct { + // ControlType: The control type, either switch or checkbox. + // + // Possible values: + // "SWITCH" + // "CHECKBOX" - Deprecated in favor of `CHECK_BOX`. + // "CHECK_BOX" + ControlType string `json:"controlType,omitempty"` - Sources []*QuerySource `json:"sources,omitempty"` + // Name: The name of the switch widget that's used in formInput. + Name string `json:"name,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // OnChangeAction: The action when the switch state is changed. + OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // Selected: If the switch is selected. + Selected bool `json:"selected,omitempty"` + + // Value: The value is what is passed back in the callback. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ControlType") 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 @@ -4034,7 +5406,7 @@ type ListQuerySourcesResponse struct { // 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 + // NullFields is a list of field names (e.g. "ControlType") 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 @@ -4043,24 +5415,19 @@ type ListQuerySourcesResponse struct { NullFields []string `json:"-"` } -func (s *ListQuerySourcesResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListQuerySourcesResponse +func (s *AppsDynamiteSharedDecoratedTextSwitchControl) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDecoratedTextSwitchControl raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ListSearchApplicationsResponse struct { - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` - - SearchApplications []*SearchApplication `json:"searchApplications,omitempty"` +// AppsDynamiteSharedDimension: Dimension for the uploaded attachments. +type AppsDynamiteSharedDimension struct { + Height int64 `json:"height,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // ForceSendFields is a list of field names (e.g. "Height") 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 @@ -4068,33 +5435,51 @@ type ListSearchApplicationsResponse struct { // 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 + // NullFields is a list of field names (e.g. "Height") 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 *ListSearchApplicationsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListSearchApplicationsResponse +func (s *AppsDynamiteSharedDimension) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDimension raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ListUnmappedIdentitiesResponse struct { - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` - - UnmappedIdentities []*UnmappedIdentity `json:"unmappedIdentities,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +// AppsDynamiteSharedDivider: A divider that appears in between widgets. +type AppsDynamiteSharedDivider struct { +} - // ForceSendFields is a list of field names (e.g. "NextPageToken") to +// AppsDynamiteSharedDlpMetricsMetadata: LINT.IfChange +type AppsDynamiteSharedDlpMetricsMetadata struct { + // DlpStatus: [required] Describes the DLP status of message send and + // attachment upload events. + // + // Possible values: + // "DLP_STATUS_UNKNOWN" + // "DLP_DISABLED" - Rule fetch and evaluation are skipped because DLP + // experiment is not enabled. + // "DLP_ENABLED_NO_RULE_FETCH" - Rule fetch and evaluation are skipped + // because there is no rule to be fetched (e.g. message is sent from a + // consumer, or there is no message.) + // "DLP_ENABLED_RULES_FETCHED_NO_RULES" - Rule fetch happened, but + // rule evalution is skipped because the fetch returned no rules. + // "DLP_ENABLED_RULES_FETCHED_NO_APPLICABLE_RULES" - Rule fetch + // happened, but rule evaluation is skipped because none of the rules + // are applicable. + // "DLP_ENABLED_RULES_FETCHED_AND_EVALUATED" - Rule fetch and + // evaluation were performed and completed successfully. + // "DLP_ENABLED_SCAN_TIMEOUT" - DLP scan was attempted but timed out. + // "DLP_ENABLED_SCAN_FAILED" - Generic DLP failure. This case covers + // any other errors/exceptions in the Chat backend that caused the DLP + // scan to fail. + DlpStatus string `json:"dlpStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DlpStatus") 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 @@ -4102,30 +5487,44 @@ type ListUnmappedIdentitiesResponse struct { // 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 + // NullFields is a list of field names (e.g. "DlpStatus") 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 *ListUnmappedIdentitiesResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListUnmappedIdentitiesResponse +func (s *AppsDynamiteSharedDlpMetricsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDlpMetricsMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// MatchRange: Matched range of a snippet [start, end). -type MatchRange struct { - // End: End of the match in the snippet. - End int64 `json:"end,omitempty"` +// AppsDynamiteSharedDocument: Data for rendering a document. +type AppsDynamiteSharedDocument struct { + // FileId: Unique file ID. + FileId string `json:"fileId,omitempty"` - // Start: Starting position of the match in the snippet. - Start int64 `json:"start,omitempty"` + // Justification: Justification to explain why this document is being + // suggested. + Justification *AppsDynamiteSharedJustification `json:"justification,omitempty"` - // ForceSendFields is a list of field names (e.g. "End") to + // LastModifiedTime: Time the document was last modified. + LastModifiedTime string `json:"lastModifiedTime,omitempty"` + + // MimeType: Used to determine which icon to render (e.g. docs, slides, + // sheets) + MimeType string `json:"mimeType,omitempty"` + + // Title: Title of the document. + Title string `json:"title,omitempty"` + + // Url: URL of the document. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FileId") 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 @@ -4133,7 +5532,7 @@ type MatchRange struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "End") to include in API + // NullFields is a list of field names (e.g. "FileId") 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 @@ -4142,22 +5541,20 @@ type MatchRange struct { NullFields []string `json:"-"` } -func (s *MatchRange) MarshalJSON() ([]byte, error) { - type NoMethod MatchRange +func (s *AppsDynamiteSharedDocument) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDocument raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Media: Media resource. -type Media struct { - // ResourceName: Name of the media resource. - ResourceName string `json:"resourceName,omitempty"` +type AppsDynamiteSharedEmoji struct { + // CustomEmoji: A custom emoji. + CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Unicode: A basic emoji represented by a unicode string. + Unicode string `json:"unicode,omitempty"` - // ForceSendFields is a list of field names (e.g. "ResourceName") to + // ForceSendFields is a list of field names (e.g. "CustomEmoji") 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 @@ -4165,7 +5562,7 @@ type Media struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ResourceName") to include + // NullFields is a list of field names (e.g. "CustomEmoji") 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 @@ -4174,49 +5571,70 @@ type Media struct { NullFields []string `json:"-"` } -func (s *Media) MarshalJSON() ([]byte, error) { - type NoMethod Media +func (s *AppsDynamiteSharedEmoji) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedEmoji raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Metadata: Metadata of a matched search result. -type Metadata struct { - // CreateTime: The creation time for this document or object in the - // search result. - CreateTime string `json:"createTime,omitempty"` +// AppsDynamiteSharedFindDocumentSuggestion: Data for a FindDocument +// suggestion type. +type AppsDynamiteSharedFindDocumentSuggestion struct { + // DocumentSuggestions: List of documents to render as suggestions. + DocumentSuggestions []*AppsDynamiteSharedDocument `json:"documentSuggestions,omitempty"` - // DisplayOptions: Options that specify how to display a structured data - // search result. - DisplayOptions *ResultDisplayMetadata `json:"displayOptions,omitempty"` + // ShowActionButtons: Whether to show the action buttons in the card for + // the suggestions. + ShowActionButtons bool `json:"showActionButtons,omitempty"` - // Fields: Indexed fields in structured data, returned as a generic - // named property. - Fields []*NamedProperty `json:"fields,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentSuggestions") + // 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:"-"` - // MimeType: Mime type of the search result. - MimeType string `json:"mimeType,omitempty"` + // NullFields is a list of field names (e.g. "DocumentSuggestions") 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:"-"` +} - // ObjectType: Object type of the search result. - ObjectType string `json:"objectType,omitempty"` +func (s *AppsDynamiteSharedFindDocumentSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedFindDocumentSuggestion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Owner: Owner (usually creator) of the document or object of the - // search result. - Owner *Person `json:"owner,omitempty"` +// AppsDynamiteSharedGrid: Represents a Grid widget that displays items +// in a configurable grid layout. +type AppsDynamiteSharedGrid struct { + // BorderStyle: The border style to apply to each grid item. + BorderStyle *AppsDynamiteSharedBorderStyle `json:"borderStyle,omitempty"` - // Source: The named source for the result, such as Gmail. - Source *Source `json:"source,omitempty"` + // ColumnCount: The number of columns to display in the grid. A default + // value is used if this field isn't specified, and that default value + // is different depending on where the grid is shown (dialog versus + // companion). + ColumnCount int64 `json:"columnCount,omitempty"` - // ThumbnailUrl: The thumbnail URL of the result. - ThumbnailUrl string `json:"thumbnailUrl,omitempty"` + // Items: The items to display in the grid. + Items []*AppsDynamiteSharedGridGridItem `json:"items,omitempty"` - // UpdateTime: The last modified date for the object in the search - // result. If not set in the item, the value returned here is empty. - // When `updateTime` is used for calculating freshness and is not set, - // this value defaults to 2 years from the current time. - UpdateTime string `json:"updateTime,omitempty"` + // OnClick: This callback is reused by each individual grid item, but + // with the item's identifier and index in the items list added to the + // callback's parameters. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to + // Title: The text that displays in the grid header. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BorderStyle") 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 @@ -4224,29 +5642,57 @@ type Metadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "BorderStyle") 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 *Metadata) MarshalJSON() ([]byte, error) { - type NoMethod Metadata +func (s *AppsDynamiteSharedGrid) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGrid raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Metaline: A metaline is a list of properties that are displayed along -// with the search result to provide context. -type Metaline struct { - // Properties: The list of displayed properties for the metaline. The - // maximum number of properties is 5. - Properties []*DisplayedProperty `json:"properties,omitempty"` +// AppsDynamiteSharedGridGridItem: Represents a single item in the grid +// layout. +type AppsDynamiteSharedGridGridItem struct { + // Id: A user-specified identifier for this grid item. This identifier + // is returned in the parent Grid's onClick callback parameters. + Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Properties") to + // Image: The image that displays in the grid item. + Image *AppsDynamiteSharedImageComponent `json:"image,omitempty"` + + // Layout: The layout to use for the grid item. + // + // Possible values: + // "GRID_ITEM_LAYOUT_UNSPECIFIED" - No layout specified. + // "TEXT_BELOW" - The title and subtitle are shown below the grid + // item's image. + // "TEXT_ABOVE" - The title and subtitle are shown above the grid + // item's image. + Layout string `json:"layout,omitempty"` + + // Subtitle: The grid item's subtitle. + Subtitle string `json:"subtitle,omitempty"` + + // TextAlignment: The horizontal alignment of the grid item's text. + // + // Possible values: + // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Unspecified alignment. + // "START" - Alignment to the start position. + // "CENTER" - Alignment to the center position. + // "END" - Alignment to the end position. + TextAlignment string `json:"textAlignment,omitempty"` + + // Title: The grid item's title. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4254,8 +5700,8 @@ type Metaline struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Properties") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -4263,20 +5709,25 @@ type Metaline struct { NullFields []string `json:"-"` } -func (s *Metaline) MarshalJSON() ([]byte, error) { - type NoMethod Metaline +func (s *AppsDynamiteSharedGridGridItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGridGridItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Name: A person's name. -type Name struct { - // DisplayName: The read-only display name formatted according to the - // locale specified by the viewer's account or the `Accept-Language` - // HTTP header. - DisplayName string `json:"displayName,omitempty"` +// AppsDynamiteSharedGroupDetails: NEXT TAG: 3 A GroupDetails proto will +// store the information pertaining to single Group. +type AppsDynamiteSharedGroupDetails struct { + // Description: A simple text that describes the purpose of a single + // Group, the general theme of the topics to be posted and/or the + // denominator of the Group participants. + Description string `json:"description,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // Guidelines: A simple text describing the rules and expectations from + // members when participating in conversation. + Guidelines string `json:"guidelines,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -4284,7 +5735,7 @@ type Name struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -4293,41 +5744,20 @@ type Name struct { NullFields []string `json:"-"` } -func (s *Name) MarshalJSON() ([]byte, error) { - type NoMethod Name +func (s *AppsDynamiteSharedGroupDetails) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGroupDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// NamedProperty: A typed name-value pair for structured data. The type -// of the value should be the same as the registered type for the `name` -// property in the object definition of `objectType`. -type NamedProperty struct { - BooleanValue bool `json:"booleanValue,omitempty"` - - DateValues *DateValues `json:"dateValues,omitempty"` - - DoubleValues *DoubleValues `json:"doubleValues,omitempty"` - - EnumValues *EnumValues `json:"enumValues,omitempty"` - - HtmlValues *HtmlValues `json:"htmlValues,omitempty"` - - IntegerValues *IntegerValues `json:"integerValues,omitempty"` - - // Name: The name of the property. This name should correspond to the - // name of the property that was registered for object definition in the - // schema. The maximum allowable length for this property is 256 - // characters. - Name string `json:"name,omitempty"` - - ObjectValues *ObjectValues `json:"objectValues,omitempty"` - - TextValues *TextValues `json:"textValues,omitempty"` - - TimestampValues *TimestampValues `json:"timestampValues,omitempty"` +type AppsDynamiteSharedGroupVisibility struct { + // Possible values: + // "UNKNOWN" - Do not use. + // "PRIVATE" - Explicitly invited users may join the room. + // "PUBLIC" - Anyone in the domain may join the room. + State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "BooleanValue") to + // ForceSendFields is a list of field names (e.g. "State") 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 @@ -4335,40 +5765,43 @@ type NamedProperty struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BooleanValue") 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. "State") 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 *NamedProperty) MarshalJSON() ([]byte, error) { - type NoMethod NamedProperty +func (s *AppsDynamiteSharedGroupVisibility) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGroupVisibility raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ObjectDefinition: The definition for an object within a data source. -type ObjectDefinition struct { - // Name: The name for the object, which then defines its type. Item - // indexing requests should set the objectType field equal to this - // value. For example, if *name* is *Document*, then indexing requests - // for items of type Document should set objectType equal to *Document*. - // Each object definition must be uniquely named within a schema. The - // name must start with a letter and can only contain letters (A-Z, a-z) - // or numbers (0-9). The maximum length is 256 characters. - Name string `json:"name,omitempty"` +type AppsDynamiteSharedIcon struct { + // AltText: The description of the icon, used for accessibility. The + // default value is provided if you don't specify one. + AltText string `json:"altText,omitempty"` - // Options: The optional object-specific options. - Options *ObjectOptions `json:"options,omitempty"` + // IconUrl: The icon specified by a URL. + IconUrl string `json:"iconUrl,omitempty"` - // PropertyDefinitions: The property definitions for the object. The - // maximum number of elements is 1000. - PropertyDefinitions []*PropertyDefinition `json:"propertyDefinitions,omitempty"` + // ImageType: The crop style applied to the image. In some cases, + // applying a `CIRCLE` crop causes the image to be drawn larger than a + // standard icon. + // + // Possible values: + // "SQUARE" - Applies no cropping to the image. + // "CIRCLE" - Applies a circular mask to the image. + ImageType string `json:"imageType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to + // KnownIcon: The icon specified by the string name of a list of known + // icons + KnownIcon string `json:"knownIcon,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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 @@ -4376,8 +5809,8 @@ type ObjectDefinition struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "AltText") 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. @@ -4385,30 +5818,24 @@ type ObjectDefinition struct { NullFields []string `json:"-"` } -func (s *ObjectDefinition) MarshalJSON() ([]byte, error) { - type NoMethod ObjectDefinition +func (s *AppsDynamiteSharedIcon) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedIcon raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ObjectDisplayOptions: The display options for an object. -type ObjectDisplayOptions struct { - // Metalines: Defines the properties that are displayed in the metalines - // of the search results. The property values are displayed in the order - // given here. If a property holds multiple values, all of the values - // are displayed before the next properties. For this reason, it is a - // good practice to specify singular properties before repeated - // properties in this list. All of the properties must set is_returnable - // to true. The maximum number of metalines is 3. - Metalines []*Metaline `json:"metalines,omitempty"` +// AppsDynamiteSharedImage: An image that is specified by a URL and can +// have an onClick action. +type AppsDynamiteSharedImage struct { + // AltText: The alternative text of this image, used for accessibility. + AltText string `json:"altText,omitempty"` - // ObjectDisplayLabel: The user friendly label to display in the search - // result to indicate the type of the item. This is OPTIONAL; if not - // provided, an object label isn't displayed on the context line of the - // search results. The maximum length is 64 characters. - ObjectDisplayLabel string `json:"objectDisplayLabel,omitempty"` + // ImageUrl: An image URL. + ImageUrl string `json:"imageUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metalines") to + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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 @@ -4416,7 +5843,7 @@ type ObjectDisplayOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metalines") to include in + // NullFields is a list of field names (e.g. "AltText") 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 @@ -4425,34 +5852,26 @@ type ObjectDisplayOptions struct { NullFields []string `json:"-"` } -func (s *ObjectDisplayOptions) MarshalJSON() ([]byte, error) { - type NoMethod ObjectDisplayOptions +func (s *AppsDynamiteSharedImage) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ObjectOptions: The options for an object. -type ObjectOptions struct { - // DisplayOptions: The options that determine how the object is - // displayed in the Cloud Search results page. - DisplayOptions *ObjectDisplayOptions `json:"displayOptions,omitempty"` +type AppsDynamiteSharedImageComponent struct { + // AltText: The accessibility label for the image. + AltText string `json:"altText,omitempty"` - // FreshnessOptions: The freshness options for an object. - FreshnessOptions *FreshnessOptions `json:"freshnessOptions,omitempty"` + // BorderStyle: The border style to apply to the image. + BorderStyle *AppsDynamiteSharedBorderStyle `json:"borderStyle,omitempty"` - // SuggestionFilteringOperators: Operators that can be used to filter - // suggestions. For Suggest API, only operators mentioned here will be - // honored in the FilterOptions. Only TEXT and ENUM operators are - // supported. NOTE: "objecttype", "type" and "mimetype" are already - // supported. This property is to configure schema specific operators. - // Even though this is an array, only one operator can be specified. - // This is an array for future extensibility. Operators mapping to - // multiple properties within the same object are not supported. If the - // operator spans across different object types, this option has to be - // set once for each object definition. - SuggestionFilteringOperators []string `json:"suggestionFilteringOperators,omitempty"` + // CropStyle: The crop style to apply to the image. + CropStyle *AppsDynamiteSharedImageCropStyle `json:"cropStyle,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayOptions") to + // ImageUri: The image URL. + ImageUri string `json:"imageUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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 @@ -4460,60 +5879,106 @@ type ObjectOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayOptions") 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. "AltText") 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 *ObjectOptions) MarshalJSON() ([]byte, error) { - type NoMethod ObjectOptions +func (s *AppsDynamiteSharedImageComponent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImageComponent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ObjectPropertyOptions: The options for object properties. -type ObjectPropertyOptions struct { - // SubobjectProperties: The properties of the sub-object. These - // properties represent a nested object. For example, if this property - // represents a postal address, the subobjectProperties might be named - // *street*, *city*, and *state*. The maximum number of elements is - // 1000. - SubobjectProperties []*PropertyDefinition `json:"subobjectProperties,omitempty"` +// AppsDynamiteSharedImageCropStyle: Represents the crop style applied +// to an image. +type AppsDynamiteSharedImageCropStyle struct { + // AspectRatio: The aspect ratio to use if the crop type is + // `RECTANGLE_CUSTOM`. + AspectRatio float64 `json:"aspectRatio,omitempty"` - // ForceSendFields is a list of field names (e.g. "SubobjectProperties") - // to unconditionally include in API requests. By default, fields with + // Type: The crop type. + // + // Possible values: + // "IMAGE_CROP_TYPE_UNSPECIFIED" - No value specified. + // "SQUARE" - Applies a square crop. + // "CIRCLE" - Applies a circular crop. + // "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom + // aspect ratio. + // "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect + // ratio. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AspectRatio") 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. "SubobjectProperties") 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. "AspectRatio") 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 *ObjectPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod ObjectPropertyOptions +func (s *AppsDynamiteSharedImageCropStyle) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImageCropStyle raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ObjectValues: List of object values. -type ObjectValues struct { - Values []*StructuredDataObject `json:"values,omitempty"` +func (s *AppsDynamiteSharedImageCropStyle) UnmarshalJSON(data []byte) error { + type NoMethod AppsDynamiteSharedImageCropStyle + var s1 struct { + AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.AspectRatio = float64(s1.AspectRatio) + return nil +} - // ForceSendFields is a list of field names (e.g. "Values") to +// AppsDynamiteSharedJustification: Data for rendering a justification +// for a document. +type AppsDynamiteSharedJustification struct { + // ActionTime: Time the action took place. + ActionTime string `json:"actionTime,omitempty"` + + // ActionType: Type of action performed on the document. + // + // Possible values: + // "ACTION_TYPE_UNSPECIFIED" - Unspecified action. + // "COMMENTED" - Commented on document. + // "CREATED" - Created document. + // "EDITED" - Edited document. + // "PRESENTED" - Presented document. + // "SHARED" - Shared document. + // "VIEWED" - Viewed document. + // "COMMENT_RESOLVED" - Resolved comment on document. + // "SENT" - Sent document over chat/email. + ActionType string `json:"actionType,omitempty"` + + // DocumentOwner: Owner of the document. + DocumentOwner *AppsDynamiteSharedJustificationPerson `json:"documentOwner,omitempty"` + + // Topics: Words or phrases from the user's query that describes the + // document content. (Ex: Users query is "Can you share the document + // about Bullseye?" the extracted topic would be "Bullseye"). + Topics []string `json:"topics,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionTime") 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 @@ -4521,8 +5986,8 @@ type ObjectValues struct { // 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 + // NullFields is a list of field names (e.g. "ActionTime") 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. @@ -4530,52 +5995,22 @@ type ObjectValues struct { NullFields []string `json:"-"` } -func (s *ObjectValues) MarshalJSON() ([]byte, error) { - type NoMethod ObjectValues +func (s *AppsDynamiteSharedJustification) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedJustification raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Operation: This resource represents a long-running operation that is -// the result of a network API call. -type Operation struct { - // Done: If the value is `false`, it means the operation is still in - // progress. If `true`, the operation is completed, and either `error` - // or `response` is available. - Done bool `json:"done,omitempty"` - - // Error: The error result of the operation in case of failure or - // cancellation. - Error *Status `json:"error,omitempty"` - - // Metadata: Service-specific metadata associated with the operation. It - // typically contains progress information and common metadata such as - // create time. Some services might not provide such metadata. Any - // method that returns a long-running operation should document the - // metadata type, if any. - Metadata googleapi.RawMessage `json:"metadata,omitempty"` - - // Name: The server-assigned name, which is only unique within the same - // service that originally returns it. If you use the default HTTP - // mapping, the `name` should be a resource name ending with - // `operations/{unique_id}`. - Name string `json:"name,omitempty"` - - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the - // response is `google.protobuf.Empty`. If the original method is - // standard `Get`/`Create`/`Update`, the response should be the - // resource. For other methods, the response should have the type - // `XxxResponse`, where `Xxx` is the original method name. For example, - // if the original method name is `TakeSnapshot()`, the inferred - // response type is `TakeSnapshotResponse`. - Response googleapi.RawMessage `json:"response,omitempty"` +// AppsDynamiteSharedJustificationPerson: Data for rendering a person +// associated with a document. +type AppsDynamiteSharedJustificationPerson struct { + // IsRecipient: Whether the person is the recipient of the suggestions. + IsRecipient bool `json:"isRecipient,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // User: Obfuscated user ID. + User *AppsDynamiteUserId `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "Done") to + // ForceSendFields is a list of field names (e.g. "IsRecipient") 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 @@ -4583,29 +6018,36 @@ type Operation struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Done") 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. "IsRecipient") 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 *Operation) MarshalJSON() ([]byte, error) { - type NoMethod Operation +func (s *AppsDynamiteSharedJustificationPerson) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedJustificationPerson raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PeopleSuggestion: This field contains information about the person -// being suggested. -type PeopleSuggestion struct { - // Person: Suggested person. All fields of the person object might not - // be populated. - Person *Person `json:"person,omitempty"` +// AppsDynamiteSharedMeetMetadata: Metadata specific for a Meet call +// that are required to generate call artifacts. +type AppsDynamiteSharedMeetMetadata struct { + // MeetingCode: Required. A globally unique code (e.g. "cxv-zbgj-wzw") + // that points to a meeting space. Note: Meeting codes may be + // regenerated, which will cause old meeting codes to become invalid. + MeetingCode string `json:"meetingCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "Person") to + // MeetingUrl: Required. A URL, in the format + // "https://meet.google.com/*" (e.g. + // https://meet.google.com/cxv-zbgj-wzw), to identify and access the + // meeting space. + MeetingUrl string `json:"meetingUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MeetingCode") 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 @@ -4613,46 +6055,35 @@ type PeopleSuggestion struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Person") 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. "MeetingCode") 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 *PeopleSuggestion) MarshalJSON() ([]byte, error) { - type NoMethod PeopleSuggestion +func (s *AppsDynamiteSharedMeetMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMeetMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Person: Object to represent a person. -type Person struct { - // EmailAddresses: The person's email addresses - EmailAddresses []*EmailAddress `json:"emailAddresses,omitempty"` - - // Name: The resource name of the person to provide information about. - // See `People.get` - // (https://developers.google.com/people/api/rest/v1/people/get) from - // the Google People API. - Name string `json:"name,omitempty"` - - // ObfuscatedId: Obfuscated ID of a person. - ObfuscatedId string `json:"obfuscatedId,omitempty"` - - // PersonNames: The person's name - PersonNames []*Name `json:"personNames,omitempty"` - - // PhoneNumbers: The person's phone numbers - PhoneNumbers []*PhoneNumber `json:"phoneNumbers,omitempty"` +// AppsDynamiteSharedMessageInfo: Information that references a Dynamite +// chat message. +type AppsDynamiteSharedMessageInfo struct { + // MessageId: Id of the source chat message. This is kept here because + // the top-level message ID to refers the AF message ID. + MessageId *AppsDynamiteMessageId `json:"messageId,omitempty"` - // Photos: A person's read-only photo. A picture shown next to the - // person's name to help others recognize the person in search results. - Photos []*Photo `json:"photos,omitempty"` + // TopicReadTimeUsec: Timestamp of when the topic containing the message + // has been read by the user. This is populated if the message + // references an inline reply, in which case the space may be marked as + // read but the topic still has unread messages. + TopicReadTimeUsec int64 `json:"topicReadTimeUsec,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "EmailAddresses") to + // ForceSendFields is a list of field names (e.g. "MessageId") 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 @@ -4660,34 +6091,39 @@ type Person struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EmailAddresses") 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. "MessageId") 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 *Person) MarshalJSON() ([]byte, error) { - type NoMethod Person +func (s *AppsDynamiteSharedMessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMessageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PhoneNumber: A person's Phone Number -type PhoneNumber struct { - // PhoneNumber: The phone number of the person. - PhoneNumber string `json:"phoneNumber,omitempty"` +// AppsDynamiteSharedMessageIntegrationPayload: The payload(restricted +// to 1P applications) to be stored with a specific message. +type AppsDynamiteSharedMessageIntegrationPayload struct { + // ProjectNumber: Pantheon project number used to identify the calling + // app. + ProjectNumber int64 `json:"projectNumber,omitempty,string"` + TasksMessageIntegrationPayload *AppsDynamiteSharedTasksMessageIntegrationPayload `json:"tasksMessageIntegrationPayload,omitempty"` + + // Type: An enum indicating which 1P application's payload this is. This + // field is required to add 1P payload. + // // Possible values: - // "OTHER" - // "MOBILE" - // "OFFICE" + // "PAYLOAD_TYPE_UNSPECIFIED" + // "TASKS" Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "PhoneNumber") to + // ForceSendFields is a list of field names (e.g. "ProjectNumber") 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 @@ -4695,7 +6131,7 @@ type PhoneNumber struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PhoneNumber") to include + // NullFields is a list of field names (e.g. "ProjectNumber") 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 @@ -4704,18 +6140,27 @@ type PhoneNumber struct { NullFields []string `json:"-"` } -func (s *PhoneNumber) MarshalJSON() ([]byte, error) { - type NoMethod PhoneNumber +func (s *AppsDynamiteSharedMessageIntegrationPayload) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMessageIntegrationPayload raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Photo: A person's photo. -type Photo struct { - // Url: The URL of the photo. - Url string `json:"url,omitempty"` +type AppsDynamiteSharedOnClick struct { + // Action: If specified, an action is triggered by this onClick. + Action *AppsDynamiteSharedAction `json:"action,omitempty"` - // ForceSendFields is a list of field names (e.g. "Url") to + // OpenDynamicLinkAction: An add-on triggers this action when the action + // needs to open a link. This differs from the open_link above in that + // this needs to talk to server to get the link. Thus some preparation + // work is required for web client to do before the open link action + // response comes back. + OpenDynamicLinkAction *AppsDynamiteSharedAction `json:"openDynamicLinkAction,omitempty"` + + // OpenLink: If specified, this onClick triggers an open link action. + OpenLink *AppsDynamiteSharedOpenLink `json:"openLink,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") 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 @@ -4723,7 +6168,7 @@ type Photo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Url") to include in API + // NullFields is a list of field names (e.g. "Action") 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 @@ -4732,45 +6177,42 @@ type Photo struct { NullFields []string `json:"-"` } -func (s *Photo) MarshalJSON() ([]byte, error) { - type NoMethod Photo +func (s *AppsDynamiteSharedOnClick) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOnClick raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type PollItemsRequest struct { - // ConnectorName: The name of connector making this call. Format: - // datasources/{source_id}/connectors/{ID} - ConnectorName string `json:"connectorName,omitempty"` - - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - - // Limit: Maximum number of items to return. The maximum value is 100 - // and the default value is 20. - Limit int64 `json:"limit,omitempty"` +type AppsDynamiteSharedOpenLink struct { + // AppUri: Represents the platform specific uri/intent to open on each + // client. For example: A companion_url will open in a companion window + // on the web. An iOS URL and android intent will open in the + // corresponding hosting apps. If these platform specific URLs can't be + // handled correctly, i.e. if the companion isn't supported on web and + // the hosting apps aren't available on the mobile platforms then the + // `uri` will open in a new browser window on all the platforms. + AppUri *AppsDynamiteSharedOpenLinkAppUri `json:"appUri,omitempty"` - // Queue: Queue name to fetch items from. If unspecified, PollItems will - // fetch from 'default' queue. The maximum length is 100 characters. - Queue string `json:"queue,omitempty"` + // Possible values: + // "NOTHING" - Doesn’t reload the card after the child window + // closes. Reloads the card after the child window closes. If used in + // conjunction with + // [OpenAs.OVERLAY](/workspace/add-ons/reference/rpc/google.apps.card.v1# + // openas), the child window acts as a modal dialog and the main card is + // blocked until the child window closes. + // "RELOAD" + OnClose string `json:"onClose,omitempty"` - // StatusCodes: Limit the items polled to the ones with these statuses. - // // Possible values: - // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list - // all items in the queue, regardless of status. - // "ERROR" - Error encountered by Cloud Search while processing this - // item. Details of the error are in repositoryError. - // "MODIFIED" - Item has been modified in the repository, and is out - // of date with the version previously accepted into Cloud Search. - // "NEW_ITEM" - Item is known to exist in the repository, but is not - // yet accepted by Cloud Search. An item can be in this state when - // Items.push has been called for an item of this name that did not - // exist previously. - // "ACCEPTED" - API has accepted the up-to-date data of this item. - StatusCodes []string `json:"statusCodes,omitempty"` + // "FULL_SIZE" - The link opens as a full size window (if that's the + // frame used by the client. + // "OVERLAY" - The link opens as an overlay, such as a pop-up. + OpenAs string `json:"openAs,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConnectorName") to + // Url: The URL to open. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppUri") 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 @@ -4778,33 +6220,37 @@ type PollItemsRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConnectorName") 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. "AppUri") 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 *PollItemsRequest) MarshalJSON() ([]byte, error) { - type NoMethod PollItemsRequest +func (s *AppsDynamiteSharedOpenLink) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLink raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type PollItemsResponse struct { - // Items: Set of items from the queue available for connector to - // process. These items have the following subset of fields populated: - // version metadata.hash structured_data.hash content.hash payload - // status queue - Items []*Item `json:"items,omitempty"` +// AppsDynamiteSharedOpenLinkAppUri: Represents the platform specific +// uri/intent to open for each client. +type AppsDynamiteSharedOpenLinkAppUri struct { + // AndroidIntent: An intent object to be opened in the corresponding + // android hosting app. + AndroidIntent *AppsDynamiteSharedOpenLinkAppUriIntent `json:"androidIntent,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // CompanionUri: A companion uri string to be opened in the chat + // companion window. on the web. + CompanionUri string `json:"companionUri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") to + // IosUri: A uri string to be opened in the corresponding iOS hosting + // app. + IosUri string `json:"iosUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidIntent") 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 @@ -4812,8 +6258,44 @@ type PollItemsResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Items") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "AndroidIntent") 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 *AppsDynamiteSharedOpenLinkAppUri) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUri + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedOpenLinkAppUriIntent: Android intent. +type AppsDynamiteSharedOpenLinkAppUriIntent struct { + // ExtraData: A list of extra data for the android intent. For example, + // for a calendar event edit intent, the event title information can be + // passed as extra data. + ExtraData []*AppsDynamiteSharedOpenLinkAppUriIntentExtraData `json:"extraData,omitempty"` + + // IntentAction: An android intent action string for the {@link + // android.content.Intent} object. For example: for the view intent + // action type, a valid value will be + // android.content.Intent.ACTION_VIEW. + IntentAction string `json:"intentAction,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExtraData") 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. "ExtraData") 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. @@ -4821,76 +6303,83 @@ type PollItemsResponse struct { NullFields []string `json:"-"` } -func (s *PollItemsResponse) MarshalJSON() ([]byte, error) { - type NoMethod PollItemsResponse +func (s *AppsDynamiteSharedOpenLinkAppUriIntent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUriIntent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Principal: Reference to a user, group, or domain. -type Principal struct { - // GroupResourceName: This principal is a group identified using an - // external identity. The name field must specify the group resource - // name with this format: identitysources/{source_id}/groups/{ID} - GroupResourceName string `json:"groupResourceName,omitempty"` - - // GsuitePrincipal: This principal is a Google Workspace user, group or - // domain. - GsuitePrincipal *GSuitePrincipal `json:"gsuitePrincipal,omitempty"` +// AppsDynamiteSharedOpenLinkAppUriIntentExtraData: Extra data for an +// android intent. Valid keys are defined in the hosting app contract. +type AppsDynamiteSharedOpenLinkAppUriIntentExtraData struct { + // Key: A key for the intent extra data. + Key string `json:"key,omitempty"` - // UserResourceName: This principal is a user identified using an - // external identity. The name field must specify the user resource name - // with this format: identitysources/{source_id}/users/{ID} - UserResourceName string `json:"userResourceName,omitempty"` + // Value: Value for the given extra data key. + Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "GroupResourceName") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GroupResourceName") 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. "Key") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *Principal) MarshalJSON() ([]byte, error) { - type NoMethod Principal +func (s *AppsDynamiteSharedOpenLinkAppUriIntentExtraData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUriIntentExtraData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ProcessingError struct { - // Code: Error code indicating the nature of the error. - // - // Possible values: - // "PROCESSING_ERROR_CODE_UNSPECIFIED" - Input only value. Use this - // value in Items. - // "MALFORMED_REQUEST" - Item's ACL, metadata, or content is malformed - // or in invalid state. FieldViolations contains more details on where - // the problem is. - // "UNSUPPORTED_CONTENT_FORMAT" - Countent format is unsupported. - // "INDIRECT_BROKEN_ACL" - Items with incomplete ACL information due - // to inheriting other items with broken ACL or having groups with - // unmapped descendants. - // "ACL_CYCLE" - ACL inheritance graph formed a cycle. - Code string `json:"code,omitempty"` +// AppsDynamiteSharedOrganizationInfo: Contains info about the entity +// that something is, or is owned by. +type AppsDynamiteSharedOrganizationInfo struct { + ConsumerInfo *AppsDynamiteSharedOrganizationInfoConsumerInfo `json:"consumerInfo,omitempty"` - // ErrorMessage: The description of the error. - ErrorMessage string `json:"errorMessage,omitempty"` + CustomerInfo *AppsDynamiteSharedOrganizationInfoCustomerInfo `json:"customerInfo,omitempty"` - // FieldViolations: In case the item fields are invalid, this field - // contains the details about the validation errors. - FieldViolations []*FieldViolation `json:"fieldViolations,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConsumerInfo") 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:"-"` - // ForceSendFields is a list of field names (e.g. "Code") to + // NullFields is a list of field names (e.g. "ConsumerInfo") 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 *AppsDynamiteSharedOrganizationInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOrganizationInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedOrganizationInfoConsumerInfo: Intentionally empty. +// Used to disambiguate consumer and customer use cases in oneof below. +type AppsDynamiteSharedOrganizationInfoConsumerInfo struct { +} + +type AppsDynamiteSharedOrganizationInfoCustomerInfo struct { + CustomerId *AppsDynamiteCustomerId `json:"customerId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerId") 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 @@ -4898,8 +6387,8 @@ type ProcessingError struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "CustomerId") 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. @@ -4907,119 +6396,10535 @@ type ProcessingError struct { NullFields []string `json:"-"` } -func (s *ProcessingError) MarshalJSON() ([]byte, error) { - type NoMethod ProcessingError +func (s *AppsDynamiteSharedOrganizationInfoCustomerInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOrganizationInfoCustomerInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PropertyDefinition: The definition of a property within an object. -type PropertyDefinition struct { - BooleanPropertyOptions *BooleanPropertyOptions `json:"booleanPropertyOptions,omitempty"` +// AppsDynamiteSharedOriginAppSuggestion: Stores the suggestion provided +// by apps/bots. +type AppsDynamiteSharedOriginAppSuggestion struct { + AppId *AppsDynamiteAppId `json:"appId,omitempty"` - DatePropertyOptions *DatePropertyOptions `json:"datePropertyOptions,omitempty"` + CardClickSuggestion *AppsDynamiteSharedCardClickSuggestion `json:"cardClickSuggestion,omitempty"` - // DisplayOptions: The options that determine how the property is - // displayed in the Cloud Search results page if it's specified to be - // displayed in the object's display options. - DisplayOptions *PropertyDisplayOptions `json:"displayOptions,omitempty"` + // ForceSendFields is a list of field names (e.g. "AppId") 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:"-"` - DoublePropertyOptions *DoublePropertyOptions `json:"doublePropertyOptions,omitempty"` + // NullFields is a list of field names (e.g. "AppId") 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:"-"` +} - EnumPropertyOptions *EnumPropertyOptions `json:"enumPropertyOptions,omitempty"` +func (s *AppsDynamiteSharedOriginAppSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOriginAppSuggestion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - HtmlPropertyOptions *HtmlPropertyOptions `json:"htmlPropertyOptions,omitempty"` +type AppsDynamiteSharedPhoneNumber struct { + // Type: The phone number type, e.g., work, mobile, etc. + Type string `json:"type,omitempty"` - IntegerPropertyOptions *IntegerPropertyOptions `json:"integerPropertyOptions,omitempty"` + // Value: The actual phone number. + Value string `json:"value,omitempty"` - // IsFacetable: Indicates that the property can be used for generating - // facets. Cannot be true for properties whose type is object. - // IsReturnable must be true to set this option. Only supported for - // boolean, enum, and text properties. - IsFacetable bool `json:"isFacetable,omitempty"` + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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:"-"` - // IsRepeatable: Indicates that multiple values are allowed for the - // property. For example, a document only has one description but can - // have multiple comments. Cannot be true for properties whose type is a - // boolean. If set to false, properties that contain more than one value - // cause the indexing request for that item to be rejected. - IsRepeatable bool `json:"isRepeatable,omitempty"` + // NullFields is a list of field names (e.g. "Type") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. 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:"-"` +} - // IsReturnable: Indicates that the property identifies data that should - // be returned in search results via the Query API. If set to *true*, - // indicates that Query API users can use matching property fields in - // results. However, storing fields requires more space allocation and - // uses more bandwidth for search queries, which impacts performance - // over large datasets. Set to *true* here only if the field is needed - // for search results. Cannot be true for properties whose type is an - // object. - IsReturnable bool `json:"isReturnable,omitempty"` +func (s *AppsDynamiteSharedPhoneNumber) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedPhoneNumber + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // IsSortable: Indicates that the property can be used for sorting. - // Cannot be true for properties that are repeatable. Cannot be true for - // properties whose type is object. IsReturnable must be true to set - // this option. Only supported for boolean, date, double, integer, and - // timestamp properties. - IsSortable bool `json:"isSortable,omitempty"` +type AppsDynamiteSharedReaction struct { + // Count: The total number of users who have reacted. + Count int64 `json:"count,omitempty"` - // IsSuggestable: Indicates that the property can be used for generating - // query suggestions. - IsSuggestable bool `json:"isSuggestable,omitempty"` + // CreateTimestamp: When the first emoji of this type was added. + CreateTimestamp int64 `json:"createTimestamp,omitempty,string"` - // IsWildcardSearchable: Indicates that users can perform wildcard - // search for this property. Only supported for Text properties. - // IsReturnable must be true to set this option. In a given datasource - // maximum of 5 properties can be marked as is_wildcard_searchable. - IsWildcardSearchable bool `json:"isWildcardSearchable,omitempty"` + // CurrentUserParticipated: Whether the current user reacted using this + // emoji. Note: Unlike most properties of messages, this is different + // per-user. + CurrentUserParticipated bool `json:"currentUserParticipated,omitempty"` - // Name: The name of the property. Item indexing requests sent to the - // Indexing API should set the property name equal to this value. For - // example, if name is *subject_line*, then indexing requests for - // document items with subject fields should set the name for that field - // equal to *subject_line*. Use the name as the identifier for the - // object property. Once registered as a property for an object, you - // cannot re-use this name for another property within that object. The - // name must start with a letter and can only contain letters (A-Z, a-z) - // or numbers (0-9). The maximum length is 256 characters. - Name string `json:"name,omitempty"` + Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` - ObjectPropertyOptions *ObjectPropertyOptions `json:"objectPropertyOptions,omitempty"` + // ForceSendFields is a list of field names (e.g. "Count") 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:"-"` - TextPropertyOptions *TextPropertyOptions `json:"textPropertyOptions,omitempty"` + // NullFields is a list of field names (e.g. "Count") 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:"-"` +} - TimestampPropertyOptions *TimestampPropertyOptions `json:"timestampPropertyOptions,omitempty"` +func (s *AppsDynamiteSharedReaction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedReaction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ForceSendFields is a list of field names (e.g. - // "BooleanPropertyOptions") 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. +// AppsDynamiteSharedRetentionSettings: The settings of retention period +// of a message or topic. +type AppsDynamiteSharedRetentionSettings struct { + // ExpiryTimestamp: The timestamp after which the message/topic should + // be removed, in microseconds since the epoch, when state == + // EPHEMERAL_ONE_DAY. The value should not be set in other cases. + ExpiryTimestamp int64 `json:"expiryTimestamp,omitempty,string"` + + // State: The retention state. + // + // Possible values: + // "UNKNOWN_RETENTION_STATE" + // "PERMANENT" - The message/topic should be kept permanently. + // "EPHEMERAL_ONE_DAY" - The message/topic should be kept with a + // 24-hour TTL. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExpiryTimestamp") 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. "BooleanPropertyOptions") - // 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. "ExpiryTimestamp") 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 *PropertyDefinition) MarshalJSON() ([]byte, error) { - type NoMethod PropertyDefinition +func (s *AppsDynamiteSharedRetentionSettings) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedRetentionSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PropertyDisplayOptions: The display options for a property. -type PropertyDisplayOptions struct { - // DisplayLabel: The user friendly label for the property that is used - // if the property is specified to be displayed in ObjectDisplayOptions. - // If provided, the display label is shown in front of the property - // values when the property is part of the object display options. For +// AppsDynamiteSharedSelectionInput: A widget that creates a UI item +// (for example, a drop-down list) with options for users to select. +type AppsDynamiteSharedSelectionInput struct { + Items []*AppsDynamiteSharedSelectionInputSelectionItem `json:"items,omitempty"` + + // Label: The label displayed ahead of the switch control. + Label string `json:"label,omitempty"` + + // Name: The name of the text input which is used in formInput. + Name string `json:"name,omitempty"` + + // OnChangeAction: If specified, the form is submitted when the + // selection changes. If not specified, you must specify a separate + // button. + OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` + + // Possible values: + // "CHECK_BOX" - The selection type is a checkbox. + // "RADIO_BUTTON" - The selection type is a radio button. + // "SWITCH" - The selection type is a switch. + // "DROPDOWN" - The selection type is a dropdown. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *AppsDynamiteSharedSelectionInput) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSelectionInput + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedSelectionInputSelectionItem: The item in the switch +// control. A radio button, at most one of the items is selected. +type AppsDynamiteSharedSelectionInputSelectionItem struct { + // Selected: If more than one item is selected for `RADIO_BUTTON` and + // `DROPDOWN`, the first selected item is treated as selected and the + // ones after are ignored. + Selected bool `json:"selected,omitempty"` + + // Text: The text to be displayed. + Text string `json:"text,omitempty"` + + // Value: The value associated with this item. The client should use + // this as a form input value. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Selected") 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. "Selected") 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 *AppsDynamiteSharedSelectionInputSelectionItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSelectionInputSelectionItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedSpaceInfo: Defines the representation of a single +// matching space. +type AppsDynamiteSharedSpaceInfo struct { + AvatarInfo *AppsDynamiteSharedAvatarInfo `json:"avatarInfo,omitempty"` + + AvatarUrl string `json:"avatarUrl,omitempty"` + + Description string `json:"description,omitempty"` + + GroupId *AppsDynamiteGroupId `json:"groupId,omitempty"` + + // InviterEmail: The email address of the user that invited the calling + // user to the room, if available. This field will only be populated for + // direct invites, it will be empty if the user was indirectly invited + // to the group. + InviterEmail string `json:"inviterEmail,omitempty"` + + // IsExternal: Whether this is a space that enables guest access + IsExternal bool `json:"isExternal,omitempty"` + + Name string `json:"name,omitempty"` + + NumMembers int64 `json:"numMembers,omitempty"` + + // UserMembershipState: searching user's membership state in this space + // + // Possible values: + // "MEMBER_UNKNOWN" - Default state, do not use + // "MEMBER_INVITED" - An invitation to the space has been sent + // "MEMBER_JOINED" - User has joined the space + // "MEMBER_NOT_A_MEMBER" - User is not a member + // "MEMBER_FAILED" - This state should never be stored in Spanner. It + // is a state for responses to the clients to indicate that membership + // mutations have failed and the member is in its previous state. + UserMembershipState string `json:"userMembershipState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AvatarInfo") 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. "AvatarInfo") 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 *AppsDynamiteSharedSpaceInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSpaceInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedSuggestions: A container wrapping elements +// necessary for showing suggestion items used in text input +// autocomplete. +type AppsDynamiteSharedSuggestions struct { + // Items: A list of suggestions items which will be used in are used in + // autocomplete. + Items []*AppsDynamiteSharedSuggestionsSuggestionItem `json:"items,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *AppsDynamiteSharedSuggestions) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSuggestions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedSuggestionsSuggestionItem: A suggestion item. Only +// supports text for now. +type AppsDynamiteSharedSuggestionsSuggestionItem struct { + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Text") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Text") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppsDynamiteSharedSuggestionsSuggestionItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSuggestionsSuggestionItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedTasksAnnotationData: This is the internal version +// of the API proto at +// google3/google/chat/v1/gsuite_message_integration.proto +type AppsDynamiteSharedTasksAnnotationData struct { + AssigneeChange *AppsDynamiteSharedTasksAnnotationDataAssigneeChange `json:"assigneeChange,omitempty"` + + CompletionChange *AppsDynamiteSharedTasksAnnotationDataCompletionChange `json:"completionChange,omitempty"` + + Creation *AppsDynamiteSharedTasksAnnotationDataCreation `json:"creation,omitempty"` + + DeletionChange *AppsDynamiteSharedTasksAnnotationDataDeletionChange `json:"deletionChange,omitempty"` + + // TaskId: ID of task. Will be used to create deep links to Tasks. + TaskId string `json:"taskId,omitempty"` + + // TaskProperties: Task properties after the update has been applied. + TaskProperties *AppsDynamiteSharedTasksAnnotationDataTaskProperties `json:"taskProperties,omitempty"` + + UserDefinedMessage *AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage `json:"userDefinedMessage,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AssigneeChange") 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. "AssigneeChange") 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 *AppsDynamiteSharedTasksAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AppsDynamiteSharedTasksAnnotationDataAssigneeChange struct { + // OldAssignee: Obfuscated user ID of previous assignee. Not set if the + // task was originally not assigned. + OldAssignee *AppsDynamiteUserId `json:"oldAssignee,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OldAssignee") 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. "OldAssignee") 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 *AppsDynamiteSharedTasksAnnotationDataAssigneeChange) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationDataAssigneeChange + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AppsDynamiteSharedTasksAnnotationDataCompletionChange struct { +} + +type AppsDynamiteSharedTasksAnnotationDataCreation struct { +} + +type AppsDynamiteSharedTasksAnnotationDataDeletionChange struct { +} + +// AppsDynamiteSharedTasksAnnotationDataTaskProperties: All relevant +// task properties for a Chat message. +type AppsDynamiteSharedTasksAnnotationDataTaskProperties struct { + // Assignee: Obfuscated user ID of new assignee. Not set if the task + // doesn't have an assignee. + Assignee *AppsDynamiteUserId `json:"assignee,omitempty"` + + // Completed: Whether the task is marked as completed. + Completed bool `json:"completed,omitempty"` + + // Deleted: Whether the task is marked as deleted. + Deleted bool `json:"deleted,omitempty"` + + // Description: The description of the task. If Task original + // description's length is greater than 1024, then Task BE sends the + // truncated description to Dynamite Integration Server. + Description string `json:"description,omitempty"` + + // StartDate: Set if the task has a date but no time. Source of truth in + // Tasks BE: http://shortn/_wyT7eB4Ixv + StartDate *Date `json:"startDate,omitempty"` + + // StartTime: Set if the task has both a date and a time. Source of + // truth in Tasks BE: http://shortn/_u6cr0F5ttE + StartTime string `json:"startTime,omitempty"` + + // Title: The title of the task. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Assignee") 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. "Assignee") 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 *AppsDynamiteSharedTasksAnnotationDataTaskProperties) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationDataTaskProperties + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage: Used for +// task card attachments on custom user messages that should be kept as +// is without generating an i18n event message, e.g. the user starts a +// conversation from an existing task. IMPORTANT: please don't populate +// this field yet as it could break existing flows until it's +// implemented. See code at http://shortn/_CM74CdENMx used by +// http://shortn/_5o85POJY8Q. +type AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage struct { +} + +// AppsDynamiteSharedTasksMessageIntegrationPayload: A payload +// containing Tasks metadata for rendering a live card. Currently not +// used by the Tasks integration. +type AppsDynamiteSharedTasksMessageIntegrationPayload struct { +} + +// AppsDynamiteSharedTextInput: A text input is a UI item where users +// can input text. A text input can also have an onChange action and +// suggestions. +type AppsDynamiteSharedTextInput struct { + // AutoCompleteAction: The refresh function that returns suggestions + // based on the user's input text. If the callback is not specified, + // autocomplete is done in client side based on the initial suggestion + // items. + AutoCompleteAction *AppsDynamiteSharedAction `json:"autoCompleteAction,omitempty"` + + // HintText: The hint text. + HintText string `json:"hintText,omitempty"` + + // InitialSuggestions: The initial suggestions made before any user + // input. + InitialSuggestions *AppsDynamiteSharedSuggestions `json:"initialSuggestions,omitempty"` + + // Label: At least one of label and hintText must be specified. + Label string `json:"label,omitempty"` + + // Name: The name of the text input which is used in formInput. + Name string `json:"name,omitempty"` + + // OnChangeAction: The onChange action, for example, invoke a function. + OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` + + // Type: The style of the text, for example, a single line or multiple + // lines. + // + // Possible values: + // "SINGLE_LINE" - The text is put into a single line. + // "MULTIPLE_LINE" - The text is put into multiple lines. + Type string `json:"type,omitempty"` + + // Value: The default value when there is no input from the user. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoCompleteAction") + // 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. "AutoCompleteAction") 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 *AppsDynamiteSharedTextInput) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTextInput + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedTextParagraph: A paragraph of text that supports +// formatting. See Text formatting +// (workspace/add-ons/concepts/widgets#text_formatting") for details. +type AppsDynamiteSharedTextParagraph struct { + // Text: The text that's shown in the widget. + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Text") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Text") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppsDynamiteSharedTextParagraph) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTextParagraph + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedUserBlockRelationship: User-block relationship +type AppsDynamiteSharedUserBlockRelationship struct { + HasBlockedRequester bool `json:"hasBlockedRequester,omitempty"` + + IsBlockedByRequester bool `json:"isBlockedByRequester,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HasBlockedRequester") + // 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. "HasBlockedRequester") 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 *AppsDynamiteSharedUserBlockRelationship) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedUserBlockRelationship + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedVideoReference: Reference to a transcoded video +// attachment. +type AppsDynamiteSharedVideoReference struct { + // Format: Available transcode format. Value is defined in + // video/storage/proto/content_header.proto + Format []int64 `json:"format,omitempty"` + + // Status: Transcode status + // + // Possible values: + // "UNKNOWN_STATUS" + // "SUCCESS" + // "ERROR" + // "NOT_APPLICABLE" + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Format") 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. "Format") 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 *AppsDynamiteSharedVideoReference) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedVideoReference + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSharedWidget: A widget is a UI element that presents +// texts, images, etc. +type AppsDynamiteSharedWidget struct { + // ButtonList: A list of buttons. For example, the following JSON + // creates two buttons. The first is a filled text button and the second + // is an image button that opens a link: ``` "buttonList": { "buttons": + // [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 + // "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": + // "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { + // "url": "https://example.com/calendar" } } }, ] } ``` + ButtonList *AppsDynamiteSharedButtonList `json:"buttonList,omitempty"` + + // Columns: Displays a single row of columns with widgets stacked + // vertically in each column. For example, the following JSON creates a + // 2 column widget each containing a single item. ``` "columns": { + // "wrapStyle": "WRAP", "columnItems": [ { "horizontalSizeStyle": + // "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", + // "verticalAlignment" : "CENTER", "widgets": [ { "textParagraph": { + // "text": "First column text paragraph", } } ] }, { + // "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": + // "CENTER", "verticalAlignment" : "CENTER", "widgets": [ { + // "textParagraph": { "text": "Second column text paragraph", } } ] }, ] + // } } ``` + Columns *AppsDynamiteSharedColumns `json:"columns,omitempty"` + + // DateTimePicker: Displays a selection/input widget for date/time. For + // example, the following JSON creates a date/time picker for an + // appointment time: ``` "date_time_picker": { "name": + // "appointment_time", "label": "Book your appointment at:", "type": + // "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } + // ``` + DateTimePicker *AppsDynamiteSharedDateTimePicker `json:"dateTimePicker,omitempty"` + + // DecoratedText: Displays a decorated text item in this widget. For + // example, the following JSON creates a decorated text widget showing + // email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" + // }, "topLabel": "Email Address", "content": "heba.salam@example.com", + // "bottomLabel": "This is a new Email address!", "switchWidget": { + // "name": "has_send_welcome_email_to_heba_salam", "selected": false, + // "controlType": "ControlType.CHECKBOX" } } ``` + DecoratedText *AppsDynamiteSharedDecoratedText `json:"decoratedText,omitempty"` + + // Divider: Displays a divider. For example, the following JSON creates + // a divider: ``` "divider": { } ``` + Divider *AppsDynamiteSharedDivider `json:"divider,omitempty"` + + // Grid: Displays a grid with a collection of items. For example, the + // following JSON creates a 2 column grid with a single item: ``` + // "grid": { "title": "A fine collection of items", "numColumns": 2, + // "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ + // "image": { "imageUri": "https://www.example.com/image.png", + // "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" + // } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { + // "openLink": { "url":"https://www.example.com" } } } ``` + Grid *AppsDynamiteSharedGrid `json:"grid,omitempty"` + + // HorizontalAlignment: The horizontal alignment of this widget. + // + // Possible values: + // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - Unspecified alignment. + // "START" - Alignment to the start position. + // "CENTER" - Alignment to the center position. + // "END" - Alignment to the end position. + HorizontalAlignment string `json:"horizontalAlignment,omitempty"` + + // Image: Displays an image in this widget. For example, the following + // JSON creates an image with alternative text: ``` "image": { + // "imageUrl": "https://example.com/heba_salam.png" "altText": "Avatar + // for Heba Salam" } ``` + Image *AppsDynamiteSharedImage `json:"image,omitempty"` + + // SelectionInput: Displays a switch control in this widget. For + // example, the following JSON creates a dropdown selection for size: + // ``` "switchControl": { "name": "size", "label": "Size" "type": + // "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", + // "selected": false }, { "text": "M", "value": "medium", "selected": + // true }, { "text": "L", "value": "large", "selected": false }, { + // "text": "XL", "value": "extra_large", "selected": false } ] } ``` + SelectionInput *AppsDynamiteSharedSelectionInput `json:"selectionInput,omitempty"` + + // TextInput: Displays a text input in this widget. For example, the + // following JSON creates a text input for mail address: ``` + // "textInput": { "name": "mailing_address", "label": "Mailing Address" + // } ``` As another example, the following JSON creates a text input for + // programming language with static suggestions: ``` "textInput": { + // "name": "preferred_programing_language", "label": "Preferred + // Language", "initialSuggestions": { "items": [ { "text": "C++" }, { + // "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } + // } ``` + TextInput *AppsDynamiteSharedTextInput `json:"textInput,omitempty"` + + // TextParagraph: Displays a text paragraph in this widget. For example, + // the following JSON creates a bolded text: ``` "textParagraph": { + // "text": " *bold text*" } ``` + TextParagraph *AppsDynamiteSharedTextParagraph `json:"textParagraph,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ButtonList") 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. "ButtonList") 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 *AppsDynamiteSharedWidget) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedWidget + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSlashCommandMetadata: Annotation metadata for slash +// commands (/). +type AppsDynamiteSlashCommandMetadata struct { + // ArgumentsHint: Hint string for the arguments expected by the slash + // command. + ArgumentsHint string `json:"argumentsHint,omitempty"` + + // CommandId: Unique id for the slash command. + CommandId int64 `json:"commandId,omitempty,string"` + + // CommandName: Name of the slash command. + CommandName string `json:"commandName,omitempty"` + + // Id: ID of the bot which owns the slash command. + Id *AppsDynamiteUserId `json:"id,omitempty"` + + // TriggersDialog: Whether or not this slash command should trigger a + // dialog. + TriggersDialog bool `json:"triggersDialog,omitempty"` + + // Possible values: + // "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE. + // "ADD" - If a bot is added by a Slash Command, it means the bot was + // invoked by the user but hasn't yet been added to the group. Attaching + // an ADD annotation both add and invoke the bot. + // "INVOKE" + // "FAILED_TO_ADD" - Server-generated slash command metadata, for + // clients to strikethrough. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ArgumentsHint") 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. "ArgumentsHint") 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 *AppsDynamiteSlashCommandMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSlashCommandMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteSpaceId: Primary key for Space resource. +type AppsDynamiteSpaceId struct { + // SpaceId: Unique, immutable ID of the Space + SpaceId string `json:"spaceId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SpaceId") 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. "SpaceId") 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 *AppsDynamiteSpaceId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSpaceId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteTombstoneMetadata: Tombstoning is the act of leaving a +// contextual trace when deleting a message. See more: go/tombstone-prd, +// go/hub-dynamite-tombstones-server-design-v2. +type AppsDynamiteTombstoneMetadata struct { + // TombstoneType: Indicates the type of Tombstone. + // + // Possible values: + // "TOMBSTONE_UNSPECIFIED" - This should not be used. + // "CREATOR" - User deleted their own message. + // "ROOM_OWNER" - The space owner deleted a message in their space. + // "ADMIN" - The customer admin deleted a message in a space or DM + // owned by the customer. (go/chat-customer-owned-data) + // "APP_MESSAGE_EXPIRY" - App scheduled deletion of their own message. + // See go/bme-dd. + // "CREATOR_VIA_APP" - User deleted their own message via an app. See + // go/chat-api-delete-message. + // "ROOM_OWNER_VIA_APP" - The space owner deleted a message in their + // space via an app. See go/chat-api-delete-message. + TombstoneType string `json:"tombstoneType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TombstoneType") 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. "TombstoneType") 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 *AppsDynamiteTombstoneMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteTombstoneMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AppsDynamiteTopicId struct { + // GroupId: The Space or DM that the topic belongs to. + GroupId *AppsDynamiteGroupId `json:"groupId,omitempty"` + + // TopicId: Opaque, server-assigned ID of the Topic. While this ID is + // guaranteed to be unique within the Space, it's not guaranteed to be + // globally unique. Internal usage: this field can be empty in the + // following cases: 1. To create the first message in a topic. 2. To + // list last N messages of a Space (regardless of topic). + TopicId string `json:"topicId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GroupId") 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. "GroupId") 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 *AppsDynamiteTopicId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteTopicId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteUploadMetadata: Annotation metadata for user Upload +// artifacts. +type AppsDynamiteUploadMetadata struct { + // AttachmentToken: Opaque token. Clients shall simply pass it back to + // the Backend. This field will NOT be saved into storage. + AttachmentToken string `json:"attachmentToken,omitempty"` + + // BackendUploadMetadata: Information about the uploaded attachment that + // is only used in Backend. This field will NOT be sent out of Google. + BackendUploadMetadata *AppsDynamiteSharedBackendUploadMetadata `json:"backendUploadMetadata,omitempty"` + + // ClonedAuthorizedItemId: The "new" secure identifier for Drive files. + // Should be used instead of the deprecated string drive_id field above. + // This should only be set if the upload file has been added to Drive. + // Note that older Drive files that do not have a ResourceKey should + // still use this field, with the resource_key field unset. + ClonedAuthorizedItemId *AuthorizedItemId `json:"clonedAuthorizedItemId,omitempty"` + + // ClonedDriveAction: DriveAction for organizing the cloned version of + // this upload in Drive, if the file has been added to Drive. This field + // is not set if the file has not been added to Drive. Additionally, + // this field is only set when part of a FileResult in a + // ListFilesResponse. + // + // Possible values: + // "DRIVE_ACTION_UNSPECIFIED" - No organize action should be shown. + // "ADD_TO_DRIVE" - Show "Add to Drive" button, for adding file that + // doesn't exist in Drive to Drive. Note that deleted Drive files that + // still exist (i.e. in your Trash) will still be ORGANIZE (this is + // consistent with Gmail Drive attachments). + // "ORGANIZE" - Show "Move" button, for organizing a Drive file the + // user has permission to move. + // "ADD_SHORTCUT" - Show "Add shortcut" button, for adding a shortcut + // to a Drive file the user does not have permission to move. + // "ADD_ANOTHER_SHORTCUT" - Show "Add another shortcut" button, for + // Drive files the user has already created a shortcut to. + ClonedDriveAction string `json:"clonedDriveAction,omitempty"` + + // ClonedDriveId: Reference to a Drive ID, if this upload file has been + // previously cloned to Drive. Note: this is deprecated in favor of the + // AuthorizedItemId below. + ClonedDriveId string `json:"clonedDriveId,omitempty"` + + // ContentName: The original file name for the content, not the full + // path. + ContentName string `json:"contentName,omitempty"` + + // ContentType: Type is from Scotty's best_guess by default: + // http://google3/uploader/agent/scotty_agent.proto?l=51&rcl=140889785 + ContentType string `json:"contentType,omitempty"` + + // DlpMetricsMetadata: The metrics metadata of the Data Loss Prevention + // attachment scan. + DlpMetricsMetadata *AppsDynamiteSharedDlpMetricsMetadata `json:"dlpMetricsMetadata,omitempty"` + + // LocalId: A copy of the LocalId in Annotation. This field is supposed + // to be filled by server only. + LocalId string `json:"localId,omitempty"` + + // OriginalDimension: Original dimension of the content. Only set for + // image attachments. + OriginalDimension *AppsDynamiteSharedDimension `json:"originalDimension,omitempty"` + + // VideoReference: Reference to a transcoded video attachment. Only set + // for video attachments. + VideoReference *AppsDynamiteSharedVideoReference `json:"videoReference,omitempty"` + + // VirusScanResult: Result for a virus scan. It's duplicated in the + // above field apps.dynamite.shared.BackendUploadMetadata + // + // Possible values: + // "UNKNOWN_VIRUS_SCAN_RESULT" + // "CLEAN" + // "INFECTED" + // "ERROR" + // "POLICY_VIOLATION" - The document violates Google's policy for + // executables and archives. + VirusScanResult string `json:"virusScanResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AttachmentToken") 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. "AttachmentToken") 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 *AppsDynamiteUploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteUploadMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteUrlMetadata: Annotation metadata for a Weblink. In case +// of pasted link it can qualify to be other types in addition to being +// a URL - like DRIVE_DOC/DRIVE_SHEET and so on. The URL metadata will +// also be present and it's up to the client to decide which metadata to +// render it with. These fields are filled in using page render service. +type AppsDynamiteUrlMetadata struct { + // Domain: Domain for this url. If it's an IP address the address is + // returned. + Domain string `json:"domain,omitempty"` + + // GwsUrl: The signed GWS URL. + GwsUrl *SafeUrlProto `json:"gwsUrl,omitempty"` + + // GwsUrlExpirationTimestamp: The expiration timestamp for GWS URL, only + // set when gws_url is set. + GwsUrlExpirationTimestamp int64 `json:"gwsUrlExpirationTimestamp,omitempty,string"` + + // ImageHeight: Dimensions of the image: height. This field is string to + // match with page render service response. Deprecated. Use + // int_image_height instead. + ImageHeight string `json:"imageHeight,omitempty"` + + // ImageUrl: Representative image of the website. + ImageUrl string `json:"imageUrl,omitempty"` + + // ImageWidth: Dimensions of the image: width. This field is string to + // match with page render service response. Deprecated. Use + // int_image_height instead. + ImageWidth string `json:"imageWidth,omitempty"` + + // IntImageHeight: Dimensions of the image: height. + IntImageHeight int64 `json:"intImageHeight,omitempty"` + + // IntImageWidth: Dimensions of the image: width. + IntImageWidth int64 `json:"intImageWidth,omitempty"` + + // MimeType: Mime type of the content (Currently mapped from Page Render + // Service ItemType) Note that this is not necessarily the mime type of + // the http resource. For example a text/html from youtube or vimeo may + // actually be classified as a video type. Then we shall mark it as + // video/* since we don't know exactly what type of video it is. NEXT + // TAG : 16 + MimeType string `json:"mimeType,omitempty"` + + // RedirectUrl: The stable redirect URL pointing to frontend server. + RedirectUrl *SafeUrlProto `json:"redirectUrl,omitempty"` + + // ShouldNotRender: If the UrlMetadata is missing data for rendering a + // chip. Deprecated. Use Annotation.ChipRenderType instead. + ShouldNotRender bool `json:"shouldNotRender,omitempty"` + + // Snippet: Snippet/small description of the weblink. + Snippet string `json:"snippet,omitempty"` + + // Title: Title of the Weblink. + Title string `json:"title,omitempty"` + + // Url: The original URL. + Url *SafeUrlProto `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Domain") 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. "Domain") 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 *AppsDynamiteUrlMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteUrlMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteUserId: Primary key for User resource. +type AppsDynamiteUserId struct { + // ActingUserId: Optional. Opaque, server-assigned ID of the user + // profile associated with App/user acting on behalf of the human user. + // This is currently only set when a 3P application is acting on the + // user's behalf. + ActingUserId string `json:"actingUserId,omitempty"` + + // Id: Opaque, server-assigned ID of the User. + Id string `json:"id,omitempty"` + + // OriginAppId: Optional. Identifier of the App involved (directly or on + // behalf of a human creator) in creating this message. This is not set + // if the user posted a message directly, but is used in the case of, + // for example, a message being generated by a 1P integration based on a + // user action (creating an event, creating a task etc). This should + // only be used on the BE. For clients, please use the field in the FE + // message proto instead + // (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id). + OriginAppId *AppsDynamiteAppId `json:"originAppId,omitempty"` + + // Type: Clients do not need to send UserType to Backend, but Backend + // will always send this field to clients per the following rule: 1. For + // HUMAN Ids, the field is empty but by default .getType() will return + // HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT. + // + // Possible values: + // "HUMAN" - Notes on HUMAN type: 1) Leaving UserId.UserType field + // empty will return HUMAN as default value. This is expected because + // all the existing UserIds are without explicitly setting UserType, + // most of which are HUMAN Ids. For Bot Ids we will always set BOT in + // UserType field. 2) DO NOT explicitly set HUMAN as type. This is a + // proto2 issue, that a UserId with explicitly set default value HUMAN + // as type is NOT equal to an id without setting the field. aka. UserId + // id1 = UserId.newBuilder() + // .setId("dummy").setType(UserType.HUMAN).build(); UserId id2 = + // UserId.newBuilder().setId("dummy").build(); + // AssertThat(id1).isNotEqual(id2); + // AssertThat(id2.getType()).isEqualTo(UserType.HUMAN); + // "BOT" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActingUserId") 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. "ActingUserId") 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 *AppsDynamiteUserId) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteUserId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteUserMentionMetadata: Annotation metadata for user +// mentions (+/@/-). +type AppsDynamiteUserMentionMetadata struct { + // DisplayName: Display name of the mentioned user. This field should + // remain empty when clients resolve a UserMention annotation. It will + // be filled in when a UserMention is generated by the Integration + // Server. + DisplayName string `json:"displayName,omitempty"` + + // Gender: Gender of the mentioned user. One of "female", "male" or + // "other". Used for choosing accurate translations for strings that + // contain the UserMention, when these need to be constructed (e.g. task + // assignment update message). This field should remain empty when + // clients resolve a UserMention. It will be filled in when a + // UserMention is generated by the Integration Server. + Gender string `json:"gender,omitempty"` + + // Id: To be deprecated. Use invitee_info field instead. ID of the User + // mentioned. This field should remain empty when type == MENTION_ALL. + Id *AppsDynamiteUserId `json:"id,omitempty"` + + // InviteeInfo: Invitee UserId and email used when mentioned. This field + // should remain empty when type == MENTION_ALL. Invitee_info.email is + // only used when a user is @-mentioned with an email address, and it + // will be empty when clients get messages from Backend. + InviteeInfo *AppsDynamiteInviteeInfo `json:"inviteeInfo,omitempty"` + + // Possible values: + // "TYPE_UNSPECIFIED" - Default value for the enum. DO NOT USE. + // "INVITE" + // "UNINVITE" + // "MENTION" + // "MENTION_ALL" + // "FAILED_TO_ADD" - Server-generated user mention, for clients to + // strikethrough. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppsDynamiteUserMentionMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteUserMentionMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteV1ApiCompatV1Action: Interactive objects inside a +// message. Documentation: - https://api.slack.com/docs/message-buttons +type AppsDynamiteV1ApiCompatV1Action struct { + // Confirm: Confirmation dialog config. + Confirm *AppsDynamiteV1ApiCompatV1ActionConfirm `json:"confirm,omitempty"` + + // Name: Unique identifier for this action. + Name string `json:"name,omitempty"` + + // Style: Button style ("default", "primary", or "danger"). + Style string `json:"style,omitempty"` + + // Text: User-facing label for the action. + Text string `json:"text,omitempty"` + + // Type: Action type - currently only "button". + Type string `json:"type,omitempty"` + + // Value: Payload for this action. Will be sent to the action handler + // along with name. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confirm") 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. "Confirm") 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 *AppsDynamiteV1ApiCompatV1Action) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Action + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteV1ApiCompatV1ActionConfirm: Confirmation dialog config. +type AppsDynamiteV1ApiCompatV1ActionConfirm struct { + // DismissText: "Cancel" button label. + DismissText string `json:"dismiss_text,omitempty"` + + // OkText: "OK" button label. + OkText string `json:"ok_text,omitempty"` + + // Text: Confirmation dialog body text. + Text string `json:"text,omitempty"` + + // Title: Confirmation dialog title. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DismissText") 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. "DismissText") 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 *AppsDynamiteV1ApiCompatV1ActionConfirm) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1ActionConfirm + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteV1ApiCompatV1Attachment: Richly formatted attachments. +// Documentation: - https://api.slack.com/docs/message-attachments +type AppsDynamiteV1ApiCompatV1Attachment struct { + // Actions: Array of actions (currently only buttons). + Actions []*AppsDynamiteV1ApiCompatV1Action `json:"actions,omitempty"` + + // AttachmentType: Undocumented - used in interactive button examples. + // The only valid value appears to be "default". + AttachmentType string `json:"attachment_type,omitempty"` + + // AuthorIcon: Avatar URL for the user. + AuthorIcon string `json:"author_icon,omitempty"` + + // AuthorLink: URL that the user name should link to. + AuthorLink string `json:"author_link,omitempty"` + + // AuthorName: User name to display as the author of the message. + AuthorName string `json:"author_name,omitempty"` + + // CallbackId: Unique identifier for the collection of buttons within + // this attachment. Will be sent back to the action handler URL when a + // button is clicked. + CallbackId string `json:"callback_id,omitempty"` + + // Color: A color "bar" to display to the left of the attachment. + Color string `json:"color,omitempty"` + + // Fallback: Fallback plain-text string for clients that don't support + // attachments. + Fallback string `json:"fallback,omitempty"` + + // Fields: Columns of text inside the attachment body. + Fields []*AppsDynamiteV1ApiCompatV1Field `json:"fields,omitempty"` + + // Footer: A string displayed at the bottom of the attachment. + Footer string `json:"footer,omitempty"` + + // FooterIcon: Avatar URL displayed to the left of the footer. + FooterIcon string `json:"footer_icon,omitempty"` + + // ImageUrl: URL of an image to display in an image chip. + ImageUrl string `json:"image_url,omitempty"` + + // MrkdwnIn: List of fields to apply formatting to. + MrkdwnIn []string `json:"mrkdwn_in,omitempty"` + + // Pretext: A string to show above the attachment. + Pretext string `json:"pretext,omitempty"` + + // Text: Main text. + Text string `json:"text,omitempty"` + + // ThumbUrl: URL of a thumbnail image to display to the right of the + // attachment body. + ThumbUrl string `json:"thumb_url,omitempty"` + + // Title: Title string of this attachment. + Title string `json:"title,omitempty"` + + // TitleLink: URL that the title string should link to. + TitleLink string `json:"title_link,omitempty"` + + // Ts: UNIX timestamp of the attachment. + Ts int64 `json:"ts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Actions") 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. "Actions") 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 *AppsDynamiteV1ApiCompatV1Attachment) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Attachment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteV1ApiCompatV1Field: A column of text in an attachment. +// Documentation: - https://api.slack.com/docs/message-attachments +type AppsDynamiteV1ApiCompatV1Field struct { + // Short: Whether the field can be shown side-by-side with another + // field. + Short bool `json:"short,omitempty"` + + // Title: The heading text, shown in bold. + Title string `json:"title,omitempty"` + + // Value: The text value of the field. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Short") 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. "Short") 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 *AppsDynamiteV1ApiCompatV1Field) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Field + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AppsDynamiteVideoCallMetadata struct { + // MeetingSpace: Thor meeting space. + MeetingSpace *MeetingSpace `json:"meetingSpace,omitempty"` + + // ShouldNotRender: If this field is set to true, server should still + // contact external backends to get metadata for search but clients + // should not render this chip. + ShouldNotRender bool `json:"shouldNotRender,omitempty"` + + // WasCreatedInCurrentGroup: Whether this meeting space was created via + // Dynamite in this Dynamite group. + WasCreatedInCurrentGroup bool `json:"wasCreatedInCurrentGroup,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MeetingSpace") 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. "MeetingSpace") 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 *AppsDynamiteVideoCallMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteVideoCallMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppsDynamiteYoutubeMetadata: Annotation metadata for YouTube +// artifact. +type AppsDynamiteYoutubeMetadata struct { + // Id: YouTube resource ID of the artifact. + Id string `json:"id,omitempty"` + + // ShouldNotRender: If this field is set to true, server should still + // contact external backends to get metadata for search but clients + // should not render this chip. + ShouldNotRender bool `json:"shouldNotRender,omitempty"` + + // StartTime: YouTube query parameter for timestamp. YouTube specific + // flag that allows users to embed time token when sharing a link. This + // property contains parsed time token in seconds. + StartTime int64 `json:"startTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppsDynamiteYoutubeMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteYoutubeMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Attachment: An Attachment represents a linked entity associated with +// a piece of social content. This may be a 1st-party or 3rd-party +// entity. In the Papyrus context, an Attachment is part of a Cent, and +// sits alongside the main content of the cent, which is represented as +// a sequence of Segments. Right now an Attachment is just a wrapper +// around an Embed, but we provide the extra layer of abstraction since, +// as Embeds move to separate storage in Briefcase, we may want to add +// additional fields that are not part of the Embed proper, but that +// (for example) relate to the usage of the linked content within the +// particular post/cent. +type Attachment struct { + // EmbedItem: An embed represents an external entity. See go/es-embeds. + EmbedItem *EmbedClientItem `json:"embedItem,omitempty"` + + // Id: An id to uniquely identify an attachment when several attachments + // are in a collection. + Id string `json:"id,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EmbedItem") 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. "EmbedItem") 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 *Attachment) MarshalJSON() ([]byte, error) { + type NoMethod Attachment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AttachmentMetadata: An attachment uploaded in Dynamite and its +// filename. +type AttachmentMetadata struct { + Filename string `json:"filename,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Filename") 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. "Filename") 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 *AttachmentMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AttachmentMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AuditLoggingSettings: Represents the settings for Cloud audit logging +type AuditLoggingSettings struct { + // LogAdminReadActions: Indicates whether audit logging is on/off for + // admin activity read APIs i.e. Get/List DataSources, Get/List + // SearchApplications etc. + LogAdminReadActions bool `json:"logAdminReadActions,omitempty"` + + // LogDataReadActions: Indicates whether audit logging is on/off for + // data access read APIs i.e. ListItems, GetItem etc. + LogDataReadActions bool `json:"logDataReadActions,omitempty"` + + // LogDataWriteActions: Indicates whether audit logging is on/off for + // data access write APIs i.e. IndexItem etc. + LogDataWriteActions bool `json:"logDataWriteActions,omitempty"` + + // Project: The resource name of the GCP Project to store audit logs. + // Cloud audit logging will be enabled after project_name has been + // updated through CustomerService. Format: projects/{project_id} + Project string `json:"project,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogAdminReadActions") + // 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. "LogAdminReadActions") 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 *AuditLoggingSettings) MarshalJSON() ([]byte, error) { + type NoMethod AuditLoggingSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AuthorizedItemId: A combination of an identifier for a Drive resource +// (e.g. file, folder, or drive) and any secrets needed to access it. +// The secrets should never be logged, and this proto annotates those +// secret fields to ensure that they are not. Clients are encouraged to +// use this proto rather than defining their own, to ensure that secrets +// are correctly annotated. +type AuthorizedItemId struct { + // Id: Serialized ID of the Drive resource + Id string `json:"id,omitempty"` + + // ResourceKey: Resource key of the Drive item. This field should be + // unset if, depending on the context, the item does not have a resource + // key, or if none was specified. This must never be logged. + ResourceKey string `json:"resourceKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizedItemId) MarshalJSON() ([]byte, error) { + type NoMethod AuthorizedItemId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoComplete struct { + Items []*AutoCompleteItem `json:"items,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *AutoComplete) MarshalJSON() ([]byte, error) { + type NoMethod AutoComplete + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoCompleteItem struct { + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Text") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Text") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoCompleteItem) MarshalJSON() ([]byte, error) { + type NoMethod AutoCompleteItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BooleanOperatorOptions: Used to provide a search operator for boolean +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +type BooleanOperatorOptions struct { + // OperatorName: Indicates the operator name required in the query in + // order to isolate the boolean property. For example, if operatorName + // is *closed* and the property's name is *isClosed*, then queries like + // *closed:* show results only where the value of the property + // named *isClosed* matches **. By contrast, a search that uses + // the same ** without an operator returns all items where + // ** matches the value of any String properties or text within + // the content field for the item. The operator name can only contain + // lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorName") 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. "OperatorName") 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 *BooleanOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod BooleanOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BooleanPropertyOptions: The options for boolean properties. +type BooleanPropertyOptions struct { + // OperatorOptions: If set, describes how the boolean should be used as + // a search operator. + OperatorOptions *BooleanOperatorOptions `json:"operatorOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorOptions") 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 *BooleanPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod BooleanPropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BorderStyle: Represents a complete border style that can be applied +// to widgets. +type BorderStyle struct { + // CornerRadius: The corner radius for the border. + CornerRadius int64 `json:"cornerRadius,omitempty"` + + // StrokeColor: The colors to use when the type is STROKE. + StrokeColor string `json:"strokeColor,omitempty"` + + // Type: The border type. + // + // Possible values: + // "BORDER_TYPE_NOT_SET" - No value specified. + // "NO_BORDER" - No border. + // "STROKE" - Outline. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CornerRadius") 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. "CornerRadius") 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 *BorderStyle) MarshalJSON() ([]byte, error) { + type NoMethod BorderStyle + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BotMessageMetadata: A bot sent a message in Dynamite. +type BotMessageMetadata struct { +} + +// BroadcastAccess: Broadcast access information of a meeting space. +type BroadcastAccess struct { + // AccessPolicy: The policy that controls the broadcast's viewer access. + // + // Possible values: + // "BROADCASTING_ACCESS_POLICY_UNSPECIFIED" - Used only when broadcast + // is not enabled, or an unknown enum value is used. + // "ORGANIZATION" - Only authenticated Google accounts belonging to + // the same organization as the meeting organizer can access the + // broadcast. + // "PUBLIC" - Anyone with the broadcast view URL can access the + // broadcast. + AccessPolicy string `json:"accessPolicy,omitempty"` + + // ViewUrl: A URL that can be used to access the broadcast of the + // meeting. This field will be empty if broadcast is not enabled. It + // will be populated by the backend. Clients cannot modify the value. + ViewUrl string `json:"viewUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccessPolicy") 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. "AccessPolicy") 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 *BroadcastAccess) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastAccess + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BroadcastSessionInfo: Information about a broadcast session. +type BroadcastSessionInfo struct { + // BroadcastSessionId: A unique server-generated ID for the broadcast + // session. + BroadcastSessionId string `json:"broadcastSessionId,omitempty"` + + // BroadcastStats: Output only. Current broadcast session's statistics. + BroadcastStats *BroadcastStats `json:"broadcastStats,omitempty"` + + // IngestionId: Input only. Deprecated field, should not be used. + IngestionId string `json:"ingestionId,omitempty"` + + // SessionStateInfo: Broadcast session's state information. + SessionStateInfo *SessionStateInfo `json:"sessionStateInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BroadcastSessionId") + // 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. "BroadcastSessionId") 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 *BroadcastSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastSessionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BroadcastStats: Statistics of the broadcast session. +type BroadcastStats struct { + // EstimatedViewerCount: Estimated concurrent viewer count. + EstimatedViewerCount int64 `json:"estimatedViewerCount,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. + // "EstimatedViewerCount") 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. "EstimatedViewerCount") 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 *BroadcastStats) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Button struct { + ImageButton *ImageButton `json:"imageButton,omitempty"` + + TextButton *TextButton `json:"textButton,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageButton") 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. "ImageButton") 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 *Button) MarshalJSON() ([]byte, error) { + type NoMethod Button + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CalendarEventMetadata: A Calendar event message in Dynamite. +type CalendarEventMetadata struct { +} + +// CallInfo: Contains information regarding an ongoing conference (aka +// call) for a meeting space. +type CallInfo struct { + // AbuseReportingConfig: Abuse reporting configuration for the ongoing + // conference. + AbuseReportingConfig *AbuseReportingConfig `json:"abuseReportingConfig,omitempty"` + + // ArtifactOwner: Output only. Display name of the owner of artifacts + // generated in this conference. The expected use of this in clients is + // to present info like "This recording will be sent to John Doe's + // Drive". This field can be empty if preferred display name + // determination fails for any reason. + ArtifactOwner *UserDisplayInfo `json:"artifactOwner,omitempty"` + + // AttachedDocuments: Output only. Documents attached to an ongoing + // conference. + AttachedDocuments []*DocumentInfo `json:"attachedDocuments,omitempty"` + + // AvailableReactions: Output only. The set of reactions that clients + // are allowed to send and can expect to receive. Note that a device in + // the conference should have the MAY_SEND_REACTIONS privilege to be + // able to send reactions. + AvailableReactions []*ReactionInfo `json:"availableReactions,omitempty"` + + // BroadcastSessionInfo: Information about active broadcast session in + // the ongoing conference. + BroadcastSessionInfo *BroadcastSessionInfo `json:"broadcastSessionInfo,omitempty"` + + // CalendarEventId: Output only. The calendar event ID of a Google + // Calendar event that the meeting space is associated with. If the + // meeting space is not associated with an event in Google Calendar, + // this field is empty. For recurring events, it refers to the recurring + // instance associated with the current call, as determined by the + // server. + CalendarEventId string `json:"calendarEventId,omitempty"` + + // CoActivity: The current co-activity session, or unset if there is + // none in progress. A co-activity session can be initiated by devices + // in JOINED state . Initiator of the co-activity is expected to + // populate this field to start the session. Once clients detect that + // the co-activity has finished, any JOINED device can clear this field + // to end the co-activity session. In the case of switching activities, + // the initiator of the new activity merely needs to override this with + // the new co-activity data, and all connected clients are expected to + // handle the transition gracefully. + CoActivity *CoActivity `json:"coActivity,omitempty"` + + // Collaboration: The current collaboration session, or unset if no + // collaboration is in progress. + Collaboration *Collaboration `json:"collaboration,omitempty"` + + // CseInfo: CSE information for the ongoing conference. + CseInfo *CseInfo `json:"cseInfo,omitempty"` + + // MaxJoinedDevices: Output only. The maximum number of devices that may + // be in the joined state simultaneously in this conference. This can be + // used by clients to guess whether it will be possible to join, but the + // only way to know is to try to join. It can also be used to inform + // users about the limit that is in effect. This limit is normally set + // when the conference is created and not changed during the lifetime of + // the conference. But there are some cases where it may change, so + // clients should be aware that the information may be stale. + MaxJoinedDevices int64 `json:"maxJoinedDevices,omitempty"` + + // MediaBackendInfo: Output only. Information about the media backend + // for the currently ongoing conference in the meeting space. The media + // backend information will only be filled in for clients that are + // supposed to present the information. The information should be + // displayed in a debug panel and is only intended for internal + // debugging purposes. If the string is empty nothing should be + // displayed about the media backend. + MediaBackendInfo string `json:"mediaBackendInfo,omitempty"` + + // OrganizationName: Output only. The name or description of the + // organization or domain that the organizer belongs to. The expected + // use of this in clients is to present messages like "John Doe (outside + // of Google.com) is trying to join this call", where "Google.com" is + // the organization name. The field will be empty if the organization + // name could not be determined, possibly because of a backend error. + OrganizationName string `json:"organizationName,omitempty"` + + // PaygateInfo: Paygate information to clients. + PaygateInfo *PaygateInfo `json:"paygateInfo,omitempty"` + + // Presenter: The current presenter in the call, or unset if there is no + // current presenter. Clients can set this to change the presenter. + Presenter *Presenter `json:"presenter,omitempty"` + + // RecordingInfo: Deprecated, use RecordingSessionInfo instead. Info + // about recording for this conference. This will always be set in + // server responses, with a valid recording status. This is superseded + // by streaming_sessions field, which contains the same information + // about this recording as well as additional information about other + // application type at the same time. This will be deprecated and + // removed at some point. + RecordingInfo *RecordingInfo `json:"recordingInfo,omitempty"` + + // RecordingSessionInfo: Information about active recording session in + // the ongoing conference. + RecordingSessionInfo *RecordingSessionInfo `json:"recordingSessionInfo,omitempty"` + + // Settings: Settings of the ongoing conference. + Settings *CallSettings `json:"settings,omitempty"` + + // StreamingSessions: Output only. Info about streaming sessions + // (recording or broadcast) for this conference. This should contain all + // active sessions. Currently, it's guaranteed to have at most one + // recording and at most one broadcast (at most two sessions in total). + // For each application type (recording or broadcast), latest inactive + // session is included if there's no active one. + StreamingSessions []*StreamingSessionInfo `json:"streamingSessions,omitempty"` + + // SupportedCaptionLanguages: Supported caption languages in BCP 47 + // language code format, e.g.'en-US'. + SupportedCaptionLanguages []string `json:"supportedCaptionLanguages,omitempty"` + + // TranscriptionSessionInfo: Information about active transcription + // session in the ongoing conference. + TranscriptionSessionInfo *TranscriptionSessionInfo `json:"transcriptionSessionInfo,omitempty"` + + // ViewerCount: The number of devices viewing the conference - + // MeetingDevices that are in VIEWER role and JOINED state in the + // conference. + ViewerCount int64 `json:"viewerCount,omitempty"` + + // YouTubeBroadcastSessionInfos: Information about active YouTube + // broadcast sessions in the ongoing conference. + YouTubeBroadcastSessionInfos []*YouTubeBroadcastSessionInfo `json:"youTubeBroadcastSessionInfos,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AbuseReportingConfig") 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. "AbuseReportingConfig") 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 *CallInfo) MarshalJSON() ([]byte, error) { + type NoMethod CallInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CallSettings: Effective settings of the ongoing conference. +type CallSettings struct { + // AccessLock: Indicates whether the access lock is currently on or off. + AccessLock bool `json:"accessLock,omitempty"` + + // AttendanceReportEnabled: Indicates whether the attendance report is + // currently enabled or disabled. + AttendanceReportEnabled bool `json:"attendanceReportEnabled,omitempty"` + + // AudioLock: Indicates whether the audio lock is currently on or off. + AudioLock bool `json:"audioLock,omitempty"` + + // ChatLock: Indicates whether the chat lock is currently on or off. + ChatLock bool `json:"chatLock,omitempty"` + + // CseEnabled: Whether Client-side Encryption is enabled for this + // conference. + CseEnabled bool `json:"cseEnabled,omitempty"` + + // ModerationEnabled: Indicates whether the current call is moderated. + // go/meet-multimod-dd + ModerationEnabled bool `json:"moderationEnabled,omitempty"` + + // PresentLock: Indicates whether the present lock is currently on or + // off. + PresentLock bool `json:"presentLock,omitempty"` + + // ProjectDinoEnabled: Indicates whether project Dino is currently on or + // off. WARNING: This is currently an experimental field. It should not + // be used without getting an explicit review and approval from the Meet + // team. + ProjectDinoEnabled bool `json:"projectDinoEnabled,omitempty"` + + // ReactionsLock: Indicates whether the reactions lock is currently on + // or off. + ReactionsLock bool `json:"reactionsLock,omitempty"` + + // VideoLock: Indicates whether the video lock is currently on or off. + VideoLock bool `json:"videoLock,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccessLock") 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. "AccessLock") 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 *CallSettings) MarshalJSON() ([]byte, error) { + type NoMethod CallSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CapTokenHolderProto: Represents a principal which possesses a +// particular secret string whose cryptographic hash is specified here. +// CapTokens ("Capability Tokens") are used in ACLProto. It's expected +// that ACLs with CapTokenHolders will strongly enforce them by +// Keystore-wrapping crypto keys for the corresponding CapTokens. +type CapTokenHolderProto struct { + // TokenHmacSha1Prefix: The hash of the corresponding capability token. + // The value is defined to be identical to the one in acl.proto's + // CapTokenMetadata: 10-byte prefix of HMAC-SHA1 of the token. The HMAC + // key is the following fixed (non-secret) 512-bit value: 79b1c8f4 + // 82baf523 b8a9ab4a e960f438 c45be041 11f1f222 e8a3f64d aeb05e3d + // c3576acc ec649194 aede422c 4e48e0d1 ff21234a a6ed6b49 a7fa592e + // efd7bba3 + TokenHmacSha1Prefix string `json:"tokenHmacSha1Prefix,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TokenHmacSha1Prefix") + // 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. "TokenHmacSha1Prefix") 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 *CapTokenHolderProto) MarshalJSON() ([]byte, error) { + type NoMethod CapTokenHolderProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Card struct { + CardActions []*CardAction `json:"cardActions,omitempty"` + + // Possible values: + // "DISPLAY_STYLE_UNSPECIFIED" + // "PEEK" + // "REPLACE" + DisplayStyle string `json:"displayStyle,omitempty"` + + FixedFooter *FixedFooter `json:"fixedFooter,omitempty"` + + Header *CardHeader `json:"header,omitempty"` + + // Name: Name of the card used in CardNavigation.pop_to_card_name. + Name string `json:"name,omitempty"` + + // PeekCardHeader: When displaying contextual content, the peek card + // header acts as a placeholder so that the user can navigate forward + // between the homepage cards and the contextual cards. + PeekCardHeader *CardHeader `json:"peekCardHeader,omitempty"` + + Sections []*Section `json:"sections,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CardActions") 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. "CardActions") 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 *Card) MarshalJSON() ([]byte, error) { + type NoMethod Card + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CardAction: When an AddOn Card is shown in detailed view, a card +// action is the action associated with the card. For an invoice card, a +// typical action would be: delete invoice, email invoice or open the +// invoice in browser. +type CardAction struct { + // ActionLabel: The label used to be displayed in the action menu item. + ActionLabel string `json:"actionLabel,omitempty"` + + OnClick *OnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionLabel") 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. "ActionLabel") 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 *CardAction) MarshalJSON() ([]byte, error) { + type NoMethod CardAction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CardHeader struct { + // ImageAltText: The alternative text of this image which will be used + // for accessibility. + ImageAltText string `json:"imageAltText,omitempty"` + + // Possible values: + // "CROP_TYPE_NOT_SET" - No value specified. + // "SQUARE" - Applies a square crop. + // "CIRCLE" - Applies a circular crop. + // "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom + // aspect ratio. + // "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect + // ratio. + ImageStyle string `json:"imageStyle,omitempty"` + + ImageUrl string `json:"imageUrl,omitempty"` + + Subtitle string `json:"subtitle,omitempty"` + + // Title: The title must be specified. The header has a fixed height: if + // both a title and subtitle is specified, each will take up 1 line. If + // only the title is specified, it will take up both lines. The header + // is rendered in collapsed and detailed view. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageAltText") 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. "ImageAltText") 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 *CardHeader) MarshalJSON() ([]byte, error) { + type NoMethod CardHeader + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ChatContentExtension: NEXT ID: 12 +type ChatContentExtension struct { + // Annotation: Annotations to decorate this event. + Annotation []*EventAnnotation `json:"annotation,omitempty"` + + // DynamitePlaceholderMetadata: This metadata informs how the + // placeholder string will be localized dynamically in Hangouts. See + // go/localization-of-system-messages. This is only used as part of + // REGULAR_CHAT_MESSAGE events. + DynamitePlaceholderMetadata *DynamitePlaceholderMetadata `json:"dynamitePlaceholderMetadata,omitempty"` + + // EventOtrStatus: Is this event OnTR or OffTR? Since some events can be + // ON_THE_RECORD and have an expiration_timestamp (for example + // enterprise retention users) we need to store the otr status. + // + // Possible values: + // "OFF_THE_RECORD" - The conversation is completely off the record. + // "ON_THE_RECORD" - The conversation is completely on the record. + EventOtrStatus string `json:"eventOtrStatus,omitempty"` + + // GroupLinkSharingModificationEvent: Group-link sharing toggle event. + GroupLinkSharingModificationEvent *GroupLinkSharingModificationEvent `json:"groupLinkSharingModificationEvent,omitempty"` + + // HangoutEvent: Audio/video Hangout event. + HangoutEvent *HangoutEvent `json:"hangoutEvent,omitempty"` + + // InviteAcceptedEvent: Invite accepted events. Note: this is only used + // ephemerally to sync to Gmail. No actual cent is stored in Papyrus. + InviteAcceptedEvent *InviteAcceptedEvent `json:"inviteAcceptedEvent,omitempty"` + + // MembershipChangeEvent: Join/leave events. + MembershipChangeEvent *MembershipChangeEvent `json:"membershipChangeEvent,omitempty"` + + // OtrChatMessageEvent: Metadata for off-the-record message. + OtrChatMessageEvent *OtrChatMessageEvent `json:"otrChatMessageEvent,omitempty"` + + OtrModificationEvent *OtrModificationEvent `json:"otrModificationEvent,omitempty"` + + RenameEvent *RenameEvent `json:"renameEvent,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Annotation") 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. "Annotation") 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 *ChatContentExtension) MarshalJSON() ([]byte, error) { + type NoMethod ChatContentExtension + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ChatProto: Represents the invitees or other users associated with a +// Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in +// //social/graph/storage/proto/data.proto. +type ChatProto struct { + // ChatId: Chat IDs consist of alphanumeric characters and colons. + // Currently required. + ChatId string `json:"chatId,omitempty"` + + // MemberType: The type of Chat members to consider, e.g. "all members" + // vs. "invitee" These are defined by legacy_relation_id values in + // social.graph.storage.EdgeTypeEnum.EdgeType enum options in + // social/graph/storage/proto/id.proto. See chat.pb (defined in + // production/config/cdd/socialgraph/mixer_config/prod/node_type_config) + // for all valid edge types associated with chat. Currently required. + MemberType int64 `json:"memberType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ChatId") 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. "ChatId") 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 *ChatProto) MarshalJSON() ([]byte, error) { + type NoMethod ChatProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CheckAccessResponse struct { + // HasAccess: Returns true if principal has access. Returns false + // otherwise. + HasAccess bool `json:"hasAccess,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "HasAccess") 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. "HasAccess") 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 *CheckAccessResponse) MarshalJSON() ([]byte, error) { + type NoMethod CheckAccessResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CircleProto: Represents a Google+ Circle. Currently (12/2011), a +// Circle is identical to the ContactGroup with matching parameters, but +// Circle must only be used for true Circles and not other Focus groups, +// and should be preferred over ContactGroup where applicable. Soon it +// may become more efficient to check membership in a Circle than in a +// ContactGroup (see http://go/superglue). Support for this principal +// type is currently (12/2011) incomplete -- e.g., Keystore does not +// support it yet (see b/5703421). +type CircleProto struct { + // CircleId: Circle ID is unique only relative to the owner's Gaia ID. + // Currently required. + CircleId int64 `json:"circleId,omitempty,string"` + + // OwnerGaiaId: The owner of the circle. Currently required. + OwnerGaiaId int64 `json:"ownerGaiaId,omitempty,string"` + + // RequiredConsistencyTimestampUsec: If present, then tests for + // membership in this circle must use data known to be at least as fresh + // as the given (FBS-assigned) timestamp. See + // http://go/fbs-consistent-read-after-important-write Before using + // this, be sure that any service checking authorization against this + // circle supports checking consistency timestamps. For example, as of + // 12/2011, Keystore only supports this for the Moonshine configuration, + // and in others authorization checks will fail if the timestamp is + // present. + RequiredConsistencyTimestampUsec int64 `json:"requiredConsistencyTimestampUsec,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "CircleId") 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. "CircleId") 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 *CircleProto) MarshalJSON() ([]byte, error) { + type NoMethod CircleProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CloudPrincipalProto: Principal associated with a Cloud Principal +// representing third party user. +type CloudPrincipalProto struct { + // Id: Format: "{identity-pool}:{subject}#" Details: + // go/cloud-principal-identifiers + Id string `json:"id,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CloudPrincipalProto) MarshalJSON() ([]byte, error) { + type NoMethod CloudPrincipalProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CoActivity: Metadata about a co-activity session. +type CoActivity struct { + // ActivityTitle: The title of the activity in this co-activity session. + // For example, this might be the title of the video being co-watched, + // or the name of the round of a game being co-played. + ActivityTitle string `json:"activityTitle,omitempty"` + + // CoActivityApp: Identifies the app handling this co-activity. + // + // Possible values: + // "CO_ACTIVITY_APP_UNSPECIFIED" - Should never be used. + // "CO_ACTIVITY_APP_YOU_TUBE_MAIN" - Main YouTube app, for watching + // videos. + // "CO_ACTIVITY_APP_SPOTIFY" - Spotify music. + // "CO_ACTIVITY_APP_UNO" - Uno game. + // "CO_ACTIVITY_APP_HEADSUP" - HeadsUp game. + // "CO_ACTIVITY_APP_KAHOOT" - Kahoot! educational software. + // "CO_ACTIVITY_APP_GQUEUES" - GQueues task manager. + CoActivityApp string `json:"coActivityApp,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActivityTitle") 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. "ActivityTitle") 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 *CoActivity) MarshalJSON() ([]byte, error) { + type NoMethod CoActivity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Collaboration: Information about a collaboration session. +type Collaboration struct { + // AttachmentId: The attachment being collaborated on. + AttachmentId string `json:"attachmentId,omitempty"` + + // Initiator: Display info of the user who initiated the collaboration + // session. + Initiator *UserDisplayInfo `json:"initiator,omitempty"` + + // Uri: The uri of the artifact being collaborated on. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AttachmentId") 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. "AttachmentId") 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 *Collaboration) MarshalJSON() ([]byte, error) { + type NoMethod Collaboration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Color: Represents a color in the RGBA color space. This +// representation is designed for simplicity of conversion to/from color +// representations in various languages over compactness. For example, +// the fields of this representation can be trivially provided to the +// constructor of `java.awt.Color` in Java; it can also be trivially +// provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; +// and, with just a little work, it can be easily formatted into a CSS +// `rgba()` string in JavaScript. This reference page doesn't carry +// information about the absolute color space that should be used to +// interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, +// etc.). By default, applications should assume the sRGB color space. +// When color equality needs to be decided, implementations, unless +// documented otherwise, treat two colors as equal if all their red, +// green, blue, and alpha values each differ by at most 1e-5. Example +// (Java): import com.google.type.Color; // ... public static +// java.awt.Color fromProto(Color protocolor) { float alpha = +// protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; +// return new java.awt.Color( protocolor.getRed(), +// protocolor.getGreen(), protocolor.getBlue(), alpha); } public static +// Color toProto(java.awt.Color color) { float red = (float) +// color.getRed(); float green = (float) color.getGreen(); float blue = +// (float) color.getBlue(); float denominator = 255.0; Color.Builder +// resultBuilder = Color .newBuilder() .setRed(red / denominator) +// .setGreen(green / denominator) .setBlue(blue / denominator); int +// alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( +// FloatValue .newBuilder() .setValue(((float) alpha) / denominator) +// .build()); } return resultBuilder.build(); } // ... Example (iOS / +// Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float +// red = [protocolor red]; float green = [protocolor green]; float blue +// = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; +// float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper +// value]; } return [UIColor colorWithRed:red green:green blue:blue +// alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, +// green, blue, alpha; if (![color getRed:&red green:&green blue:&blue +// alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; +// [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; +// if (alpha <= 0.9999) { [result +// setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; +// return result; } // ... Example (JavaScript): // ... var +// protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red +// || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = +// rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green +// = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); +// if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, +// blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams +// = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', +// alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, +// blue) { var rgbNumber = new Number((red << 16) | (green << 8) | +// blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - +// hexString.length; var resultBuilder = ['#']; for (var i = 0; i < +// missingZeros; i++) { resultBuilder.push('0'); } +// resultBuilder.push(hexString); return resultBuilder.join(''); }; // +// ... +type Color struct { + // Alpha: The fraction of this color that should be applied to the + // pixel. That is, the final pixel color is defined by the equation: + // `pixel color = alpha * (this color) + (1.0 - alpha) * (background + // color)` This means that a value of 1.0 corresponds to a solid color, + // whereas a value of 0.0 corresponds to a completely transparent color. + // This uses a wrapper message rather than a simple float scalar so that + // it is possible to distinguish between a default value and the value + // being unset. If omitted, this color object is rendered as a solid + // color (as if the alpha value had been explicitly given a value of + // 1.0). + Alpha float64 `json:"alpha,omitempty"` + + // Blue: The amount of blue in the color as a value in the interval [0, + // 1]. + Blue float64 `json:"blue,omitempty"` + + // Green: The amount of green in the color as a value in the interval + // [0, 1]. + Green float64 `json:"green,omitempty"` + + // Red: The amount of red in the color as a value in the interval [0, + // 1]. + Red float64 `json:"red,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alpha") 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. "Alpha") 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 *Color) MarshalJSON() ([]byte, error) { + type NoMethod Color + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Color) UnmarshalJSON(data []byte) error { + type NoMethod Color + var s1 struct { + Alpha gensupport.JSONFloat64 `json:"alpha"` + Blue gensupport.JSONFloat64 `json:"blue"` + Green gensupport.JSONFloat64 `json:"green"` + Red gensupport.JSONFloat64 `json:"red"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Alpha = float64(s1.Alpha) + s.Blue = float64(s1.Blue) + s.Green = float64(s1.Green) + s.Red = float64(s1.Red) + return nil +} + +type CompositeFilter struct { + // LogicOperator: The logic operator of the sub filter. + // + // Possible values: + // "AND" - Logical operators, which can only be applied to sub + // filters. + // "OR" + // "NOT" - NOT can only be applied on a single sub filter. + LogicOperator string `json:"logicOperator,omitempty"` + + // SubFilters: Sub filters. + SubFilters []*Filter `json:"subFilters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogicOperator") 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. "LogicOperator") 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 *CompositeFilter) MarshalJSON() ([]byte, error) { + type NoMethod CompositeFilter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContactGroupProto: A group of contacts for a given user, as described +// in http://cs/p#google3/focus/backend/proto/backend.proto Historically +// (and in still-existing ACLs), this was used to represent Google+ +// circles as well as contact groups, but this use is now deprecated. +// New code should use the CIRCLE principal type to represent Google+ +// circles. +type ContactGroupProto struct { + // GroupId: Group ID is unique only relative to the owner's Gaia ID. + GroupId int64 `json:"groupId,omitempty,string"` + + OwnerGaiaId int64 `json:"ownerGaiaId,omitempty,string"` + + // RequiredConsistencyTimestampUsec: If present, then tests for + // membership in this ContactGroup must use data known to be at least as + // fresh as the given (FBS-assigned) timestamp. See + // http://go/fbs-consistent-read-after-important-write Before using + // this, be sure that any service checking authorization against this + // group supports checking consistency timestamps. For example, as of + // 12/2011, Keystore only supports this for the Moonshine configuration, + // and in others authorization checks will fail if the timestamp is + // present. + RequiredConsistencyTimestampUsec int64 `json:"requiredConsistencyTimestampUsec,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "GroupId") 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. "GroupId") 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 *ContactGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod ContactGroupProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContextAttribute: A named attribute associated with an item which can +// be used for influencing the ranking of the item based on the context +// in the request. +type ContextAttribute struct { + // Name: The name of the attribute. It should not be empty. The maximum + // length is 32 characters. The name must start with a letter and can + // only contain letters (A-Z, a-z) or numbers (0-9). The name will be + // normalized (lower-cased) before being matched. + Name string `json:"name,omitempty"` + + // Values: Text values of the attribute. The maximum number of elements + // is 10. The maximum length of an element in the array is 32 + // characters. The value will be normalized (lower-cased) before being + // matched. + Values []string `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ContextAttribute) MarshalJSON() ([]byte, error) { + type NoMethod ContextAttribute + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContextualAddOnMarkup: The markup for developers to specify the +// contents of a contextual AddOn. A contextual AddOn is triggered in +// context of an email. For that email, there can be N items that are +// associated with the email (e.g. contacts, sales lead, meeting +// information). Each item is represented as a "card". A card has two +// views, collapsed and detailed. If there are more than 1 card, the +// cards are show as a list of collapsed views. The end user can expand +// into the detailed view for each of those cards. In the detailed view, +// developers have the freedom to use a variety of "widgets" to +// construct it. The model here is to restrict (make consistent for end +// users) the navigation of the N cards but providing developers the +// freedom to build the detailed view that can best represent their use +// case/content. Go http://go/aoig-widgets1 to see the mocks. Post v1, +// we plan to support new AddOn use cases that will require different +// and separate 'templates'. For example, a compose triggered AddOn +// which will support a new set of use cases with different user +// interaction patterns. As a result, we will likely need a very +// different template than this one. +type ContextualAddOnMarkup struct { + // Cards: A card must contain a header and at least 1 section. + Cards []*Card `json:"cards,omitempty"` + + // Toolbar: Deprecated. + Toolbar *Toolbar `json:"toolbar,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Cards") 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. "Cards") 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 *ContextualAddOnMarkup) MarshalJSON() ([]byte, error) { + type NoMethod ContextualAddOnMarkup + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CseInfo: Information needed for Client-side Encryption. +type CseInfo struct { + // CseDomain: CSE domain name claimed by the meeting owner's company. + // This field is expected to be used for display purposes only, i.e., + // "Extra encryption added by $cse_domain". It can differ from the + // `cse_domain` as defined elsewhere on the User, in the case of + // cross-domain meetings. + CseDomain string `json:"cseDomain,omitempty"` + + // WrappedKey: The wrapped CSE key used by this conference. + WrappedKey string `json:"wrappedKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CseDomain") 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. "CseDomain") 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 *CseInfo) MarshalJSON() ([]byte, error) { + type NoMethod CseInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomerIndexStats: Aggregation of items by status code as of the +// specified date. +type CustomerIndexStats struct { + // Date: The date for which statistics were calculated. + Date *Date `json:"date,omitempty"` + + // ItemCountByStatus: Number of items aggregrated by status code. + ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *CustomerIndexStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerIndexStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CustomerQueryStats struct { + // Date: The date for which query stats were calculated. Stats + // calculated on the next day close to midnight are returned. + Date *Date `json:"date,omitempty"` + + QueryCountByStatus []*QueryCountByStatus `json:"queryCountByStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *CustomerQueryStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerQueryStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomerSearchApplicationStats: Search application stats for a +// customer for the given date. +type CustomerSearchApplicationStats struct { + // Count: The count of search applications for the date. + Count int64 `json:"count,omitempty,string"` + + // Date: The date for which search application stats were calculated. + Date *Date `json:"date,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Count") 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. "Count") 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 *CustomerSearchApplicationStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerSearchApplicationStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CustomerSessionStats struct { + // Date: The date for which session stats were calculated. Stats are + // calculated on the following day, close to midnight PST, and then + // returned. + Date *Date `json:"date,omitempty"` + + // SearchSessionsCount: The count of search sessions on the day + SearchSessionsCount int64 `json:"searchSessionsCount,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *CustomerSessionStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerSessionStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CustomerSettings: Represents settings at a customer level. +type CustomerSettings struct { + // AuditLoggingSettings: Audit Logging settings for the customer. If + // update_mask is empty then this field will be updated based on + // UpdateCustomerSettings request. + AuditLoggingSettings *AuditLoggingSettings `json:"auditLoggingSettings,omitempty"` + + // VpcSettings: VPC SC settings for the customer. If update_mask is + // empty then this field will be updated based on UpdateCustomerSettings + // request. + VpcSettings *VPCSettings `json:"vpcSettings,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AuditLoggingSettings") 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. "AuditLoggingSettings") 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 *CustomerSettings) MarshalJSON() ([]byte, error) { + type NoMethod CustomerSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CustomerUserStats struct { + // Date: The date for which session stats were calculated. Stats + // calculated on the next day close to midnight are returned. + Date *Date `json:"date,omitempty"` + + // OneDayActiveUsersCount: The count of unique active users in the past + // one day + OneDayActiveUsersCount int64 `json:"oneDayActiveUsersCount,omitempty,string"` + + // SevenDaysActiveUsersCount: The count of unique active users in the + // past seven days + SevenDaysActiveUsersCount int64 `json:"sevenDaysActiveUsersCount,omitempty,string"` + + // ThirtyDaysActiveUsersCount: The count of unique active users in the + // past thirty days + ThirtyDaysActiveUsersCount int64 `json:"thirtyDaysActiveUsersCount,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *CustomerUserStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerUserStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DataSource: Datasource is a logical namespace for items to be +// indexed. All items must belong to a datasource. This is the +// prerequisite before items can be indexed into Cloud Search. +type DataSource struct { + // DisableModifications: If true, sets the datasource to read-only mode. + // In read-only mode, the Indexing API rejects any requests to index or + // delete items in this source. Enabling read-only mode does not stop + // the processing of previously accepted data. + DisableModifications bool `json:"disableModifications,omitempty"` + + // DisableServing: Disable serving any search or assist results. + DisableServing bool `json:"disableServing,omitempty"` + + // DisplayName: Required. Display name of the datasource The maximum + // length is 300 characters. + DisplayName string `json:"displayName,omitempty"` + + // IndexingServiceAccounts: List of service accounts that have indexing + // access. + IndexingServiceAccounts []string `json:"indexingServiceAccounts,omitempty"` + + // ItemsVisibility: This field restricts visibility to items at the + // datasource level. Items within the datasource are restricted to the + // union of users and groups included in this field. Note that, this + // does not ensure access to a specific item, as users need to have ACL + // permissions on the contained items. This ensures a high level access + // on the entire datasource, and that the individual items are not + // shared outside this visibility. + ItemsVisibility []*GSuitePrincipal `json:"itemsVisibility,omitempty"` + + // Name: The name of the datasource resource. Format: + // datasources/{source_id}. The name is ignored when creating a + // datasource. + Name string `json:"name,omitempty"` + + // OperationIds: IDs of the Long Running Operations (LROs) currently + // running for this schema. + OperationIds []string `json:"operationIds,omitempty"` + + // ReturnThumbnailUrls: Can a user request to get thumbnail URI for + // Items indexed in this data source. + ReturnThumbnailUrls bool `json:"returnThumbnailUrls,omitempty"` + + // ShortName: A short name or alias for the source. This value will be + // used to match the 'source' operator. For example, if the short name + // is ** then queries like *source:* will only return + // results for this source. The value must be unique across all + // datasources. The value must only contain alphanumeric characters + // (a-zA-Z0-9). The value cannot start with 'google' and cannot be one + // of the following: mail, gmail, docs, drive, groups, sites, calendar, + // hangouts, gplus, keep, people, teams. Its maximum length is 32 + // characters. + ShortName string `json:"shortName,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "DisableModifications") 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. "DisableModifications") 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 *DataSource) MarshalJSON() ([]byte, error) { + type NoMethod DataSource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DataSourceIndexStats: Aggregation of items by status code as of the +// specified date. +type DataSourceIndexStats struct { + // Date: The date for which index stats were calculated. If the date of + // request is not the current date then stats calculated on the next day + // are returned. Stats are calculated close to mid night in this case. + // If date of request is current date, then real time stats are + // returned. + Date *Date `json:"date,omitempty"` + + // ItemCountByStatus: Number of items aggregrated by status code. + ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *DataSourceIndexStats) MarshalJSON() ([]byte, error) { + type NoMethod DataSourceIndexStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DataSourceRestriction: Restriction on Datasource. +type DataSourceRestriction struct { + // FilterOptions: Filter options restricting the results. If multiple + // filters are present, they are grouped by object type before joining. + // Filters with the same object type are joined conjunctively, then the + // resulting expressions are joined disjunctively. The maximum number of + // elements is 20. NOTE: Suggest API supports only few filters at the + // moment: "objecttype", "type" and "mimetype". For now, schema specific + // filters cannot be used to filter suggestions. + FilterOptions []*FilterOptions `json:"filterOptions,omitempty"` + + // Source: The source of restriction. + Source *Source `json:"source,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FilterOptions") 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. "FilterOptions") 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 *DataSourceRestriction) MarshalJSON() ([]byte, error) { + type NoMethod DataSourceRestriction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Date: Represents a whole calendar date, for example a date of birth. +// The time of day and time zone are either specified elsewhere or are +// not significant. The date is relative to the Proleptic Gregorian +// Calendar +// (https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The +// date must be a valid calendar date between the year 1 and 9999. +type Date struct { + // Day: Day of month. Must be from 1 to 31 and valid for the year and + // month. + Day int64 `json:"day,omitempty"` + + // Month: Month of date. Must be from 1 to 12. + Month int64 `json:"month,omitempty"` + + // Year: Year of date. Must be from 1 to 9999. + Year int64 `json:"year,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Day") 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. "Day") 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 *Date) MarshalJSON() ([]byte, error) { + type NoMethod Date + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DateOperatorOptions: Optional. Provides a search operator for date +// properties. Search operators let users restrict the query to specific +// fields relevant to the type of item being searched. +type DateOperatorOptions struct { + // GreaterThanOperatorName: Indicates the operator name required in the + // query in order to isolate the date property using the greater-than + // operator. For example, if greaterThanOperatorName is *closedafter* + // and the property's name is *closeDate*, then queries like + // *closedafter:* show results only where the value of the + // property named *closeDate* is later than **. The operator name + // can only contain lowercase letters (a-z). The maximum length is 32 + // characters. + GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` + + // LessThanOperatorName: Indicates the operator name required in the + // query in order to isolate the date property using the less-than + // operator. For example, if lessThanOperatorName is *closedbefore* and + // the property's name is *closeDate*, then queries like + // *closedbefore:* show results only where the value of the + // property named *closeDate* is earlier than **. The operator + // name can only contain lowercase letters (a-z). The maximum length is + // 32 characters. + LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` + + // OperatorName: Indicates the actual string required in the query in + // order to isolate the date property. For example, suppose an issue + // tracking schema object has a property named *closeDate* that + // specifies an operator with an operatorName of *closedon*. For + // searches on that data, queries like *closedon:* show results + // only where the value of the *closeDate* property matches **. + // By contrast, a search that uses the same ** without an + // operator returns all items where ** matches the value of any + // String properties or text within the content field for the indexed + // datasource. The operator name can only contain lowercase letters + // (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "GreaterThanOperatorName") 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. "GreaterThanOperatorName") + // 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 *DateOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod DateOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DatePropertyOptions: The options for date properties. +type DatePropertyOptions struct { + // OperatorOptions: If set, describes how the date should be used as a + // search operator. + OperatorOptions *DateOperatorOptions `json:"operatorOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorOptions") 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 *DatePropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod DatePropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DateTimePicker struct { + // Label: The label for the field, which is displayed to the user. + Label string `json:"label,omitempty"` + + // Name: The name of the text field which is used in FormInput, and + // uniquely identifies this input. + Name string `json:"name,omitempty"` + + // OnChange: Triggered when the user clicks on the Save, or Clear button + // from the date / time picker dialog. Will only be triggered if the + // value changed as a result of the Save / Clear operation. + OnChange *FormAction `json:"onChange,omitempty"` + + // TimezoneOffsetDate: The number representing the time-zone offset from + // UTC, in minutes. If set, the value_ms_epoch will be displayed in the + // specified time zone. If not set, it will use the user's timezone + // setting in client side. + TimezoneOffsetDate int64 `json:"timezoneOffsetDate,omitempty"` + + // Type: The type of the DateTimePicker. + // + // Possible values: + // "UNSPECIFIED_TYPE" + // "DATE_AND_TIME" + // "DATE_ONLY" + // "TIME_ONLY" + Type string `json:"type,omitempty"` + + // ValueMsEpoch: The value to display which can be the default value + // before user input or previous user input. It is represented in + // milliseconds (Epoch time). - For DATE_AND_TIME type, the full epoch + // value is used. - For DATE_ONLY type, only date of the epoch time is + // used. - For TIME_ONLY type, only time of the epoch time is used. For + // example, you can set epoch time to 3 * 60 * 60 * 1000 to represent + // 3am. + ValueMsEpoch int64 `json:"valueMsEpoch,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Label") 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. "Label") 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 *DateTimePicker) MarshalJSON() ([]byte, error) { + type NoMethod DateTimePicker + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DateValues: List of date values. +type DateValues struct { + Values []*Date `json:"values,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 []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 []string `json:"-"` +} + +func (s *DateValues) MarshalJSON() ([]byte, error) { + type NoMethod DateValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DebugOptions: Shared request debug options for all cloudsearch RPC +// methods. +type DebugOptions struct { + // EnableDebugging: If you are asked by Google to help with debugging, + // set this field. Otherwise, ignore this field. + EnableDebugging bool `json:"enableDebugging,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EnableDebugging") 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. "EnableDebugging") 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 *DebugOptions) MarshalJSON() ([]byte, error) { + type NoMethod DebugOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeepLinkData: Deep-linking data is used to construct a deep-link URI +// for an activity or frame's embed, such that on click, the user is +// taken to the right place in a mobile app. If the app is not +// installed, the user is taken to the app store. If not on mobile, an +// analogous web uri is used. +type DeepLinkData struct { + // AppId: Application ID (or project ID) from Google API Console. + AppId int64 `json:"appId,omitempty,string"` + + // Client: The data for a Google API Console client is entered by a + // developer during client registration and is stored in + // PackagingService. + Client []*PackagingServiceClient `json:"client,omitempty"` + + // DeepLinkId: The ID for non-URL content. Embeds may either have no + // analogous web presence or prefer a native mobile experience if + // supported. In the case of no web presence, instead of setting the + // "url" field of an embed, such developers will set this field and + // other content fields, e.g. thumbnail, title, description. If set, + // this field is used to construct the deep-link URI. Note that the + // native experience is preferred over the web link and the web link is + // used as a fallback. + DeepLinkId string `json:"deepLinkId,omitempty"` + + // Url: Analogous web presence. Used as desktop fallback or when no + // native link data is present. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppId") 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. "AppId") 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 *DeepLinkData) MarshalJSON() ([]byte, error) { + type NoMethod DeepLinkData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeleteMetadata: A message was deleted in Dynamite. +type DeleteMetadata struct { +} + +type DeleteQueueItemsRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` + + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // Queue: The name of a queue to delete items from. + Queue string `json:"queue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConnectorName") 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. "ConnectorName") 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 *DeleteQueueItemsRequest) MarshalJSON() ([]byte, error) { + type NoMethod DeleteQueueItemsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DeliveryMedium struct { + // MediumType: Describes the medium the cent was sent/received. For + // example, if I receive an SMS via GV, the medium_type will be GV. + // + // Possible values: + // "UNKNOWN_MEDIUM" + // "BABEL_MEDIUM" + // "GOOGLE_VOICE_MEDIUM" + // "LOCAL_SMS_MEDIUM" + MediumType string `json:"mediumType,omitempty"` + + // SelfPhone: In the case of multiple GV/native numbers, this defines + // the exact number to send from. It is used to differentiate mediums + // that have the same type, but different addresses (e.g. two android + // phones). + SelfPhone *VoicePhoneNumber `json:"selfPhone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MediumType") 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. "MediumType") 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 *DeliveryMedium) MarshalJSON() ([]byte, error) { + type NoMethod DeliveryMedium + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DisplayedProperty: A reference to a top-level property within the +// object that should be displayed in search results. The values of the +// chosen properties is displayed in the search results along with the +// display label for that property if one is specified. If a display +// label is not specified, only the values is shown. +type DisplayedProperty struct { + // PropertyName: The name of the top-level property as defined in a + // property definition for the object. If the name is not a defined + // property in the schema, an error is given when attempting to update + // the schema. + PropertyName string `json:"propertyName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PropertyName") 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. "PropertyName") 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 *DisplayedProperty) MarshalJSON() ([]byte, error) { + type NoMethod DisplayedProperty + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Divider struct { +} + +// DocumentInfo: Information on a document attached to an active +// conference. +type DocumentInfo struct { + // WhiteboardInfo: A whiteboard document. + WhiteboardInfo *WhiteboardInfo `json:"whiteboardInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "WhiteboardInfo") 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. "WhiteboardInfo") 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 *DocumentInfo) MarshalJSON() ([]byte, error) { + type NoMethod DocumentInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DoubleOperatorOptions: Used to provide a search operator for double +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +type DoubleOperatorOptions struct { + // OperatorName: Indicates the operator name required in the query in + // order to use the double property in sorting or as a facet. The + // operator name can only contain lowercase letters (a-z). The maximum + // length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorName") 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. "OperatorName") 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 *DoubleOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod DoubleOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DoublePropertyOptions: The options for double properties. +type DoublePropertyOptions struct { + // OperatorOptions: If set, describes how the double should be used as a + // search operator. + OperatorOptions *DoubleOperatorOptions `json:"operatorOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorOptions") 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 *DoublePropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod DoublePropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DoubleValues: List of double values. +type DoubleValues struct { + Values []float64 `json:"values,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 []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 []string `json:"-"` +} + +func (s *DoubleValues) MarshalJSON() ([]byte, error) { + type NoMethod DoubleValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DriveFollowUpRestrict: Drive follow-up search restricts (e.g. +// "followup:suggestions"). +type DriveFollowUpRestrict struct { + // Possible values: + // "UNSPECIFIED" + // "FOLLOWUP_SUGGESTIONS" + // "FOLLOWUP_ACTION_ITEMS" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Type") 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 *DriveFollowUpRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveFollowUpRestrict + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DriveLocationRestrict: Drive location search restricts (e.g. +// "is:starred"). +type DriveLocationRestrict struct { + // Possible values: + // "UNSPECIFIED" + // "TRASHED" + // "STARRED" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Type") 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 *DriveLocationRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveLocationRestrict + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DriveMimeTypeRestrict: Drive mime-type search restricts (e.g. +// "type:pdf"). +type DriveMimeTypeRestrict struct { + // Possible values: + // "UNSPECIFIED" + // "PDF" + // "DOCUMENT" + // "PRESENTATION" + // "SPREADSHEET" + // "FORM" + // "DRAWING" + // "SCRIPT" + // "MAP" + // "IMAGE" + // "AUDIO" + // "VIDEO" + // "FOLDER" + // "ARCHIVE" + // "SITE" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Type") 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 *DriveMimeTypeRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveMimeTypeRestrict + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DriveTimeSpanRestrict: The time span search restrict (e.g. +// "after:2017-09-11 before:2017-09-12"). +type DriveTimeSpanRestrict struct { + // Possible values: + // "UNSPECIFIED" + // "TODAY" + // "YESTERDAY" + // "LAST_7_DAYS" + // "LAST_30_DAYS" - Not Enabled + // "LAST_90_DAYS" - Not Enabled + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Type") 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 *DriveTimeSpanRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveTimeSpanRestrict + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DynamitePlaceholderMetadata: Metadata used as inputs to the +// localization that is performed on Dynamite-originated messages that +// are incompatible with Hangouts clients. See +// go/localization-of-system-messages for more details. +type DynamitePlaceholderMetadata struct { + AttachmentMetadata *AttachmentMetadata `json:"attachmentMetadata,omitempty"` + + BotMessageMetadata *BotMessageMetadata `json:"botMessageMetadata,omitempty"` + + CalendarEventMetadata *CalendarEventMetadata `json:"calendarEventMetadata,omitempty"` + + DeleteMetadata *DeleteMetadata `json:"deleteMetadata,omitempty"` + + EditMetadata *EditMetadata `json:"editMetadata,omitempty"` + + // SpaceUrl: The space URL embedded in the localized string. + SpaceUrl string `json:"spaceUrl,omitempty"` + + TasksMetadata *TasksMetadata `json:"tasksMetadata,omitempty"` + + VideoCallMetadata *VideoCallMetadata `json:"videoCallMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AttachmentMetadata") + // 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. "AttachmentMetadata") 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 *DynamitePlaceholderMetadata) MarshalJSON() ([]byte, error) { + type NoMethod DynamitePlaceholderMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DynamiteSpacesScoringInfo: This is the proto for holding space level +// scoring information. This data is used for logging in query-api +// server and for testing purposes. +type DynamiteSpacesScoringInfo struct { + AffinityScore float64 `json:"affinityScore,omitempty"` + + CommonContactCountAffinityScore float64 `json:"commonContactCountAffinityScore,omitempty"` + + ContactsIntersectionCount float64 `json:"contactsIntersectionCount,omitempty"` + + FinalScore float64 `json:"finalScore,omitempty"` + + FreshnessScore float64 `json:"freshnessScore,omitempty"` + + JoinedSpacesAffinityScore float64 `json:"joinedSpacesAffinityScore,omitempty"` + + LastMessagePostedTimestampSecs int64 `json:"lastMessagePostedTimestampSecs,omitempty,string"` + + LastReadTimestampSecs int64 `json:"lastReadTimestampSecs,omitempty,string"` + + MemberMetadataCount float64 `json:"memberMetadataCount,omitempty"` + + MessageScore float64 `json:"messageScore,omitempty"` + + NumAucContacts int64 `json:"numAucContacts,omitempty,string"` + + SmallContactListAffinityScore float64 `json:"smallContactListAffinityScore,omitempty"` + + SmallUnjoinedSpacesAffinityScore float64 `json:"smallUnjoinedSpacesAffinityScore,omitempty"` + + SpaceAgeInDays float64 `json:"spaceAgeInDays,omitempty"` + + SpaceCreationTimestampSecs int64 `json:"spaceCreationTimestampSecs,omitempty,string"` + + TopicalityScore float64 `json:"topicalityScore,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AffinityScore") 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. "AffinityScore") 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 *DynamiteSpacesScoringInfo) MarshalJSON() ([]byte, error) { + type NoMethod DynamiteSpacesScoringInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *DynamiteSpacesScoringInfo) UnmarshalJSON(data []byte) error { + type NoMethod DynamiteSpacesScoringInfo + var s1 struct { + AffinityScore gensupport.JSONFloat64 `json:"affinityScore"` + CommonContactCountAffinityScore gensupport.JSONFloat64 `json:"commonContactCountAffinityScore"` + ContactsIntersectionCount gensupport.JSONFloat64 `json:"contactsIntersectionCount"` + FinalScore gensupport.JSONFloat64 `json:"finalScore"` + FreshnessScore gensupport.JSONFloat64 `json:"freshnessScore"` + JoinedSpacesAffinityScore gensupport.JSONFloat64 `json:"joinedSpacesAffinityScore"` + MemberMetadataCount gensupport.JSONFloat64 `json:"memberMetadataCount"` + MessageScore gensupport.JSONFloat64 `json:"messageScore"` + SmallContactListAffinityScore gensupport.JSONFloat64 `json:"smallContactListAffinityScore"` + SmallUnjoinedSpacesAffinityScore gensupport.JSONFloat64 `json:"smallUnjoinedSpacesAffinityScore"` + SpaceAgeInDays gensupport.JSONFloat64 `json:"spaceAgeInDays"` + TopicalityScore gensupport.JSONFloat64 `json:"topicalityScore"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.AffinityScore = float64(s1.AffinityScore) + s.CommonContactCountAffinityScore = float64(s1.CommonContactCountAffinityScore) + s.ContactsIntersectionCount = float64(s1.ContactsIntersectionCount) + s.FinalScore = float64(s1.FinalScore) + s.FreshnessScore = float64(s1.FreshnessScore) + s.JoinedSpacesAffinityScore = float64(s1.JoinedSpacesAffinityScore) + s.MemberMetadataCount = float64(s1.MemberMetadataCount) + s.MessageScore = float64(s1.MessageScore) + s.SmallContactListAffinityScore = float64(s1.SmallContactListAffinityScore) + s.SmallUnjoinedSpacesAffinityScore = float64(s1.SmallUnjoinedSpacesAffinityScore) + s.SpaceAgeInDays = float64(s1.SpaceAgeInDays) + s.TopicalityScore = float64(s1.TopicalityScore) + return nil +} + +// EditMetadata: An edit was made in Dynamite. +type EditMetadata struct { +} + +// EmailAddress: A person's email address. +type EmailAddress struct { + // EmailAddress: The email address. + EmailAddress string `json:"emailAddress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EmailAddress") 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. "EmailAddress") 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 *EmailAddress) MarshalJSON() ([]byte, error) { + type NoMethod EmailAddress + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EmailOwnerProto: Represents a verified owner of the given email +// address. Note that a single address may have many owners, and a +// single user may own many addresses. (All lower-case, in display form +// -- see com.google.gaia.client.GaiaEmail) +type EmailOwnerProto struct { + Email string `json:"email,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 + // 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. "Email") 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 *EmailOwnerProto) MarshalJSON() ([]byte, error) { + type NoMethod EmailOwnerProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EmbedClientItem: Represents an embedded object in an update. This is +// a wrapper class that can contain a single specific item proto in an +// extension field. Think of it as a base class like `Message` in Java. +// Each item proto must declare that it extends this proto: message +// ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend +// EmbedClientItem { optional ExampleObject example_object = ; } } See +// go/es-embeds for details. +type EmbedClientItem struct { + // CanonicalId: The canonical ID of the embed. If absent, the canonical + // ID is equal to the ID; if present, then the canonical ID represents + // an "equivalence class" of embeds which really refer to the same + // object. (For example, the URLs http://www.foo.com/ and + // http://foo.com/ refer to the same object) This field may be updated + // periodically by background processes. + CanonicalId string `json:"canonicalId,omitempty"` + + // DeepLinkData: Deep-linking data to take the user to the right place + // in a mobile app. This is only used for preview and attribution. Links + // that are specific to a given embed type should live on that specific + // embed's proto by using Link. See + // http://goto.google.com/mariana-design. + DeepLinkData *DeepLinkData `json:"deepLinkData,omitempty"` + + // Id: The ID of the embed. This corresponds to the schema.org ID, as + // represented in the ItemScope.id field. + Id string `json:"id,omitempty"` + + // Provenance: The provenance of the embed, populated when the embed + // originated from a web fetch. The provenance captures information + // about the web page the embed had originated, like the URL that was + // retrieved and the retrieved URL's canonical form. This is useful in + // the case where the URL shared by the URL redirects (e.g., in the case + // of a shortened URL). + Provenance *Provenance `json:"provenance,omitempty"` + + // RenderId: The ID used to identify the embed during rendering. This + // field will match ID, if set, otherwise it will be the ID of the + // parent activity. This field is only populated on the server for + // client use and is not persisted to storage. + RenderId string `json:"renderId,omitempty"` + + // Signature: Signature of the embed, used for verification. + Signature string `json:"signature,omitempty"` + + // TransientData: Transient generic data that will not be saved on the + // server. + TransientData *TransientData `json:"transientData,omitempty"` + + // Type: The first value in `type` determines which extension field will + // be set. When creating an EmbedClientItem, you only need to set the + // first (primary) type in this field. When the server receives the + // item, it will populate the full type list using the parent + // annotations in the ItemType enum. + // + // Possible values: + // "UNKNOWN" - Largely deprecated, effectively an error condition and + // should not be in storage. + // "ACTION_V2" - Embeds V2 types + // "ADD_ACTION_V2" + // "AGGREGATE_RATING_V2" + // "ARTICLE_V2" + // "ASSESS_ACTION_V2" + // "AUDIO_OBJECT_V2" + // "BASIC_INTERACTION_V2" + // "BLOG_POSTING_V2" + // "BLOG_V2" + // "BOOK_V2" + // "BUY_ACTION_V2" + // "CHECK_IN_ACTION_V2" - The action of checking in, as opposed to a + // "check-in". + // "CHECKIN_V2" + // "COLLEXION_V2" + // "COMMENT_ACTION_V2" - The act of commenting, which might result in + // a comment. + // "COMMENT_V2" + // "COMMUNICATE_ACTION_V2" + // "CONSUME_ACTION_V2" + // "CREATE_ACTION_V2" + // "CREATIVE_WORK_V2" + // "DISCOVER_ACTION_V2" + // "DOCUMENT_OBJECT_V2" + // "DRAWING_OBJECT_V2" + // "DRIVE_OBJECT_V2" + // "EMOTISHARE_V2" + // "ENTRY_POINT_V2" + // "EVENT_TIME_V2" + // "EVENT_V2" + // "FILE_OBJECT_V2" + // "FIND_ACTION_V2" + // "FINANCIAL_QUOTE_V2" + // "FORM_OBJECT_V2" + // "GEO_COORDINATES_V2" + // "GOOGLE_OFFER_V2" + // "HANGOUT_CHAT_MESSAGE" + // "HANGOUT_QUOTE" + // "HANGOUT_V2" + // "HOA_PLUS_EVENT_V2" + // "IMAGE_OBJECT_V2" + // "INTERACT_ACTION_V2" + // "INTERACTION_V2" + // "LISTEN_ACTION_V2" + // "LOCAL_BUSINESS_V2" + // "LOCAL_PLUS_PHOTO_ALBUM_V2" + // "MAGAZINE_V2" + // "MEDIA_OBJECT_V2" + // "MOBILE_APPLICATION_V2" + // "MOVIE_V2" + // "MUSIC_ALBUM_V2" + // "MUSIC_GROUP_V2" + // "MUSIC_PLAYLIST_V2" + // "MUSIC_RECORDING_V2" + // "NEWS_ARTICLE_V2" + // "OFFER_V2" + // "ORGANIZATION_V2" + // "ORGANIZE_ACTION_V2" + // "PERSON_V2" + // "PLACE_REVIEW_V2" + // "PLACE_V2" + // "PLAN_ACTION_V2" + // "PLAY_MUSIC_ALBUM_V2" + // "PLAY_MUSIC_TRACK_V2" + // "PLAY_OBJECT_V2" + // "PLUS_AUDIO_V2" + // "PLUS_EVENT_V2" + // "PLUS_MEDIA_COLLECTION_V2" + // "PLUS_MEDIA_OBJECT_V2" + // "PLUS_PAGE_V2" + // "PLUS_PHOTOS_ADDED_TO_COLLECTION_V2" + // "PLUS_PHOTO_ALBUM_V2" + // "PLUS_PHOTO_COLLECTION_V2" + // "PLUS_PHOTO_V2" + // "PLUS_POST_V2" + // "PLUS_RESHARE_V2" + // "PLUS_SOFTWARE_APPLICATION_V2" + // "POLL_OPTION_V2" + // "POLL_V2" + // "POSTAL_ADDRESS_V2" + // "PRESENTATION_OBJECT_V2" + // "PRODUCT_REVIEW_V2" + // "RATING_V2" + // "REACT_ACTION_V2" + // "RESERVATION_V2" + // "RESERVE_ACTION_V2" + // "REVIEW_V2" + // "REVIEW_ACTION_V2" + // "SOFTWARE_APPLICATION_V2" + // "SPREADSHEET_OBJECT_V2" + // "SQUARE_INVITE_V2" + // "SQUARE_V2" + // "STICKER_V2" + // "STORY_V2" - Boswell story (see goto/boswell) + // "THING_V2" + // "TRADE_ACTION_V2" + // "DEPRECATED_TOUR_OBJECT_V2" + // "TV_EPISODE_V2" + // "TV_SERIES_V2" + // "UPDATE_ACTION_V2" + // "VIEW_ACTION_V2" + // "VIDEO_OBJECT_V2" + // "VIDEO_GALLERY_V2" + // "WANT_ACTION_V2" + // "WEB_PAGE_V2" + // "WRITE_ACTION_V2" + // "YOUTUBE_CHANNEL_V2" + // "GOOGLE_USER_PHOTO_V2" - A photo stored in photo service owned by a + // Google account user. This is distinct from PlusPhoto as it isn't tied + // to GPlus, but is instead intended to be a more general photo tied to + // a google user. + // "GOOGLE_USER_PHOTO_ALBUM" - A photo album in photo service owned by + // a Google account user. This is distinct from PlusPhotoAlbum as it + // isn't tied to GPlus, but is instead intended to be a general photo + // album tied to a google user. + // "GOOGLE_PHOTO_RECIPE" - An embed used to create a single photo in + // photo service. This type is never stored but is used to create a + // GOOGLE_USER_PHOTO_V2 or PLUS_PHOTO_V2 embed. + // "THING" - Embeds V1 types + // "CREATIVE_WORK" + // "EVENT" + // "INTANGIBLE" + // "ORGANIZATION" + // "PERSON" + // "PLACE" + // "PRODUCT" + // "ARTICLE" - CREATIVE_WORK subtypes + // "BLOG_POSTING" + // "NEWS_ARTICLE" + // "SCHOLARLY_ARTICLE" + // "BLOG" + // "BOOK" + // "COMMENT" + // "ITEM_LIST" + // "MAP" + // "MEDIA_OBJECT" + // "AUDIO_OBJECT" + // "IMAGE_OBJECT" + // "MUSIC_VIDEO_OBJECT" + // "VIDEO_OBJECT" + // "MOVIE" + // "MUSIC_PLAYLIST" + // "MUSIC_ALBUM" + // "MUSIC_RECORDING" + // "PAINTING" + // "PHOTOGRAPH" + // "RECIPE" + // "REVIEW" + // "SCULPTURE" + // "SOFTWARE_APPLICATION" + // "MOBILE_APPLICATION" + // "WEB_APPLICATION" + // "TV_EPISODE" + // "TV_SEASON" + // "TV_SERIES" + // "WEB_PAGE" + // "ABOUT_PAGE" + // "CHECKOUT_PAGE" + // "COLLECTION_PAGE" + // "IMAGE_GALLERY" + // "VIDEO_GALLERY" + // "CONTACT_PAGE" + // "ITEM_PAGE" + // "PROFILE_PAGE" + // "SEARCH_RESULTS_PAGE" + // "WEB_PAGE_ELEMENT" + // "SITE_NAVIGATION_ELEMENT" + // "TABLE" + // "WP_AD_BLOCK" + // "WP_FOOTER" + // "WP_HEADER" + // "WP_SIDEBAR" + // "APP_INVITE" + // "EMOTISHARE" + // "BUSINESS_EVENT" - EVENT subtypes + // "CHILDRENS_EVENT" + // "COMEDY_EVENT" + // "DANCE_EVENT" + // "EDUCATION_EVENT" + // "FESTIVAL" + // "FOOD_EVENT" + // "LITERARY_EVENT" + // "MUSIC_EVENT" + // "SALE_EVENT" + // "SOCIAL_EVENT" + // "SPORTS_EVENT" + // "THEATER_EVENT" + // "VISUAL_ARTS_EVENT" + // "RESERVATION" + // "TRAVEL_EVENT" + // "CORPORATION" - ORGANIZATION subtypes + // "EDUCATIONAL_ORGANIZATION" + // "COLLEGE_OR_UNIVERSITY" + // "ELEMENTARY_SCHOOL" + // "HIGH_SCHOOL" + // "MIDDLE_SCHOOL" + // "PRESCHOOL" + // "SCHOOL" + // "GOVERNMENT_ORGANIZATION" + // "LOCAL_BUSINESS" + // "ANIMAL_SHELTER" + // "AUTOMOTIVE_BUSINESS" + // "AUTO_BODY_SHOP" + // "AUTO_DEALER" + // "AUTO_PARTS_STORE" + // "AUTO_RENTAL" + // "AUTO_REPAIR" + // "AUTO_WASH" + // "GAS_STATION" + // "MOTORCYCLE_DEALER" + // "MOTORCYCLE_REPAIR" + // "CHILD_CARE" + // "DRY_CLEANING_OR_LAUNDRY" + // "EMERGENCY_SERVICE" + // "FIRE_STATION" + // "HOSPITAL" + // "POLICE_STATION" + // "EMPLOYMENT_AGENGY" + // "ENTERTAINMENT_BUSINESS" + // "ADULT_ENTERTAINMENT" + // "AMUSEMENT_PARK" + // "ART_GALLERY" + // "CASINO" + // "COMEDY_CLUB" + // "MOVIE_THEATER" + // "NIGHT_CLUB" + // "FINANCIAL_SERVICE" + // "ACCOUNTING_SERVICE" + // "AUTOMATED_TELLER" + // "BANK_OR_CREDIT_UNION" + // "INSURANCE_AGENCY" + // "FOOD_ESTABLISHMENT" + // "BAKERY" + // "BAR_OR_PUB" + // "BREWERY" + // "CAFE_OR_COFFEE_SHOP" + // "FAST_FOOD_RESTAURANT" + // "ICE_CREAM_SHOP" + // "RESTAURANT" + // "WINERY" + // "GOVERNMENT_OFFICE" + // "POST_OFFICE" + // "HEALTH_AND_BEAUTY_BUSINESS" + // "BEAUTY_SALON" + // "DAY_SPA" + // "HAIR_SALON" + // "HEALTH_CLUB" + // "NAIL_SALON" + // "TATTOO_PARLOR" + // "HOME_AND_CONSTRUCTION_BUSINESS" + // "ELECTRICIAN" + // "GENERAL_CONTRACTOR" + // "HVAC_BUSINESS" + // "HOUSE_PAINTER" + // "LOCKSMITH" + // "MOVING_COMPANY" + // "PLUMBER" + // "ROOFING_CONTRACTOR" + // "INTERNET_CAFE" + // "LIBRARY" + // "LODGING_BUSINESS" + // "BED_AND_BREAKFAST" + // "HOSTEL" + // "HOTEL" + // "MOTEL" + // "MEDICAL_ORGANIZATION" + // "DENTIST" + // "MEDICAL_CLINIC" + // "OPTICIAN" + // "PHARMACY" + // "PHYSICIAN" + // "VETERINARY_CARE" + // "PROFESSIONAL_SERVICE" + // "ATTORNEY" + // "NOTARY" + // "RADIO_STATION" + // "REAL_ESTATE_AGENT" + // "RECYCLING_CENTER" + // "SELF_STORAGE" + // "SHOPPING_CENTER" + // "SPORTS_ACTIVITY_LOCATION" + // "BOWLING_ALLEY" + // "EXERCISE_GYM" + // "GOLF_COURSE" + // "PUBLIC_SWIMMING_POOL" + // "SKI_RESORT" + // "SPORTS_CLUB" + // "STADIUM_OR_ARENA" + // "TENNIS_COMPLEX" + // "STORE" + // "BIKE_STORE" + // "BOOK_STORE" + // "CLOTHING_STORE" + // "COMPUTER_STORE" + // "CONVENIENCE_STORE" + // "DEPARTMENT_STORE" + // "ELECTRONICS_STORE" + // "FLORIST" + // "FURNITURE_STORE" + // "GARDEN_STORE" + // "GROCERY_STORE" + // "HARDWARE_STORE" + // "HOBBY_SHOP" + // "HOME_GOODS_STORE" + // "JEWELRY_STORE" + // "LIQUOR_STORE" + // "MENS_CLOTHING_STORE" + // "MOBILE_PHONE_STORE" + // "MOVIE_RENTAL_STORE" + // "MUSIC_STORE" + // "OFFICE_EQUIPMENT_STORE" + // "OUTLET_STORE" + // "PAWN_SHOP" + // "PET_STORE" + // "SHOE_STORE" + // "SPORTING_GOODS_STORE" + // "TIRE_SHOP" + // "TOY_STORE" + // "WHOLESALE_STORE" + // "TELEVISION_STATION" + // "TOURIST_INFORMATION_CENTER" + // "TRAVEL_AGENCY" + // "PERFORMING_GROUP" + // "MUSIC_GROUP" + // "ADMINISTRATIVE_AREA" - PLACE subtypes + // "CITY" + // "COUNTRY" + // "STATE" + // "CIVIC_STRUCTURE" + // "AIRPORT" + // "AQUARIUM" + // "BEACH" + // "BUS_STATION" + // "BUS_STOP" + // "CAMPGROUND" + // "CEMETERY" + // "CREMATORIUM" + // "EVENT_VENUE" + // "GOVERNMENT_BUILDING" + // "CITY_HALL" + // "COURTHOUSE" + // "DEFENCE_ESTABLISHMENT" + // "EMBASSY" + // "LEGISLATIVE_BUILDING" + // "MUSEUM" + // "MUSIC_VENUE" + // "PARK" + // "PARKING_FACILITY" + // "PERFORMING_ARTS_THEATER" + // "PLACE_OF_WORSHIP" + // "BUDDHIST_TEMPLE" + // "CATHOLIC_CHURCH" + // "CHURCH" + // "HINDU_TEMPLE" + // "MOSQUE" + // "SYNAGOGUE" + // "PLAYGROUND" + // "R_V_PARK" + // "RESIDENCE" + // "APARTMENT_COMPLEX" + // "GATED_RESIDENCE_COMMUNITY" + // "SINGLE_FAMILY_RESIDENCE" + // "TOURIST_ATTRACTION" + // "SUBWAY_STATION" + // "TAXI_STAND" + // "TRAIN_STATION" + // "ZOO" + // "LANDFORM" + // "BODY_OF_WATER" + // "CANAL" + // "LAKE_BODY_OF_WATER" + // "OCEAN_BODY_OF_WATER" + // "POND" + // "RESERVOIR" + // "RIVER_BODY_OF_WATER" + // "SEA_BODY_OF_WATER" + // "WATERFALL" + // "CONTINENT" + // "MOUNTAIN" + // "VOLCANO" + // "LANDMARKS_OR_HISTORICAL_BUILDINGS" + // "USER_INTERACTION" - NOTE(jpanzer): This is a badly designed + // hierarchy and we should avoid depending on Event properties inside + // UserInteractions as much as possible IMHO. + // "USER_PLUS_ONES" + // "ENUMERATION" - Intangibles, primarily used as sub-objects of other + // types + // "BOOK_FORMAT_TYPE" + // "ITEM_AVAILABILITY" + // "OFFER_ITEM_CONDITION" + // "JOB_POSTING" + // "LANGUAGE" + // "OFFER" + // "QUANTITY" + // "DISTANCE" + // "DURATION" + // "ENERGY" + // "MASS" + // "RATING" + // "AGGREGATE_RATING" + // "STRUCTURED_VALUE" + // "CONTACT_POINT" + // "POSTAL_ADDRESS" + // "GEO_COORDINATES" + // "GEO_SHAPE" + // "NUTRITION_INFORMATION" + // "PRESENTATION_OBJECT" - CREATIVE_WORK extensions + // "DOCUMENT_OBJECT" + // "SPREADSHEET_OBJECT" + // "FORM_OBJECT" + // "DRAWING_OBJECT" + // "PLACE_REVIEW" + // "FILE_OBJECT" + // "PLAY_MUSIC_TRACK" + // "PLAY_MUSIC_ALBUM" + // "MAGAZINE" + // "CAROUSEL_FRAME" - Single frame for http://goto/carousel. + // "PLUS_EVENT" - EVENT extensions + // "HANGOUT" - No declared proto. Used only as a base type for now. + // "HANGOUT_BROADCAST" + // "HANGOUT_CONSUMER" + // "CHECKIN" + // "EXAMPLE_OBJECT" + // "SQUARE" - NOTE(melchang): These correspond to + // http://schema.org/WebPage/Community and + // http://schema.org/WebPage/CommunityInvite. See b/7653610 for why + // these are "SQUARE" and not "COMMUNITY". + // "SQUARE_INVITE" + // "PLUS_PHOTO" + // "PLUS_PHOTO_ALBUM" + // "LOCAL_PLUS_PHOTO_ALBUM" + // "PRODUCT_REVIEW" + // "FINANCIAL_QUOTE" + // "DEPRECATED_TOUR_OBJECT" + // "PLUS_PAGE" + // "GOOGLE_CHART" - Data visualizations. See + // http://code.google.com/apis/chart/index.html + // "PLUS_PHOTOS_ADDED_TO_COLLECTION" + // "RECOMMENDED_PEOPLE" - A collection of people that have been + // recommended to a user. + // "PLUS_POST" - A Google+ post. + // "DATE" - An http://schema.org/Date unstructured ISO-8859 timestamp + // string. + // "DRIVE_OBJECT_COLLECTION" - Embed representing a collection of + // multiple Drive objects. + // "NEWS_MEDIA_ORGANIZATION" - + // https://schema.org/NewsMediaOrganization + // "DYNAMITE_ATTACHMENT_METADATA" - Deprecated in favor of + // DYNAMITE_MESSAGE_METADATA + // "DYNAMITE_MESSAGE_METADATA" - Used for Dynamite message metadata in + // Hangouts + Type []string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CanonicalId") 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. "CanonicalId") 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 *EmbedClientItem) MarshalJSON() ([]byte, error) { + type NoMethod EmbedClientItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnumOperatorOptions: Used to provide a search operator for enum +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +// For example, if you provide no operator for a *priority* enum +// property with possible values *p0* and *p1*, a query that contains +// the term *p0* returns items that have *p0* as the value of the +// *priority* property, as well as any items that contain the string +// *p0* in other fields. If you provide an operator name for the enum, +// such as *priority*, then search users can use that operator to refine +// results to only items that have *p0* as this property's value, with +// the query *priority:p0*. +type EnumOperatorOptions struct { + // OperatorName: Indicates the operator name required in the query in + // order to isolate the enum property. For example, if operatorName is + // *priority* and the property's name is *priorityVal*, then queries + // like *priority:* show results only where the value of the + // property named *priorityVal* matches **. By contrast, a search + // that uses the same ** without an operator returns all items + // where ** matches the value of any String properties or text + // within the content field for the item. The operator name can only + // contain lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorName") 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. "OperatorName") 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 *EnumOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod EnumOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnumPropertyOptions: The options for enum properties, which allow you +// to define a restricted set of strings to match user queries, set +// rankings for those string values, and define an operator name to be +// paired with those strings so that users can narrow results to only +// items with a specific value. For example, for items in a request +// tracking system with priority information, you could define *p0* as +// an allowable enum value and tie this enum to the operator name +// *priority* so that search users could add *priority:p0* to their +// query to restrict the set of results to only those items indexed with +// the value *p0*. +type EnumPropertyOptions struct { + // OperatorOptions: If set, describes how the enum should be used as a + // search operator. + OperatorOptions *EnumOperatorOptions `json:"operatorOptions,omitempty"` + + // OrderedRanking: Used to specify the ordered ranking for the + // enumeration that determines how the integer values provided in the + // possible EnumValuePairs are used to rank results. If specified, + // integer values must be provided for all possible EnumValuePair values + // given for this property. Can only be used if isRepeatable is false. + // + // Possible values: + // "NO_ORDER" - There is no ranking order for the property. Results + // aren't adjusted by this property's value. + // "ASCENDING" - This property is ranked in ascending order. Lower + // values indicate lower ranking. + // "DESCENDING" - This property is ranked in descending order. Lower + // values indicate higher ranking. + OrderedRanking string `json:"orderedRanking,omitempty"` + + // PossibleValues: The list of possible values for the enumeration + // property. All EnumValuePairs must provide a string value. If you + // specify an integer value for one EnumValuePair, then all possible + // EnumValuePairs must provide an integer value. Both the string value + // and integer value must be unique over all possible values. Once set, + // possible values cannot be removed or modified. If you supply an + // ordered ranking and think you might insert additional enum values in + // the future, leave gaps in the initial integer values to allow adding + // a value in between previously registered values. The maximum number + // of elements is 100. + PossibleValues []*EnumValuePair `json:"possibleValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorOptions") 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 *EnumPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod EnumPropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnumValuePair: The enumeration value pair defines two things: a +// required string value and an optional integer value. The string value +// defines the necessary query term required to retrieve that item, such +// as *p0* for a priority item. The integer value determines the ranking +// of that string value relative to other enumerated values for the same +// property. For example, you might associate *p0* with *0* and define +// another enum pair such as *p1* and *1*. You must use the integer +// value in combination with ordered ranking to set the ranking of a +// given value relative to other enumerated values for the same property +// name. Here, a ranking order of DESCENDING for *priority* properties +// results in a ranking boost for items indexed with a value of *p0* +// compared to items indexed with a value of *p1*. Without a specified +// ranking order, the integer value has no effect on item ranking. +type EnumValuePair struct { + // IntegerValue: The integer value of the EnumValuePair which must be + // non-negative. Optional. + IntegerValue int64 `json:"integerValue,omitempty"` + + // StringValue: The string value of the EnumValuePair. The maximum + // length is 32 characters. + StringValue string `json:"stringValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IntegerValue") 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. "IntegerValue") 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 *EnumValuePair) MarshalJSON() ([]byte, error) { + type NoMethod EnumValuePair + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnumValues: List of enum values. +type EnumValues struct { + // Values: The maximum allowable length for string values is 32 + // characters. + Values []string `json:"values,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 []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 []string `json:"-"` +} + +func (s *EnumValues) MarshalJSON() ([]byte, error) { + type NoMethod EnumValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ErrorInfo: Error information about the response. +type ErrorInfo struct { + ErrorMessages []*ErrorMessage `json:"errorMessages,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ErrorMessages") 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. "ErrorMessages") 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 *ErrorInfo) MarshalJSON() ([]byte, error) { + type NoMethod ErrorInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ErrorMessage: Error message per source response. +type ErrorMessage struct { + ErrorMessage string `json:"errorMessage,omitempty"` + + Source *Source `json:"source,omitempty"` + + // 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 *ErrorMessage) MarshalJSON() ([]byte, error) { + type NoMethod ErrorMessage + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type EventAnnotation struct { + Type int64 `json:"type,omitempty"` + + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Type") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Type") 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 *EventAnnotation) MarshalJSON() ([]byte, error) { + type NoMethod EventAnnotation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EventProto: Represents the invitees or other users associated with a +// Google+ Event (see http://goto/events-backend-design). +type EventProto struct { + // EventId: Event IDs consist of alphanumeric characters and colons. + // Currently required. + EventId string `json:"eventId,omitempty"` + + // MemberType: The type of Event members to consider, e.g. "all members" + // vs. "owners" vs. "admins". These are defined by legacy_relation_id + // values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in + // social/graph/storage/proto/id.proto. See event.pb (defined in + // production/config/cdd/socialgraph/mixer_config/prod/node_type_config) + // for all valid edge types associated with event. Currently required. + MemberType int64 `json:"memberType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EventId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "EventId") 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 *EventProto) MarshalJSON() ([]byte, error) { + type NoMethod EventProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FacetBucket: A bucket in a facet is the basic unit of operation. A +// bucket can comprise either a single value OR a contiguous range of +// values, depending on the type of the field bucketed. FacetBucket is +// currently used only for returning the response object. +type FacetBucket struct { + // Count: Number of results that match the bucket value. Counts are only + // returned for searches when count accuracy is ensured. Cloud Search + // does not guarantee facet counts for any query and facet counts might + // be present only intermittently, even for identical queries. Do not + // build dependencies on facet count existence; instead use facet ount + // percentages which are always returned. + Count int64 `json:"count,omitempty"` + + // Percentage: Percent of results that match the bucket value. The + // returned value is between (0-100], and is rounded down to an integer + // if fractional. If the value is not explicitly returned, it represents + // a percentage value that rounds to 0. Percentages are returned for all + // searches, but are an estimate. Because percentages are always + // returned, you should render percentages instead of counts. + Percentage int64 `json:"percentage,omitempty"` + + Value *Value `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Count") 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. "Count") 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 *FacetBucket) MarshalJSON() ([]byte, error) { + type NoMethod FacetBucket + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FacetOptions: Specifies operators to return facet results for. There +// will be one FacetResult for every +// source_name/object_type/operator_name combination. +type FacetOptions struct { + // NumFacetBuckets: Maximum number of facet buckets that should be + // returned for this facet. Defaults to 10. Maximum value is 100. + NumFacetBuckets int64 `json:"numFacetBuckets,omitempty"` + + // ObjectType: If object_type is set, only those objects of that type + // will be used to compute facets. If empty, then all objects will be + // used to compute facets. + ObjectType string `json:"objectType,omitempty"` + + // OperatorName: The name of the operator chosen for faceting. @see + // cloudsearch.SchemaPropertyOptions + OperatorName string `json:"operatorName,omitempty"` + + // SourceName: Source name to facet on. Format: datasources/{source_id} + // If empty, all data sources will be used. + SourceName string `json:"sourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NumFacetBuckets") 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. "NumFacetBuckets") 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 *FacetOptions) MarshalJSON() ([]byte, error) { + type NoMethod FacetOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FacetResult: Source specific facet response +type FacetResult struct { + // Buckets: FacetBuckets for values in response containing at least a + // single result with the corresponding filter. + Buckets []*FacetBucket `json:"buckets,omitempty"` + + // ObjectType: Object type for which facet results are returned. Can be + // empty. + ObjectType string `json:"objectType,omitempty"` + + // OperatorName: The name of the operator chosen for faceting. @see + // cloudsearch.SchemaPropertyOptions + OperatorName string `json:"operatorName,omitempty"` + + // SourceName: Source name for which facet results are returned. Will + // not be empty. + SourceName string `json:"sourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Buckets") 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. "Buckets") 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 *FacetResult) MarshalJSON() ([]byte, error) { + type NoMethod FacetResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type FieldViolation struct { + // Description: The description of the error. + Description string `json:"description,omitempty"` + + // Field: Path of field with violation. + Field string `json:"field,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Description") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FieldViolation) MarshalJSON() ([]byte, error) { + type NoMethod FieldViolation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Filter: A generic way of expressing filters in a query, which +// supports two approaches: **1. Setting a ValueFilter.** The name must +// match an operator_name defined in the schema for your data source. +// **2. Setting a CompositeFilter.** The filters are evaluated using the +// logical operator. The top-level operators can only be either an AND +// or a NOT. AND can appear only at the top-most level. OR can appear +// only under a top-level AND. +type Filter struct { + CompositeFilter *CompositeFilter `json:"compositeFilter,omitempty"` + + ValueFilter *ValueFilter `json:"valueFilter,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CompositeFilter") 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. "CompositeFilter") 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 *Filter) MarshalJSON() ([]byte, error) { + type NoMethod Filter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FilterOptions: Filter options to be applied on query. +type FilterOptions struct { + // Filter: Generic filter to restrict the search, such as `lang:en`, + // `site:xyz`. + Filter *Filter `json:"filter,omitempty"` + + // ObjectType: If object_type is set, only objects of that type are + // returned. This should correspond to the name of the object that was + // registered within the definition of schema. The maximum length is 256 + // characters. + ObjectType string `json:"objectType,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. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Filter") 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 *FilterOptions) MarshalJSON() ([]byte, error) { + type NoMethod FilterOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FixedFooter: A persistent (sticky) footer that is added to the bottom +// of the card. +type FixedFooter struct { + Buttons []*Button `json:"buttons,omitempty"` + + PrimaryButton *TextButton `json:"primaryButton,omitempty"` + + SecondaryButton *TextButton `json:"secondaryButton,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Buttons") 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. "Buttons") 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 *FixedFooter) MarshalJSON() ([]byte, error) { + type NoMethod FixedFooter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type FormAction struct { + // ActionMethodName: Apps script function that should be invoked in the + // developer's apps script when the containing element is + // clicked/activated. + ActionMethodName string `json:"actionMethodName,omitempty"` + + // Possible values: + // "SPINNER" + // "NONE" + LoadIndicator string `json:"loadIndicator,omitempty"` + + Parameters []*ActionParameter `json:"parameters,omitempty"` + + // PersistValues: Indicates whether form values persist after the + // action. When false, the Apps Script is responsible for persisting + // values, by setting any form field values using the formInputs in the + // event. Disabling this behavior can be used if the add-on needs the + // ability to clear form fields, for example, as with persistent values, + // there is no means for clearing existing values. When disabling + // persistent values, it is strongly recommended that the add-on use + // LoadIndicator.SPINNER for all events, as this locks the UI to ensure + // no changes are made by the user while the action is being processed. + // When using LoadIndicator.NONE for any of the actions, persistent + // values are recommended, as it ensures that any changes made by the + // user after form / on change actions are sent to the server are not + // overwritten by the response. Persistent values disabled by default. + // While we recommend persistent values be used in the typical use case, + // we do not enable by default, as doing so would change the current + // behavior of existing add-ons in prod. + PersistValues bool `json:"persistValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionMethodName") 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. "ActionMethodName") 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 *FormAction) MarshalJSON() ([]byte, error) { + type NoMethod FormAction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Formatting: Formatting information for a segment. +type Formatting struct { + Bold bool `json:"bold,omitempty"` + + // Highlight: This indicates that the segment should be rendered as + // highlighted or visually emphasized. + Highlight bool `json:"highlight,omitempty"` + + Italics bool `json:"italics,omitempty"` + + Strikethrough bool `json:"strikethrough,omitempty"` + + // Style: If set, this indicates that the segment should be rendered + // with the specified style. The absence of an explicit style represents + // "no style", i.e. the segment can be rendered with the default style + // chosen by the application. + // + // Possible values: + // "UNKNOWN_STYLE" - This represents a style that is unknown (e.g. a + // new style was introduced but not supported by older mobile app + // versions) and should generally not be used as a value in a proto. If + // the segment does not need to be rendered with a special style, the + // 'style' field should simply be left unset. A reasonable fallback for + // an unknown style is to render the segment in the default style. + // "HEADING_1" - The most important heading to the least important + // heading. + // "HEADING_2" + // "HEADING_3" + // "HEADING_4" + Style string `json:"style,omitempty"` + + Underline bool `json:"underline,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Bold") 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. "Bold") 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 *Formatting) MarshalJSON() ([]byte, error) { + type NoMethod Formatting + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FreshnessOptions: Indicates which freshness property to use when +// adjusting search ranking for an item. Fresher, more recent dates +// indicate higher quality. Use the freshness option property that best +// works with your data. For fileshare documents, last modified time is +// most relevant. For calendar event data, the time when the event +// occurs is a more relevant freshness indicator. In this way, calendar +// events that occur closer to the time of the search query are +// considered higher quality and ranked accordingly. +type FreshnessOptions struct { + // FreshnessDuration: The duration after which an object should be + // considered stale. The default value is 180 days (in seconds). + FreshnessDuration string `json:"freshnessDuration,omitempty"` + + // FreshnessProperty: This property indicates the freshness level of the + // object in the index. If set, this property must be a top-level + // property within the property definitions and it must be a timestamp + // type or date type. Otherwise, the Indexing API uses updateTime as the + // freshness indicator. The maximum length is 256 characters. When a + // property is used to calculate freshness, the value defaults to 2 + // years from the current time. + FreshnessProperty string `json:"freshnessProperty,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FreshnessDuration") + // 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. "FreshnessDuration") 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 *FreshnessOptions) MarshalJSON() ([]byte, error) { + type NoMethod FreshnessOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GSuitePrincipal struct { + // GsuiteDomain: This principal represents all users of the Google + // Workspace domain of the customer. + GsuiteDomain bool `json:"gsuiteDomain,omitempty"` + + // GsuiteGroupEmail: This principal references a Google Workspace group + // name. + GsuiteGroupEmail string `json:"gsuiteGroupEmail,omitempty"` + + // GsuiteUserEmail: This principal references a Google Workspace user + // account. + GsuiteUserEmail string `json:"gsuiteUserEmail,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GsuiteDomain") 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. "GsuiteDomain") 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 *GSuitePrincipal) MarshalJSON() ([]byte, error) { + type NoMethod GSuitePrincipal + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GaiaGroupProto struct { + GroupId int64 `json:"groupId,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "GroupId") 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. "GroupId") 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 *GaiaGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod GaiaGroupProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GaiaUserProto: A Gaia account, which may represent a user, device, +// service account, etc. For prod (@prod.google.com) accounts, use +// MdbUserProto instead. +type GaiaUserProto struct { + UserId int64 `json:"userId,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "UserId") 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. "UserId") 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 *GaiaUserProto) MarshalJSON() ([]byte, error) { + type NoMethod GaiaUserProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GatewayAccess: Details on the third-party interoperability settings +// for the meeting space. +type GatewayAccess struct { + // Enabled: Whether third-party gateway accesses are enabled for this + // meeting space. If enabled, the actual access code can be retrieved by + // calling the GetGatewayAccess RPC method. + Enabled bool `json:"enabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Enabled") 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. "Enabled") 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 *GatewayAccess) MarshalJSON() ([]byte, error) { + type NoMethod GatewayAccess + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GatewaySipAccess: Details how to join the conference via a SIP +// gateway. +type GatewaySipAccess struct { + // SipAccessCode: Permanent numeric code for manual entry on specially + // configured devices, currently the same as the PSTN "Universal pin". + SipAccessCode string `json:"sipAccessCode,omitempty"` + + // Uri: The SIP URI the conference can be reached through. The string is + // on one of the formats: "sip:@" "sips:@" where currently is the + // 13-digit universal pin (with the future option to support using a + // Meet meeting code as well), and is a valid address to be resolved + // using a DNS SRV lookup, or a dotted quad. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SipAccessCode") 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. "SipAccessCode") 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 *GatewaySipAccess) MarshalJSON() ([]byte, error) { + type NoMethod GatewaySipAccess + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetCustomerIndexStatsResponse struct { + // AverageIndexedItemCount: Average item count for the given date range + // for which billing is done. + AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` + + // Stats: Summary of indexed item counts, one for each day in the + // requested range. + Stats []*CustomerIndexStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AverageIndexedItemCount") 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. "AverageIndexedItemCount") + // 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 *GetCustomerIndexStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerIndexStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetCustomerQueryStatsResponse struct { + Stats []*CustomerQueryStats `json:"stats,omitempty"` + + // TotalQueryCount: Total successful query count (status code 200) for + // the given date range. + TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetCustomerQueryStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerQueryStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GetCustomerSearchApplicationStatsResponse: Response format for search +// application stats for a customer. +type GetCustomerSearchApplicationStatsResponse struct { + // AverageSearchApplicationCount: Average search application count for + // the given date range. + AverageSearchApplicationCount int64 `json:"averageSearchApplicationCount,omitempty,string"` + + // Stats: Search application stats by date. + Stats []*CustomerSearchApplicationStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AverageSearchApplicationCount") 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. + // "AverageSearchApplicationCount") 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 *GetCustomerSearchApplicationStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerSearchApplicationStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetCustomerSessionStatsResponse struct { + Stats []*CustomerSessionStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetCustomerSessionStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerSessionStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetCustomerUserStatsResponse struct { + Stats []*CustomerUserStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetCustomerUserStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerUserStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetDataSourceIndexStatsResponse struct { + // AverageIndexedItemCount: Average item count for the given date range + // for which billing is done. + AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` + + // Stats: Summary of indexed item counts, one for each day in the + // requested range. + Stats []*DataSourceIndexStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AverageIndexedItemCount") 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. "AverageIndexedItemCount") + // 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 *GetDataSourceIndexStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetDataSourceIndexStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GetSearchApplicationQueryStatsResponse: Response format for getting +// query stats for a search application between given dates. +type GetSearchApplicationQueryStatsResponse struct { + // Stats: Query stats per date for a search application. + Stats []*SearchApplicationQueryStats `json:"stats,omitempty"` + + // TotalQueryCount: Total successful query count (status code 200) for + // the given date range. + TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetSearchApplicationQueryStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationQueryStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetSearchApplicationSessionStatsResponse struct { + Stats []*SearchApplicationSessionStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetSearchApplicationSessionStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationSessionStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GetSearchApplicationUserStatsResponse struct { + Stats []*SearchApplicationUserStats `json:"stats,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Stats") 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. "Stats") 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 *GetSearchApplicationUserStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationUserStatsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1ContextualAddOnMarkup: The markup for developers to +// specify the contents of a contextual AddOn. +type GoogleChatV1ContextualAddOnMarkup struct { + // Cards: A list of cards. A card must contain a header and at least 1 + // section. + Cards []*GoogleChatV1ContextualAddOnMarkupCard `json:"cards,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Cards") 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. "Cards") 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 *GoogleChatV1ContextualAddOnMarkup) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkup + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1ContextualAddOnMarkupCard: A card is a UI element that +// can contain UI widgets such as texts, images. +type GoogleChatV1ContextualAddOnMarkupCard struct { + // CardActions: The actions of this card. + CardActions []*GoogleChatV1ContextualAddOnMarkupCardCardAction `json:"cardActions,omitempty"` + + // Header: The header of the card. A header usually contains a title and + // an image. + Header *GoogleChatV1ContextualAddOnMarkupCardCardHeader `json:"header,omitempty"` + + // Name: Name of the card. + Name string `json:"name,omitempty"` + + // Sections: Sections are separated by a line divider. + Sections []*GoogleChatV1ContextualAddOnMarkupCardSection `json:"sections,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CardActions") 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. "CardActions") 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 *GoogleChatV1ContextualAddOnMarkupCard) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCard + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1ContextualAddOnMarkupCardCardAction: A card action is the +// action associated with the card. For an invoice card, a typical +// action would be: delete invoice, email invoice or open the invoice in +// browser. +type GoogleChatV1ContextualAddOnMarkupCardCardAction struct { + // ActionLabel: The label used to be displayed in the action menu item. + ActionLabel string `json:"actionLabel,omitempty"` + + // OnClick: The onclick action for this action item. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionLabel") 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. "ActionLabel") 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 *GoogleChatV1ContextualAddOnMarkupCardCardAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardAction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GoogleChatV1ContextualAddOnMarkupCardCardHeader struct { + // ImageStyle: The image's type (e.g. square border or circular border). + // + // Possible values: + // "IMAGE_STYLE_UNSPECIFIED" + // "IMAGE" - Square border. + // "AVATAR" - Circular border. + ImageStyle string `json:"imageStyle,omitempty"` + + // ImageUrl: The URL of the image in the card header. + ImageUrl string `json:"imageUrl,omitempty"` + + // Subtitle: The subtitle of the card header. + Subtitle string `json:"subtitle,omitempty"` + + // Title: The title must be specified. The header has a fixed height: if + // both a title and subtitle is specified, each will take up 1 line. If + // only the title is specified, it will take up both lines. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageStyle") 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. "ImageStyle") 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 *GoogleChatV1ContextualAddOnMarkupCardCardHeader) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardHeader + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1ContextualAddOnMarkupCardSection: A section contains a +// collection of widgets that are rendered (vertically) in the order +// that they are specified. Across all platforms, cards have a narrow +// fixed width, so there is currently no need for layout properties +// (e.g. float). +type GoogleChatV1ContextualAddOnMarkupCardSection struct { + // Header: The header of the section, text formatted supported. + Header string `json:"header,omitempty"` + + // Widgets: A section must contain at least 1 widget. + Widgets []*GoogleChatV1WidgetMarkup `json:"widgets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Header") 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. "Header") 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 *GoogleChatV1ContextualAddOnMarkupCardSection) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardSection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkup: A widget is a UI element that presents +// texts, images, etc. +type GoogleChatV1WidgetMarkup struct { + // Buttons: A list of buttons. Buttons is also oneof data and only one + // of these fields should be set. + Buttons []*GoogleChatV1WidgetMarkupButton `json:"buttons,omitempty"` + + // Image: Display an image in this widget. + Image *GoogleChatV1WidgetMarkupImage `json:"image,omitempty"` + + // KeyValue: Display a key value item in this widget. + KeyValue *GoogleChatV1WidgetMarkupKeyValue `json:"keyValue,omitempty"` + + // TextParagraph: Display a text paragraph in this widget. + TextParagraph *GoogleChatV1WidgetMarkupTextParagraph `json:"textParagraph,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Buttons") 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. "Buttons") 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 *GoogleChatV1WidgetMarkup) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkup + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupButton: A button. Can be a text button or an +// image button. +type GoogleChatV1WidgetMarkupButton struct { + // ImageButton: A button with image and onclick action. + ImageButton *GoogleChatV1WidgetMarkupImageButton `json:"imageButton,omitempty"` + + // TextButton: A button with text and onclick action. + TextButton *GoogleChatV1WidgetMarkupTextButton `json:"textButton,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageButton") 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. "ImageButton") 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 *GoogleChatV1WidgetMarkupButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupButton + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupFormAction: A form action describes the +// behavior when the form is submitted. For example, an Apps Script can +// be invoked to handle the form. +type GoogleChatV1WidgetMarkupFormAction struct { + // ActionMethodName: The method name is used to identify which part of + // the form triggered the form submission. This information is echoed + // back to the Chat app as part of the card click event. The same method + // name can be used for several elements that trigger a common behavior + // if desired. + ActionMethodName string `json:"actionMethodName,omitempty"` + + // Parameters: List of action parameters. + Parameters []*GoogleChatV1WidgetMarkupFormActionActionParameter `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionMethodName") 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. "ActionMethodName") 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 *GoogleChatV1WidgetMarkupFormAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupFormAction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupFormActionActionParameter: List of string +// parameters to supply when the action method is invoked. For example, +// consider three snooze buttons: snooze now, snooze 1 day, snooze next +// week. You might use action method = snooze(), passing the snooze type +// and snooze time in the list of string parameters. +type GoogleChatV1WidgetMarkupFormActionActionParameter struct { + // Key: The name of the parameter for the action script. + Key string `json:"key,omitempty"` + + // Value: The value of the parameter. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Key") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleChatV1WidgetMarkupFormActionActionParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupFormActionActionParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupImage: An image that is specified by a URL +// and can have an onclick action. +type GoogleChatV1WidgetMarkupImage struct { + // AspectRatio: The aspect ratio of this image (width/height). This + // field allows clients to reserve the right height for the image while + // waiting for it to load. It's not meant to override the native aspect + // ratio of the image. If unset, the server fills it by prefetching the + // image. + AspectRatio float64 `json:"aspectRatio,omitempty"` + + // ImageUrl: The URL of the image. + ImageUrl string `json:"imageUrl,omitempty"` + + // OnClick: The onclick action. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AspectRatio") 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. "AspectRatio") 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 *GoogleChatV1WidgetMarkupImage) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupImage + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleChatV1WidgetMarkupImage) UnmarshalJSON(data []byte) error { + type NoMethod GoogleChatV1WidgetMarkupImage + var s1 struct { + AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.AspectRatio = float64(s1.AspectRatio) + return nil +} + +// GoogleChatV1WidgetMarkupImageButton: An image button with an onclick +// action. +type GoogleChatV1WidgetMarkupImageButton struct { + // Icon: The icon specified by an enum that indices to an icon provided + // by Chat API. + // + // Possible values: + // "ICON_UNSPECIFIED" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" + Icon string `json:"icon,omitempty"` + + // IconUrl: The icon specified by a URL. + IconUrl string `json:"iconUrl,omitempty"` + + // Name: The name of this image_button which will be used for + // accessibility. Default value will be provided if developers don't + // specify. + Name string `json:"name,omitempty"` + + // OnClick: The onclick action. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Icon") 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. "Icon") 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 *GoogleChatV1WidgetMarkupImageButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupImageButton + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupKeyValue: A UI element contains a key (label) +// and a value (content). And this element may also contain some actions +// such as onclick button. +type GoogleChatV1WidgetMarkupKeyValue struct { + // BottomLabel: The text of the bottom label. Formatted text supported. + BottomLabel string `json:"bottomLabel,omitempty"` + + // Button: A button that can be clicked to trigger an action. + Button *GoogleChatV1WidgetMarkupButton `json:"button,omitempty"` + + // Content: The text of the content. Formatted text supported and always + // required. + Content string `json:"content,omitempty"` + + // ContentMultiline: If the content should be multiline. + ContentMultiline bool `json:"contentMultiline,omitempty"` + + // Icon: An enum value that will be replaced by the Chat API with the + // corresponding icon image. + // + // Possible values: + // "ICON_UNSPECIFIED" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" + Icon string `json:"icon,omitempty"` + + // IconUrl: The icon specified by a URL. + IconUrl string `json:"iconUrl,omitempty"` + + // OnClick: The onclick action. Only the top label, bottom label and + // content region are clickable. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` + + // TopLabel: The text of the top label. Formatted text supported. + TopLabel string `json:"topLabel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BottomLabel") 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. "BottomLabel") 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 *GoogleChatV1WidgetMarkupKeyValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupKeyValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupOnClick: An onclick action (e.g. open a +// link). +type GoogleChatV1WidgetMarkupOnClick struct { + // Action: A form action will be triggered by this onclick if specified. + Action *GoogleChatV1WidgetMarkupFormAction `json:"action,omitempty"` + + // OpenLink: This onclick triggers an open link action if specified. + OpenLink *GoogleChatV1WidgetMarkupOpenLink `json:"openLink,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") 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. "Action") 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 *GoogleChatV1WidgetMarkupOnClick) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupOnClick + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupOpenLink: A link that opens a new window. +type GoogleChatV1WidgetMarkupOpenLink struct { + // Url: The URL to open. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Url") 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. "Url") 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 *GoogleChatV1WidgetMarkupOpenLink) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupOpenLink + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupTextButton: A button with text and onclick +// action. +type GoogleChatV1WidgetMarkupTextButton struct { + // OnClick: The onclick action of the button. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` + + // Text: The text of the button. + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OnClick") 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. "OnClick") 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 *GoogleChatV1WidgetMarkupTextButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupTextButton + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleChatV1WidgetMarkupTextParagraph: A paragraph of text. Formatted +// text supported. +type GoogleChatV1WidgetMarkupTextParagraph struct { + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Text") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Text") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleChatV1WidgetMarkupTextParagraph) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupTextParagraph + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDocsMetadata: The corpus specific metadata for office-type +// documents, from Google Docs and other sources. This message is passed +// to the scorer and beyond. Next tag: 7 +type GoogleDocsMetadata struct { + // AclInfo: Contains number of users and groups which can access the + // document. + AclInfo *AclInfo `json:"aclInfo,omitempty"` + + // DocumentType: The conceptual type (presentation, document, etc.) of + // this document. + // + // Possible values: + // "UNKNOWN" - If the type is unknown or not represented in this enum. + // "DOCUMENT" - Writely, Word, etc. + // "PRESENTATION" - Presently, PowerPoint, etc. + // "SPREADSHEET" - Trix, Excel, etc. + // "PDF" - File types for Gdrive objects are below. + // "IMAGE" + // "BINARY_BLOB" - Fall-back for unknown Gdrive types. + // "FUSION_TABLE" + // "FOLDER" + // "DRAWING" + // "VIDEO" + // "FORM" + // "DRAFT_SITE" - For Atari page and site drafts + // "DRAFT_SITE_PAGE" + // "JAM" - Jamboard Jams (go/jam) + // "SHORTCUT" - Drive Shortcuts (go/shortcuts) + // "SCRIPT" + DocumentType string `json:"documentType,omitempty"` + + // FileExtension: The file extension of the document. NOTE: As of + // October 2018 this field is not backfilled for old documents. + FileExtension string `json:"fileExtension,omitempty"` + + // LastContentModifiedTimestamp: The last time this document was + // modified, in seconds since epoch. Only counts content modifications. + LastContentModifiedTimestamp int64 `json:"lastContentModifiedTimestamp,omitempty,string"` + + // ResultInfo: Additional per-result information, akin to Gmail's + // SingleThreadResponse. Note: GWS no longer seems to use this field, + // but there's still one reference to it for Scribe, so we can't remove + // it. + ResultInfo *GoogleDocsResultInfo `json:"resultInfo,omitempty"` + + // TypeInfo: Contains additional information about the document + // depending on its type. + TypeInfo *TypeInfo `json:"typeInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AclInfo") 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. "AclInfo") 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 *GoogleDocsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDocsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDocsResultInfo: A message containing information about a +// specific result. This information is passed to the scorer and beyond; +// in particular, GWS relies on it to format the result in the UI. Split +// from GoogleDocsMetadata in case we later want to reuse the message. +type GoogleDocsResultInfo struct { + // AttachmentSha1: The SHA1 hash of the object in Drive, if any. + AttachmentSha1 string `json:"attachmentSha1,omitempty"` + + // CosmoId: The storage identifier for the object in Cosmo. This field + // is intended to used by Stratus/Moonshine integration only. It should + // not be exposed externally (please refer to encrypted_id for that + // purpose). + CosmoId *Id `json:"cosmoId,omitempty"` + + // CosmoNameSpace: For Cosmo objects, the Cosmo namespace the object was + // in. This allows downstream clients to identify whether a document was + // created in Writely or Kix, Presently or Punch, or whether it was + // uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of + // all Cosmo name spaces. + CosmoNameSpace int64 `json:"cosmoNameSpace,omitempty"` + + // EncryptedId: The encrypted (user-visible) id of this object. Knowing + // the id is sufficient to create a canonical URL for this document. + EncryptedId string `json:"encryptedId,omitempty"` + + // MimeType: The mimetype of the document. + MimeType string `json:"mimeType,omitempty"` + + // ShareScope: The visibility indicator in the UI will be based upon + // this. + ShareScope *ShareScope `json:"shareScope,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AttachmentSha1") 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. "AttachmentSha1") 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 *GoogleDocsResultInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDocsResultInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Grid struct { + // BorderStyle: The border style to apply to each grid item. + BorderStyle *BorderStyle `json:"borderStyle,omitempty"` + + // Items: The items to display in the grid. + Items []*GridItem `json:"items,omitempty"` + + // NumColumns: The number of columns to display in the grid. Note that a + // default value will be used if this field is not specified, and that + // default value will be different depending on where the grid is shown + // (dialog vs companion). + NumColumns int64 `json:"numColumns,omitempty"` + + // OnClick: This callback will be reused by each individual GridItem, + // but with the item's identifier and index in the items list added to + // the callback's parameters. + OnClick *OnClick `json:"onClick,omitempty"` + + // Title: The text to display in the grid header. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BorderStyle") 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. "BorderStyle") 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 *Grid) MarshalJSON() ([]byte, error) { + type NoMethod Grid + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GridItem struct { + // Identifier: A user-specified identifier for this grid item. This + // identifier will be returned in the parent Grid's on_click callback's + // parameters. + Identifier string `json:"identifier,omitempty"` + + Image *ImageComponent `json:"image,omitempty"` + + // Possible values: + // "NOT_SET" + // "TEXT_BELOW" - The title and subtitle are shown below the grid + // item's image. + // "TEXT_ABOVE" - The title and subtitle are shown above the grid + // item's image. + Layout string `json:"layout,omitempty"` + + Subtitle string `json:"subtitle,omitempty"` + + // Possible values: + // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" + // "START" + // "CENTER" + // "END" + TextAlignment string `json:"textAlignment,omitempty"` + + // Title: Text properties. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Identifier") 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. "Identifier") 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 *GridItem) MarshalJSON() ([]byte, error) { + type NoMethod GridItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GroupLinkSharingModificationEvent struct { + // Possible values: + // "UNKNOWN_LINK_SHARING_STATUS" + // "LINK_SHARING_ON" - Link sharing is turned on. + // "LINK_SHARING_OFF" - Link sharing is turned off. + // "NOT_AVAILABLE" - Link sharing is not available for the + // conversation. + NewStatus string `json:"newStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NewStatus") 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. "NewStatus") 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 *GroupLinkSharingModificationEvent) MarshalJSON() ([]byte, error) { + type NoMethod GroupLinkSharingModificationEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HangoutEvent struct { + HangoutDurationSecs int64 `json:"hangoutDurationSecs,omitempty,string"` + + // Possible values: + // "AUDIO_VIDEO" + // "AUDIO_ONLY" + // "PUSH_TO_TALK" - A user has started a PTT broadcast. When receiving + // a notification with this HangoutMediaType, other users in the + // conversation will take different actions depending on their active + // clients: a) If there is a recent "reasonable" active client, the user + // will join hangout and play audio. b) If there is no "reasonable" + // active client an invite will be displayed on all clients. + MediaType string `json:"mediaType,omitempty"` + + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` + + // Possible values: + // "START_HANGOUT" + // "JOIN_HANGOUT" + // "LEAVE_HANGOUT" + // "END_HANGOUT" + // "HANGOUT_COMING_SOON" + // "ONGOING_HANGOUT" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HangoutDurationSecs") + // 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. "HangoutDurationSecs") 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 *HangoutEvent) MarshalJSON() ([]byte, error) { + type NoMethod HangoutEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HashtagData: Hashtag metadata, for HASHTAG segments. For a hashtag, +// the "text" field should contain the display text, and the search_text +// field should represent the topic being referenced, without the hash +// symbol; for example, we might have: text = "#Google" +// hashtag_data.search_text = "Google" Another example: text = +// "#pikachu" hashtag_data.search_text = "Pokemon" Both strings should +// be considered part of the searchable text. In go/sbe, both are +// indexed and searchable. +type HashtagData struct { + SearchText string `json:"searchText,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SearchText") 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. "SearchText") 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 *HashtagData) MarshalJSON() ([]byte, error) { + type NoMethod HashtagData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HostProto: Represents a single host. Optionally, the MDB owner of the +// host can be specified. +type HostProto struct { + // HostName: Lower-case, fully qualified hostname. + HostName string `json:"hostName,omitempty"` + + // HostOwner: If present, then any checks that compare this Principal to + // LOAS peer info must confirm the peer's machine owner is equal to + // 'host_owner'. If absent, then any peer machine owner is acceptable. + HostOwner string `json:"hostOwner,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HostName") 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. "HostName") 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 *HostProto) MarshalJSON() ([]byte, error) { + type NoMethod HostProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HtmlOperatorOptions: Used to provide a search operator for html +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +type HtmlOperatorOptions struct { + // OperatorName: Indicates the operator name required in the query in + // order to isolate the html property. For example, if operatorName is + // *subject* and the property's name is *subjectLine*, then queries like + // *subject:* show results only where the value of the property + // named *subjectLine* matches **. By contrast, a search that + // uses the same ** without an operator return all items where + // ** matches the value of any html properties or text within the + // content field for the item. The operator name can only contain + // lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorName") 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. "OperatorName") 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 *HtmlOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod HtmlOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HtmlPropertyOptions: The options for html properties. +type HtmlPropertyOptions struct { + // OperatorOptions: If set, describes how the property should be used as + // a search operator. + OperatorOptions *HtmlOperatorOptions `json:"operatorOptions,omitempty"` + + // RetrievalImportance: Indicates the search quality importance of the + // tokens within the field when used for retrieval. Can only be set to + // DEFAULT or NONE. + RetrievalImportance *RetrievalImportance `json:"retrievalImportance,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorOptions") 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 *HtmlPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod HtmlPropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HtmlValues: List of html values. +type HtmlValues struct { + // Values: The maximum allowable length for html values is 2048 + // characters. + Values []string `json:"values,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 []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 []string `json:"-"` +} + +func (s *HtmlValues) MarshalJSON() ([]byte, error) { + type NoMethod HtmlValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type IconImage struct { + // AltText: The alternative text of this icon_url which will be used for + // accessibility. + AltText string `json:"altText,omitempty"` + + // Possible values: + // "NONE" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EDIT" + // "EDIT_NOTE" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "OPEN_IN_NEW" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" - Add new items in alphabetical order. Next Available + // ID: 34 + Icon string `json:"icon,omitempty"` + + IconUrl string `json:"iconUrl,omitempty"` + + // ImageStyle: The image cropping style. Note that icons with a CIRCLE + // style are rendered larger than the default icon size. + // + // Possible values: + // "CROP_TYPE_NOT_SET" - No value specified. + // "SQUARE" - Applies a square crop. + // "CIRCLE" - Applies a circular crop. + // "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom + // aspect ratio. + // "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect + // ratio. + ImageStyle string `json:"imageStyle,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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. "AltText") 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 *IconImage) MarshalJSON() ([]byte, error) { + type NoMethod IconImage + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Id: Identifies a particular object, including both Users and +// DirEntries. This Id is unique across the entire server instance, such +// as the production or qa instance. +type Id struct { + // CreatorUserId: The User account in which the DirEntry was originally + // created. If name_space==GAIA, then it's the gaia_id of the user this + // id is referring to. + CreatorUserId uint64 `json:"creatorUserId,omitempty,string"` + + // LocalId: The local identifier for the DirEntry (local to the + // creator's account). local_id + app_name is guaranteed to be unique + // within the creator account, but not across all User accounts. The + // string is case sensitive. Ignore if name_space==GAIA. NB For + // name_space==COSMO, all local_id's should be defined in + // google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java + // as they have a special predefined meaning. See + // cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT + // recommendations when generating IDs. + LocalId string `json:"localId,omitempty"` + + // NameSpace: The name space in which this id is unique (typically the + // application that created it). Values should be drawn from the above + // enum, but for experimentation, use values greater than 1000. + NameSpace int64 `json:"nameSpace,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreatorUserId") 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. "CreatorUserId") 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 *Id) MarshalJSON() ([]byte, error) { + type NoMethod Id + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Image struct { + // AltText: The alternative text of this image which will be used for + // accessibility. + AltText string `json:"altText,omitempty"` + + // AspectRatio: The aspect ratio of this image (width/height). + AspectRatio float64 `json:"aspectRatio,omitempty"` + + // ImageUrl: Image url specified by developers. Server side, we will + // wrap with FIFE so client apps can configure size/cropping/etc. + ImageUrl string `json:"imageUrl,omitempty"` + + OnClick *OnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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. "AltText") 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 *Image) MarshalJSON() ([]byte, error) { + type NoMethod Image + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Image) UnmarshalJSON(data []byte) error { + type NoMethod Image + var s1 struct { + AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.AspectRatio = float64(s1.AspectRatio) + return nil +} + +type ImageButton struct { + // Possible values: + // "NONE" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EDIT" + // "EDIT_NOTE" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "OPEN_IN_NEW" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" - Add new items in alphabetical order. Next Available + // ID: 34 + Icon string `json:"icon,omitempty"` + + IconUrl string `json:"iconUrl,omitempty"` + + Name string `json:"name,omitempty"` + + OnClick *OnClick `json:"onClick,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Icon") 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. "Icon") 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 *ImageButton) MarshalJSON() ([]byte, error) { + type NoMethod ImageButton + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ImageComponent: NOTE: Through future refactoring work, this image +// component will eventually be used in the Image widget, and will +// likely replace the Icon proto as well. +type ImageComponent struct { + AltText string `json:"altText,omitempty"` + + BorderStyle *BorderStyle `json:"borderStyle,omitempty"` + + CropStyle *ImageCropStyle `json:"cropStyle,omitempty"` + + ImageUrl string `json:"imageUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AltText") 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. "AltText") 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 *ImageComponent) MarshalJSON() ([]byte, error) { + type NoMethod ImageComponent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ImageCropStyle: Represents a crop style that can be applied to an +// image. +type ImageCropStyle struct { + // AspectRatio: The aspect ratio to use if the crop type is + // RECTANGLE_CUSTOM. + AspectRatio float64 `json:"aspectRatio,omitempty"` + + // Type: The crop type. + // + // Possible values: + // "CROP_TYPE_NOT_SET" - No value specified. + // "SQUARE" - Applies a square crop. + // "CIRCLE" - Applies a circular crop. + // "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom + // aspect ratio. + // "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect + // ratio. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AspectRatio") 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. "AspectRatio") 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 *ImageCropStyle) MarshalJSON() ([]byte, error) { + type NoMethod ImageCropStyle + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *ImageCropStyle) UnmarshalJSON(data []byte) error { + type NoMethod ImageCropStyle + var s1 struct { + AspectRatio gensupport.JSONFloat64 `json:"aspectRatio"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.AspectRatio = float64(s1.AspectRatio) + return nil +} + +// ImageKeyValue: This is deprecated and please use KeyValue. +type ImageKeyValue struct { + // Possible values: + // "NONE" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EDIT" + // "EDIT_NOTE" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "OPEN_IN_NEW" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" - Add new items in alphabetical order. Next Available + // ID: 34 + Icon string `json:"icon,omitempty"` + + IconUrl string `json:"iconUrl,omitempty"` + + OnClick *OnClick `json:"onClick,omitempty"` + + Text string `json:"text,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Icon") 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. "Icon") 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 *ImageKeyValue) MarshalJSON() ([]byte, error) { + type NoMethod ImageKeyValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type IndexItemOptions struct { + // AllowUnknownGsuitePrincipals: Specifies if the index request should + // allow Google Workspace principals that do not exist or are deleted. + AllowUnknownGsuitePrincipals bool `json:"allowUnknownGsuitePrincipals,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AllowUnknownGsuitePrincipals") 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. + // "AllowUnknownGsuitePrincipals") 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 *IndexItemOptions) MarshalJSON() ([]byte, error) { + type NoMethod IndexItemOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type IndexItemRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` + + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + IndexItemOptions *IndexItemOptions `json:"indexItemOptions,omitempty"` + + // Item: The name of the item. Format: + // datasources/{source_id}/items/{item_id} + Item *Item `json:"item,omitempty"` + + // Mode: Required. The RequestMode for this request. + // + // Possible values: + // "UNSPECIFIED" - The priority is not specified in the update + // request. Leaving priority unspecified results in an update failure. + // "SYNCHRONOUS" - For real-time updates. + // "ASYNCHRONOUS" - For changes that are executed after the response + // is sent back to the caller. + Mode string `json:"mode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConnectorName") 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. "ConnectorName") 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 *IndexItemRequest) MarshalJSON() ([]byte, error) { + type NoMethod IndexItemRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InitializeCustomerRequest: Request message for `InitializeCustomer` +// method. +type InitializeCustomerRequest struct { +} + +// IntegerOperatorOptions: Used to provide a search operator for integer +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +type IntegerOperatorOptions struct { + // GreaterThanOperatorName: Indicates the operator name required in the + // query in order to isolate the integer property using the greater-than + // operator. For example, if greaterThanOperatorName is *priorityabove* + // and the property's name is *priorityVal*, then queries like + // *priorityabove:* show results only where the value of the + // property named *priorityVal* is greater than **. The operator + // name can only contain lowercase letters (a-z). The maximum length is + // 32 characters. + GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` + + // LessThanOperatorName: Indicates the operator name required in the + // query in order to isolate the integer property using the less-than + // operator. For example, if lessThanOperatorName is *prioritybelow* and + // the property's name is *priorityVal*, then queries like + // *prioritybelow:* show results only where the value of the + // property named *priorityVal* is less than **. The operator + // name can only contain lowercase letters (a-z). The maximum length is + // 32 characters. + LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` + + // OperatorName: Indicates the operator name required in the query in + // order to isolate the integer property. For example, if operatorName + // is *priority* and the property's name is *priorityVal*, then queries + // like *priority:* show results only where the value of the + // property named *priorityVal* matches **. By contrast, a search + // that uses the same ** without an operator returns all items + // where ** matches the value of any String properties or text + // within the content field for the item. The operator name can only + // contain lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "GreaterThanOperatorName") 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. "GreaterThanOperatorName") + // 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 *IntegerOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod IntegerOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IntegerPropertyOptions: The options for integer properties. +type IntegerPropertyOptions struct { + // MaximumValue: The maximum value of the property. The minimum and + // maximum values for the property are used to rank results according to + // the ordered ranking. Indexing requests with values greater than the + // maximum are accepted and ranked with the same weight as items indexed + // with the maximum value. + MaximumValue int64 `json:"maximumValue,omitempty,string"` + + // MinimumValue: The minimum value of the property. The minimum and + // maximum values for the property are used to rank results according to + // the ordered ranking. Indexing requests with values less than the + // minimum are accepted and ranked with the same weight as items indexed + // with the minimum value. + MinimumValue int64 `json:"minimumValue,omitempty,string"` + + // OperatorOptions: If set, describes how the integer should be used as + // a search operator. + OperatorOptions *IntegerOperatorOptions `json:"operatorOptions,omitempty"` + + // OrderedRanking: Used to specify the ordered ranking for the integer. + // Can only be used if isRepeatable is false. + // + // Possible values: + // "NO_ORDER" - There is no ranking order for the property. Results + // are not adjusted by this property's value. + // "ASCENDING" - This property is ranked in ascending order. Lower + // values indicate lower ranking. + // "DESCENDING" - This property is ranked in descending order. Lower + // values indicate higher ranking. + OrderedRanking string `json:"orderedRanking,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaximumValue") 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. "MaximumValue") 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 *IntegerPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod IntegerPropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IntegerValues: List of integer values. +type IntegerValues struct { + Values googleapi.Int64s `json:"values,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 []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 []string `json:"-"` +} + +func (s *IntegerValues) MarshalJSON() ([]byte, error) { + type NoMethod IntegerValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Interaction: Represents an interaction between a user and an item. +type Interaction struct { + // InteractionTime: The time when the user acted on the item. If + // multiple actions of the same type exist for a single user, only the + // most recent action is recorded. + InteractionTime string `json:"interactionTime,omitempty"` + + // Principal: The user that acted on the item. + Principal *Principal `json:"principal,omitempty"` + + // Possible values: + // "UNSPECIFIED" - Invalid value. + // "VIEW" - This interaction indicates the user viewed the item. + // "EDIT" - This interaction indicates the user edited the item. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InteractionTime") 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. "InteractionTime") 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 *Interaction) MarshalJSON() ([]byte, error) { + type NoMethod Interaction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InviteAcceptedEvent struct { + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ParticipantId") 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. "ParticipantId") 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 *InviteAcceptedEvent) MarshalJSON() ([]byte, error) { + type NoMethod InviteAcceptedEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Item: Represents a single object that is an item in the search index, +// such as a file, folder, or a database record. +type Item struct { + // Acl: Access control list for this item. + Acl *ItemAcl `json:"acl,omitempty"` + + // Content: Item content to be indexed and made text searchable. + Content *ItemContent `json:"content,omitempty"` + + // ItemType: The type for this item. + // + // Possible values: + // "UNSPECIFIED" + // "CONTENT_ITEM" - An item that is indexed for the only purpose of + // serving information. These items cannot be referred in containerName + // or inheritAclFrom fields. + // "CONTAINER_ITEM" - An item that gets indexed and whose purpose is + // to supply other items with ACLs and/or contain other items. + // "VIRTUAL_CONTAINER_ITEM" - An item that does not get indexed, but + // otherwise has the same purpose as CONTAINER_ITEM. + ItemType string `json:"itemType,omitempty"` + + // Metadata: The metadata information. + Metadata *ItemMetadata `json:"metadata,omitempty"` + + // Name: The name of the Item. Format: + // datasources/{source_id}/items/{item_id} This is a required field. The + // maximum length is 1536 characters. + Name string `json:"name,omitempty"` + + // Payload: Additional state connector can store for this item. The + // maximum length is 10000 bytes. + Payload string `json:"payload,omitempty"` + + // Queue: Queue this item belongs to. The maximum length is 100 + // characters. + Queue string `json:"queue,omitempty"` + + // Status: Status of the item. Output only field. + Status *ItemStatus `json:"status,omitempty"` + + // StructuredData: The structured data for the item that should conform + // to a registered object definition in the schema for the data source. + StructuredData *ItemStructuredData `json:"structuredData,omitempty"` + + // Version: Required. The indexing system stores the version from the + // datasource as a byte string and compares the Item version in the + // index to the version of the queued Item using lexical ordering. Cloud + // Search Indexing won't index or delete any queued item with a version + // value that is less than or equal to the version of the currently + // indexed item. The maximum length for this field is 1024 bytes. For + // information on how item version affects the deletion process, refer + // to Handle revisions after manual deletes + // (https://developers.google.com/cloud-search/docs/guides/operations). + Version string `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Acl") 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. "Acl") 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 *Item) MarshalJSON() ([]byte, error) { + type NoMethod Item + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ItemAcl: Access control list information for the item. For more +// information see Map ACLs +// (https://developers.google.com/cloud-search/docs/guides/acls). +type ItemAcl struct { + // AclInheritanceType: Sets the type of access rules to apply when an + // item inherits its ACL from a parent. This should always be set in + // tandem with the inheritAclFrom field. Also, when the inheritAclFrom + // field is set, this field should be set to a valid AclInheritanceType. + // + // Possible values: + // "NOT_APPLICABLE" - The default value when this item does not + // inherit an ACL. Use NOT_APPLICABLE when inheritAclFrom is empty. An + // item without ACL inheritance can still have ACLs supplied by its own + // readers and deniedReaders fields. + // "CHILD_OVERRIDE" - During an authorization conflict, the ACL of the + // child item determines its read access. + // "PARENT_OVERRIDE" - During an authorization conflict, the ACL of + // the parent item specified in the inheritAclFrom field determines read + // access. + // "BOTH_PERMIT" - Access is granted only if this item and the parent + // item specified in the inheritAclFrom field both permit read access. + AclInheritanceType string `json:"aclInheritanceType,omitempty"` + + // DeniedReaders: List of principals who are explicitly denied access to + // the item in search results. While principals are denied access by + // default, use denied readers to handle exceptions and override the + // list allowed readers. The maximum number of elements is 100. + DeniedReaders []*Principal `json:"deniedReaders,omitempty"` + + // InheritAclFrom: The name of the item to inherit the Access Permission + // List (ACL) from. Note: ACL inheritance *only* provides access + // permissions to child items and does not define structural + // relationships, nor does it provide convenient ways to delete large + // groups of items. Deleting an ACL parent from the index only alters + // the access permissions of child items that reference the parent in + // the inheritAclFrom field. The item is still in the index, but may not + // visible in search results. By contrast, deletion of a container item + // also deletes all items that reference the container via the + // containerName field. The maximum length for this field is 1536 + // characters. + InheritAclFrom string `json:"inheritAclFrom,omitempty"` + + // Owners: Optional. List of owners for the item. This field has no + // bearing on document access permissions. It does, however, offer a + // slight ranking boosts items where the querying user is an owner. The + // maximum number of elements is 5. + Owners []*Principal `json:"owners,omitempty"` + + // Readers: List of principals who are allowed to see the item in search + // results. Optional if inheriting permissions from another item or if + // the item is not intended to be visible, such as virtual containers. + // The maximum number of elements is 1000. + Readers []*Principal `json:"readers,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AclInheritanceType") + // 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. "AclInheritanceType") 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 *ItemAcl) MarshalJSON() ([]byte, error) { + type NoMethod ItemAcl + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ItemContent: Content of an item to be indexed and surfaced by Cloud +// Search. Only UTF-8 encoded strings are allowed as inlineContent. If +// the content is uploaded and not binary, it must be UTF-8 encoded. +type ItemContent struct { + // ContentDataRef: Upload reference ID of a previously uploaded content + // via write method. + ContentDataRef *UploadItemRef `json:"contentDataRef,omitempty"` + + // Possible values: + // "UNSPECIFIED" - Invalid value. + // "HTML" - contentFormat is HTML. + // "TEXT" - contentFormat is free text. + // "RAW" - contentFormat is raw bytes. + ContentFormat string `json:"contentFormat,omitempty"` + + // Hash: Hashing info calculated and provided by the API client for + // content. Can be used with the items.push method to calculate modified + // state. The maximum length is 2048 characters. + Hash string `json:"hash,omitempty"` + + // InlineContent: Content that is supplied inlined within the update + // method. The maximum length is 102400 bytes (100 KiB). + InlineContent string `json:"inlineContent,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContentDataRef") 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. "ContentDataRef") 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 *ItemContent) MarshalJSON() ([]byte, error) { + type NoMethod ItemContent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ItemCountByStatus struct { + // Count: Number of items matching the status code. + Count int64 `json:"count,omitempty,string"` + + // IndexedItemsCount: Number of items matching the status code for which + // billing is done. This excludes virtual container items from the total + // count. This count would not be applicable for items with ERROR or + // NEW_ITEM status code. + IndexedItemsCount int64 `json:"indexedItemsCount,omitempty,string"` + + // StatusCode: Status of the items. + // + // Possible values: + // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list + // all items in the queue, regardless of status. + // "ERROR" - Error encountered by Cloud Search while processing this + // item. Details of the error are in repositoryError. + // "MODIFIED" - Item has been modified in the repository, and is out + // of date with the version previously accepted into Cloud Search. + // "NEW_ITEM" - Item is known to exist in the repository, but is not + // yet accepted by Cloud Search. An item can be in this state when + // Items.push has been called for an item of this name that did not + // exist previously. + // "ACCEPTED" - API has accepted the up-to-date data of this item. + StatusCode string `json:"statusCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Count") 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. "Count") 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 *ItemCountByStatus) MarshalJSON() ([]byte, error) { + type NoMethod ItemCountByStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ItemMetadata: Available metadata fields for the item. +type ItemMetadata struct { + // ContainerName: The name of the container for this item. Deletion of + // the container item leads to automatic deletion of this item. Note: + // ACLs are not inherited from a container item. To provide ACL + // inheritance for an item, use the inheritAclFrom field. The maximum + // length is 1536 characters. + ContainerName string `json:"containerName,omitempty"` + + // ContentLanguage: The BCP-47 language code for the item, such as + // "en-US" or "sr-Latn". For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. The + // maximum length is 32 characters. + ContentLanguage string `json:"contentLanguage,omitempty"` + + // ContextAttributes: A set of named attributes associated with the + // item. This can be used for influencing the ranking of the item based + // on the context in the request. The maximum number of elements is 10. + ContextAttributes []*ContextAttribute `json:"contextAttributes,omitempty"` + + // CreateTime: The time when the item was created in the source + // repository. + CreateTime string `json:"createTime,omitempty"` + + // Hash: Hashing value provided by the API caller. This can be used with + // the items.push method to calculate modified state. The maximum length + // is 2048 characters. + Hash string `json:"hash,omitempty"` + + // Interactions: A list of interactions for the item. Interactions are + // used to improve Search quality, but are not exposed to end users. The + // maximum number of elements is 1000. + Interactions []*Interaction `json:"interactions,omitempty"` + + // Keywords: Additional keywords or phrases that should match the item. + // Used internally for user generated content. The maximum number of + // elements is 100. The maximum length is 8192 characters. + Keywords []string `json:"keywords,omitempty"` + + // MimeType: The original mime-type of ItemContent.content in the source + // repository. The maximum length is 256 characters. + MimeType string `json:"mimeType,omitempty"` + + // ObjectType: The type of the item. This should correspond to the name + // of an object definition in the schema registered for the data source. + // For example, if the schema for the data source contains an object + // definition with name 'document', then item indexing requests for + // objects of that type should set objectType to 'document'. The maximum + // length is 256 characters. + ObjectType string `json:"objectType,omitempty"` + + // SearchQualityMetadata: Additional search quality metadata of the item + SearchQualityMetadata *SearchQualityMetadata `json:"searchQualityMetadata,omitempty"` + + // SourceRepositoryUrl: Link to the source repository serving the data. + // Seach results apply this link to the title. Whitespace or special + // characters may cause Cloud Seach result links to trigger a redirect + // notice; to avoid this, encode the URL. The maximum length is 2048 + // characters. + SourceRepositoryUrl string `json:"sourceRepositoryUrl,omitempty"` + + // Title: The title of the item. If given, this will be the displayed + // title of the Search result. The maximum length is 2048 characters. + Title string `json:"title,omitempty"` + + // UpdateTime: The time when the item was last modified in the source + // repository. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContainerName") 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. "ContainerName") 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 *ItemMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ItemMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ItemStatus: This contains item's status and any errors. +type ItemStatus struct { + // Code: Status code. + // + // Possible values: + // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list + // all items in the queue, regardless of status. + // "ERROR" - Error encountered by Cloud Search while processing this + // item. Details of the error are in repositoryError. + // "MODIFIED" - Item has been modified in the repository, and is out + // of date with the version previously accepted into Cloud Search. + // "NEW_ITEM" - Item is known to exist in the repository, but is not + // yet accepted by Cloud Search. An item can be in this state when + // Items.push has been called for an item of this name that did not + // exist previously. + // "ACCEPTED" - API has accepted the up-to-date data of this item. + Code string `json:"code,omitempty"` + + // ProcessingErrors: Error details in case the item is in ERROR state. + ProcessingErrors []*ProcessingError `json:"processingErrors,omitempty"` + + // RepositoryErrors: Repository error reported by connector. + RepositoryErrors []*RepositoryError `json:"repositoryErrors,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ItemStatus) MarshalJSON() ([]byte, error) { + type NoMethod ItemStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ItemStructuredData: Available structured data fields for the item. +type ItemStructuredData struct { + // Hash: Hashing value provided by the API caller. This can be used with + // the items.push method to calculate modified state. The maximum length + // is 2048 characters. + Hash string `json:"hash,omitempty"` + + // Object: The structured data object that should conform to a + // registered object definition in the schema for the data source. + Object *StructuredDataObject `json:"object,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Hash") 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. "Hash") 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 *ItemStructuredData) MarshalJSON() ([]byte, error) { + type NoMethod ItemStructuredData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type KeyValue struct { + // BottomLabel: Formatted text supported. + BottomLabel string `json:"bottomLabel,omitempty"` + + Button *Button `json:"button,omitempty"` + + // Content: Formatted text supported and always required. + Content string `json:"content,omitempty"` + + ContentMultiline bool `json:"contentMultiline,omitempty"` + + EndIcon *IconImage `json:"endIcon,omitempty"` + + // Possible values: + // "NONE" + // "AIRPLANE" + // "BOOKMARK" + // "BUS" + // "CAR" + // "CLOCK" + // "CONFIRMATION_NUMBER_ICON" + // "DOLLAR" + // "DESCRIPTION" + // "EDIT" + // "EDIT_NOTE" + // "EMAIL" + // "EVENT_PERFORMER" + // "EVENT_SEAT" + // "FLIGHT_ARRIVAL" + // "FLIGHT_DEPARTURE" + // "HOTEL" + // "HOTEL_ROOM_TYPE" + // "INVITE" + // "MAP_PIN" + // "MEMBERSHIP" + // "MULTIPLE_PEOPLE" + // "OFFER" + // "OPEN_IN_NEW" + // "PERSON" + // "PHONE" + // "RESTAURANT_ICON" + // "SHOPPING_CART" + // "STAR" + // "STORE" + // "TICKET" + // "TRAIN" + // "VIDEO_CAMERA" + // "VIDEO_PLAY" - Add new items in alphabetical order. Next Available + // ID: 34 + Icon string `json:"icon,omitempty"` + + // IconAltText: The alternative text of this icon_url which will be used + // for accessibility. + IconAltText string `json:"iconAltText,omitempty"` + + IconUrl string `json:"iconUrl,omitempty"` + + // Possible values: + // "CROP_TYPE_NOT_SET" - No value specified. + // "SQUARE" - Applies a square crop. + // "CIRCLE" - Applies a circular crop. + // "RECTANGLE_CUSTOM" - Applies a rectangular crop with a custom + // aspect ratio. + // "RECTANGLE_4_3" - Applies a rectangular crop with a 4:3 aspect + // ratio. + ImageStyle string `json:"imageStyle,omitempty"` + + // OnClick: Only the top/bottom label + content region is clickable. + OnClick *OnClick `json:"onClick,omitempty"` + + // StartIcon: The optional icon to display before the text content. + StartIcon *IconImage `json:"startIcon,omitempty"` + + SwitchWidget *SwitchWidget `json:"switchWidget,omitempty"` + + // TopLabel: Formatted text supported. + TopLabel string `json:"topLabel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BottomLabel") 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. "BottomLabel") 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 *KeyValue) MarshalJSON() ([]byte, error) { + type NoMethod KeyValue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// LanguageConfig: The language configuration for the session. +type LanguageConfig struct { + // SpokenLanguages: The spoken language(s) in BCP47 language code. + SpokenLanguages []string `json:"spokenLanguages,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SpokenLanguages") 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. "SpokenLanguages") 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 *LanguageConfig) MarshalJSON() ([]byte, error) { + type NoMethod LanguageConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type LdapGroupProto struct { + GroupName string `json:"groupName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GroupName") 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. "GroupName") 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 *LdapGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod LdapGroupProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type LdapUserProto struct { + UserName string `json:"userName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "UserName") 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. "UserName") 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 *LdapUserProto) MarshalJSON() ([]byte, error) { + type NoMethod LdapUserProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// LinkData: Link metadata, for LINK segments. Anchor text should be +// stored in the "text" field of the Segment, which can also serve as a +// fallback. +type LinkData struct { + // Attachment: An Attachment represents the structured entity to which + // we are linking. It contains an Embed + // (apps/tacotown/proto/embeds/embed_client.proto) with fields specific + // to the appropriate type of linked entity. For example, if we are + // linking to a photo album, the Embed may include the album ID and gaia + // ID of the creator. Clients that understand the Embed type within the + // Attachment may construct and/or decorate their link appropriately + // e.g. to make use of type-specific functionality or first-party + // integrations. The link_target and (if appropriate) display_url fields + // must still be set even when an Attachment is present, so that clients + // who do not know how to interpret the Attachment can fall back to + // those fields, and render the Segment as an ordinary web link. N.B. + // Even when an Attachment is present, the intention of a "LINK" Segment + // is for the Segment to be presented inline with the rest of the text + // of a post or comment, with a clickable link or other UI suitable for + // inlining (though the client may modify the UI based on Attachment + // data, e.g. to add appropriate hovers, icons, etc.). When an entity is + // intended to be rendered separately from the main body of the + // post/comment, a separate Attachment proto can be added outside the + // set of Segments. N.B. Within the Attachment, fields of + // EmbedClientItem have their own visibility annotations, which should + // be enforced separately from Segment visibility annotations. See: + // apps/tacotown/proto/embeds/embed_annotations.proto + Attachment *Attachment `json:"attachment,omitempty"` + + // AttachmentRenderHint: The hint to use when rendering the associated + // attachment. Ignored if there is no associated attachment. + // + // Possible values: + // "ATTACHMENT_RENDER_HINT_UNKNOWN" - No rendering hint; should not be + // used (equivalent to having no hint) + // "ATTACHMENT_RENDER_HINT_AFTER" - Render any associated attachment + // at the end of the block, after all sibling Segments. Leave the link + // in place in the text and render it normally as well. + // "ATTACHMENT_RENDER_HINT_INTERLEAVED" - Render any associated + // attachment inline in the text in place of the link text, forcing a + // line break before and after the attachment so the text and the + // attachment are "interleaved". If this is not possible, render as if + // AFTER. + AttachmentRenderHint string `json:"attachmentRenderHint,omitempty"` + + // DisplayUrl: If we wish to show the user a different (e.g. shortened) + // version of the URL for display purposes, then that version should be + // set here. If this field isn't set, link_target will be used for both + // purposes. + DisplayUrl string `json:"displayUrl,omitempty"` + + // LinkTarget: link_target is the URL to navigate to when clicked. This + // could be the original URL, or a URL signed by the GWS URL signing + // service. + LinkTarget string `json:"linkTarget,omitempty"` + + // LinkType: LinkType is an optional field that provides additional + // information regarding link target. For example, link type can be + // identified as the SELF_LINK when the request was executed from the + // same link as the link target. + // + // Possible values: + // "UNKNOWN_LINK_TYPE" - No link type specified. + // "SELF_LINK" - This indicates that the link target points to the + // same object related to this segment. Example: A YouTube link with + // text="0.07" and link_target: + // "https://www.youtube.com/watch?v=leHVmSqd4_w&t=0m07s" points to the + // same YouTube video where this segment appears. See + // http://go/ignore-badwords-filtering-for-selflink for adding link_type + // design document. + LinkType string `json:"linkType,omitempty"` + + // Title: Title is an optional field that provides a short string that + // describes the link or its destination. User interfaces often use + // title as a tooltip or for accessibility purposes. However, they are + // of course free to present this data in any form. This field is plain + // text. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Attachment") 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. "Attachment") 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 *LinkData) MarshalJSON() ([]byte, error) { + type NoMethod LinkData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ListDataSourceResponse struct { + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + Sources []*DataSource `json:"sources,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 *ListDataSourceResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListDataSourceResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ListItemNamesForUnmappedIdentityResponse struct { + ItemNames []string `json:"itemNames,omitempty"` + + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + 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. "ItemNames") 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. "ItemNames") 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 *ListItemNamesForUnmappedIdentityResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListItemNamesForUnmappedIdentityResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ListItemsResponse struct { + Items []*Item `json:"items,omitempty"` + + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + 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. "Items") 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. "Items") 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 *ListItemsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListItemsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,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 *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListOperationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListQuerySourcesResponse: List sources response. +type ListQuerySourcesResponse struct { + NextPageToken string `json:"nextPageToken,omitempty"` + + Sources []*QuerySource `json:"sources,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 *ListQuerySourcesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListQuerySourcesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ListSearchApplicationsResponse struct { + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + SearchApplications []*SearchApplication `json:"searchApplications,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 *ListSearchApplicationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListSearchApplicationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ListUnmappedIdentitiesResponse struct { + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + UnmappedIdentities []*UnmappedIdentity `json:"unmappedIdentities,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 *ListUnmappedIdentitiesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListUnmappedIdentitiesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MatchRange: Matched range of a snippet [start, end). +type MatchRange struct { + // End: End of the match in the snippet. + End int64 `json:"end,omitempty"` + + // Start: Starting position of the match in the snippet. + Start int64 `json:"start,omitempty"` + + // ForceSendFields is a list of field names (e.g. "End") 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. "End") 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 *MatchRange) MarshalJSON() ([]byte, error) { + type NoMethod MatchRange + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MdbGroupProto: An entity from the MDB namespace that is to be +// interpreted as a group. If using this for authorization, you should +// do an exact match of the peer role against group_name or any of the +// names in the Chubby expansion of the MDB group named group_name. +type MdbGroupProto struct { + GroupName string `json:"groupName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GroupName") 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. "GroupName") 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 *MdbGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod MdbGroupProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MdbUserProto: An entity from the MDB namespace that is to be +// interpreted as a user. If using this for authorization, you should +// only do an exact match on the peer role against user_name. +type MdbUserProto struct { + // GaiaId: Do not set this field. Contact credentials-eng@ if you + // believe you absolutely need to use it. This is the @prod.google.com + // Gaia ID that corresponds to the MDB user, see go/authn-merge for + // details. This field may always be safely ignored when performing an + // authorization check. + GaiaId int64 `json:"gaiaId,omitempty,string"` + + UserName string `json:"userName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GaiaId") 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. "GaiaId") 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 *MdbUserProto) MarshalJSON() ([]byte, error) { + type NoMethod MdbUserProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Media: Media resource. +type Media struct { + // ResourceName: Name of the media resource. + ResourceName string `json:"resourceName,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ResourceName") 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. "ResourceName") 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 *Media) MarshalJSON() ([]byte, error) { + type NoMethod Media + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MeetingSpace: A meeting space is a persistent object that is the +// context for one or more calls. The meeting space is what makes users +// find each other when they want to meet and to find shared resources. +// With two exceptions, all the fields in the meeting space resource are +// visible publicly to any client, even anonymous users. The exceptions +// are that * The call_info field is only visible to clients that have a +// device (as indicated by the meeting token) in the JOINED or HIDDEN +// state. * The meeting_alias field will only be set for users who are +// in the same domain as the meeting space. The meeting space resource +// (outside call_info) should only contain information necessary to join +// a call in the meeting space, and not any other metadata about the +// meeting space, such as what organization it belongs to or things +// related to ongoing calls. +type MeetingSpace struct { + // AcceptedNumberClass: Which number classes are accepted by this + // meeting at the moment? When there is no ongoing conference, this + // field may change independent of the version number of the + // MeetingSpace. When a conference starts, this field will be locked to + // the value at that time, and then will be unlocked again at the end of + // the conference. + // + // Possible values: + // "NUMBER_CLASS_UNSPECIFIED" - No number class has been specified. + // "LOW_COST" - The number has a low cost to receive calls on. + // "HIGH_COST" - The number has a high cost to receive calls on. + // "LEGACY" - Class for legacy numbers. + AcceptedNumberClass []string `json:"acceptedNumberClass,omitempty"` + + // BroadcastAccess: Broadcast access information for this meeting space. + BroadcastAccess *BroadcastAccess `json:"broadcastAccess,omitempty"` + + // CallInfo: Information relevant to an ongoing conference. This field + // will be set in responses if the client requesting the meeting space + // has a device in one of the JOINED, HIDDEN, or MISSING_PREREQUISITES + // states. The field will also be set without a created device if the + // client requesting the meeting space is eligible to directly create a + // device in the JOINED state without knocking, eg a same-domain joiner. + // Can also only be updated by clients with a device in the JOINED + // state. + CallInfo *CallInfo `json:"callInfo,omitempty"` + + // GatewayAccess: The interop gateway access information for the meeting + // space. A gateway access can be used when joining conferences from + // non-Google equipment through an interop gateway. + GatewayAccess *GatewayAccess `json:"gatewayAccess,omitempty"` + + // GatewaySipAccess: The SIP based access methods that can be used to + // join the conference. + GatewaySipAccess []*GatewaySipAccess `json:"gatewaySipAccess,omitempty"` + + // MeetingAlias: An optional alias for the meeting space. The alias can + // in some cases be resolved to the meeting space, similar to the + // meeting code. The limitation is that the user needs to be in the same + // meeting domain as the meeting space. See + // go/thor-backend/meeting-alias for more details. + MeetingAlias string `json:"meetingAlias,omitempty"` + + // MeetingCode: A meeting code is a globally unique code which points to + // a meeting space. Note: Meeting codes may be regenerated, which will + // cause old meeting codes to become invalid. + MeetingCode string `json:"meetingCode,omitempty"` + + // MeetingSpaceId: A unique server-generated ID for the meeting space. + // This is the resource name of the meeting space resource and has the + // form `spaces/`, where is a sequence of characters in the base64url + // set (https://tools.ietf.org/html/rfc4648#section-5), without any `=` + // characters. + MeetingSpaceId string `json:"meetingSpaceId,omitempty"` + + // MeetingUrl: A URL to identify and access the meeting space. Output + // only. + MeetingUrl string `json:"meetingUrl,omitempty"` + + // MoreJoinUrl: Output only. A URL that clients (e.g. Calendar) can use + // to show the web page with all join methods available for this meeting + // space. This link is also used in iOS universal links and Android + // intents, used for opening the "More ways to join" view in the Thor + // mobile apps. Example: https://tel.meet/mee-ting-cod?pin=1234567891011 + // Here, "pin" is the universal phone PIN. We include it explicitly to + // better support the offline case on the mobile. This is set when the + // meeting space has either a universal PIN or an interop PIN and + // clients who can show a "more ways to join" button should show it + // whenever this field is set. + MoreJoinUrl string `json:"moreJoinUrl,omitempty"` + + // PhoneAccess: All regional phone access methods for this meeting + // space. Can be empty. + PhoneAccess []*PhoneAccess `json:"phoneAccess,omitempty"` + + // Settings: Settings of the meeting space. + Settings *Settings `json:"settings,omitempty"` + + // UniversalPhoneAccess: A universal phone access method for this + // meeting space. Can be unset. + UniversalPhoneAccess *UniversalPhoneAccess `json:"universalPhoneAccess,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceptedNumberClass") + // 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. "AcceptedNumberClass") 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 *MeetingSpace) MarshalJSON() ([]byte, error) { + type NoMethod MeetingSpace + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MembershipChangeEvent struct { + // LeaveReason: This should only be set when MembershipChange type is + // LEAVE. + // + // Possible values: + // "LEAVE_REASON_UNKNOWN" + // "FORCE_HISTORY_POLICY_CHANGE" + // "USER_INITIATED" + LeaveReason string `json:"leaveReason,omitempty"` + + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` + + // Possible values: + // "JOIN" + // "LEAVE" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LeaveReason") 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. "LeaveReason") 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 *MembershipChangeEvent) MarshalJSON() ([]byte, error) { + type NoMethod MembershipChangeEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Menu: This is deprecated and please use SelectionControl by setting +// type to DROPDOWN. +type Menu struct { + Items []*MenuItem `json:"items,omitempty"` + + // Label: Label used to be displayed ahead of the menu. It is optional. + Label string `json:"label,omitempty"` + + // Name: The name of the text field which is will be used in FormInput. + Name string `json:"name,omitempty"` + + // OnChange: If specified, form is submitted when selection changed. If + // not specified, developer will need to specify a separate button. + OnChange *FormAction `json:"onChange,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *Menu) MarshalJSON() ([]byte, error) { + type NoMethod Menu + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MenuItem struct { + Selected bool `json:"selected,omitempty"` + + // Text: The text to be displayed. + Text string `json:"text,omitempty"` + + // Value: The value associated with this item which will be sent back to + // app scripts. Client should use as a form input value. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Selected") 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. "Selected") 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 *MenuItem) MarshalJSON() ([]byte, error) { + type NoMethod MenuItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MessageContent: The content of a chat message, which includes 0 or +// more segments along with 0 or more embeds, which represent various +// attachment types (like photos). +type MessageContent struct { + // Attachment: Items attached to this message, such as photos. This + // should *NOT* be set by clients. It will be automatically set from + // media uploaded along with this request and using the information + // provided in existing_media. + Attachment []*Attachment `json:"attachment,omitempty"` + + // Segment: The text part of the message content. Segments are + // concatenated together to yield the full message. A message can have + // zero or more segments. + Segment []*Segment `json:"segment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Attachment") 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. "Attachment") 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 *MessageContent) MarshalJSON() ([]byte, error) { + type NoMethod MessageContent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Metadata: Metadata of a matched search result. +type Metadata struct { + // CreateTime: The creation time for this document or object in the + // search result. + CreateTime string `json:"createTime,omitempty"` + + // DisplayOptions: Options that specify how to display a structured data + // search result. + DisplayOptions *ResultDisplayMetadata `json:"displayOptions,omitempty"` + + // Fields: Indexed fields in structured data, returned as a generic + // named property. + Fields []*NamedProperty `json:"fields,omitempty"` + + // MimeType: Mime type of the search result. + MimeType string `json:"mimeType,omitempty"` + + // ObjectType: Object type of the search result. + ObjectType string `json:"objectType,omitempty"` + + // Owner: Owner (usually creator) of the document or object of the + // search result. + Owner *Person `json:"owner,omitempty"` + + // Source: The named source for the result, such as Gmail. + Source *Source `json:"source,omitempty"` + + // ThumbnailUrl: The thumbnail URL of the result. + ThumbnailUrl string `json:"thumbnailUrl,omitempty"` + + // UpdateTime: The last modified date for the object in the search + // result. If not set in the item, the value returned here is empty. + // When `updateTime` is used for calculating freshness and is not set, + // this value defaults to 2 years from the current time. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Metadata) MarshalJSON() ([]byte, error) { + type NoMethod Metadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Metaline: A metaline is a list of properties that are displayed along +// with the search result to provide context. +type Metaline struct { + // Properties: The list of displayed properties for the metaline. The + // maximum number of properties is 5. + Properties []*DisplayedProperty `json:"properties,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Properties") 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. "Properties") 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 *Metaline) MarshalJSON() ([]byte, error) { + type NoMethod Metaline + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Name: A person's name. +type Name struct { + // DisplayName: The read-only display name formatted according to the + // locale specified by the viewer's account or the `Accept-Language` + // HTTP header. + DisplayName string `json:"displayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Name) MarshalJSON() ([]byte, error) { + type NoMethod Name + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NamedProperty: A typed name-value pair for structured data. The type +// of the value should be the same as the registered type for the `name` +// property in the object definition of `objectType`. +type NamedProperty struct { + BooleanValue bool `json:"booleanValue,omitempty"` + + DateValues *DateValues `json:"dateValues,omitempty"` + + DoubleValues *DoubleValues `json:"doubleValues,omitempty"` + + EnumValues *EnumValues `json:"enumValues,omitempty"` + + HtmlValues *HtmlValues `json:"htmlValues,omitempty"` + + IntegerValues *IntegerValues `json:"integerValues,omitempty"` + + // Name: The name of the property. This name should correspond to the + // name of the property that was registered for object definition in the + // schema. The maximum allowable length for this property is 256 + // characters. + Name string `json:"name,omitempty"` + + ObjectValues *ObjectValues `json:"objectValues,omitempty"` + + TextValues *TextValues `json:"textValues,omitempty"` + + TimestampValues *TimestampValues `json:"timestampValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BooleanValue") 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. "BooleanValue") 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 *NamedProperty) MarshalJSON() ([]byte, error) { + type NoMethod NamedProperty + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// OAuthConsumerProto: Represents an OAuth consumer, a/k/a AuthSub +// target. These principals are identified by domain name (e.g., +// example.com). Historically, Dasher domain GAIA group IDs have been +// used instead, but that doesn't work: http://go/tricky-gaia-ids +type OAuthConsumerProto struct { + Domain string `json:"domain,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Domain") 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. "Domain") 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 *OAuthConsumerProto) MarshalJSON() ([]byte, error) { + type NoMethod OAuthConsumerProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObjectDefinition: The definition for an object within a data source. +type ObjectDefinition struct { + // Name: The name for the object, which then defines its type. Item + // indexing requests should set the objectType field equal to this + // value. For example, if *name* is *Document*, then indexing requests + // for items of type Document should set objectType equal to *Document*. + // Each object definition must be uniquely named within a schema. The + // name must start with a letter and can only contain letters (A-Z, a-z) + // or numbers (0-9). The maximum length is 256 characters. + Name string `json:"name,omitempty"` + + // Options: The optional object-specific options. + Options *ObjectOptions `json:"options,omitempty"` + + // PropertyDefinitions: The property definitions for the object. The + // maximum number of elements is 1000. + PropertyDefinitions []*PropertyDefinition `json:"propertyDefinitions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ObjectDefinition) MarshalJSON() ([]byte, error) { + type NoMethod ObjectDefinition + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObjectDisplayOptions: The display options for an object. +type ObjectDisplayOptions struct { + // Metalines: Defines the properties that are displayed in the metalines + // of the search results. The property values are displayed in the order + // given here. If a property holds multiple values, all of the values + // are displayed before the next properties. For this reason, it is a + // good practice to specify singular properties before repeated + // properties in this list. All of the properties must set is_returnable + // to true. The maximum number of metalines is 3. + Metalines []*Metaline `json:"metalines,omitempty"` + + // ObjectDisplayLabel: The user friendly label to display in the search + // result to indicate the type of the item. This is OPTIONAL; if not + // provided, an object label isn't displayed on the context line of the + // search results. The maximum length is 64 characters. + ObjectDisplayLabel string `json:"objectDisplayLabel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Metalines") 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. "Metalines") 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 *ObjectDisplayOptions) MarshalJSON() ([]byte, error) { + type NoMethod ObjectDisplayOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObjectOptions: The options for an object. +type ObjectOptions struct { + // DisplayOptions: The options that determine how the object is + // displayed in the Cloud Search results page. + DisplayOptions *ObjectDisplayOptions `json:"displayOptions,omitempty"` + + // FreshnessOptions: The freshness options for an object. + FreshnessOptions *FreshnessOptions `json:"freshnessOptions,omitempty"` + + // SuggestionFilteringOperators: Operators that can be used to filter + // suggestions. For Suggest API, only operators mentioned here will be + // honored in the FilterOptions. Only TEXT and ENUM operators are + // supported. NOTE: "objecttype", "type" and "mimetype" are already + // supported. This property is to configure schema specific operators. + // Even though this is an array, only one operator can be specified. + // This is an array for future extensibility. Operators mapping to + // multiple properties within the same object are not supported. If the + // operator spans across different object types, this option has to be + // set once for each object definition. + SuggestionFilteringOperators []string `json:"suggestionFilteringOperators,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayOptions") 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. "DisplayOptions") 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 *ObjectOptions) MarshalJSON() ([]byte, error) { + type NoMethod ObjectOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObjectPropertyOptions: The options for object properties. +type ObjectPropertyOptions struct { + // SubobjectProperties: The properties of the sub-object. These + // properties represent a nested object. For example, if this property + // represents a postal address, the subobjectProperties might be named + // *street*, *city*, and *state*. The maximum number of elements is + // 1000. + SubobjectProperties []*PropertyDefinition `json:"subobjectProperties,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SubobjectProperties") + // 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. "SubobjectProperties") 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 *ObjectPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod ObjectPropertyOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObjectValues: List of object values. +type ObjectValues struct { + Values []*StructuredDataObject `json:"values,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 []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 []string `json:"-"` +} + +func (s *ObjectValues) MarshalJSON() ([]byte, error) { + type NoMethod ObjectValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OnClick struct { + Action *FormAction `json:"action,omitempty"` + + // Link: This can be used as a short form for OpenLink with the default + // OpenAs and OnClose. It may be undeprecated if this proves to be handy + // for developers. + Link string `json:"link,omitempty"` + + OpenLink *OpenLink `json:"openLink,omitempty"` + + // OpenLinkAction: An add-on triggers this action when the form action + // needs to open a link. This differs from the open_link above in that + // this needs to talk to server to get the link. Thus some preparation + // work is required for web client to do before the open link action + // response comes back. + OpenLinkAction *FormAction `json:"openLinkAction,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") 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. "Action") 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 *OnClick) MarshalJSON() ([]byte, error) { + type NoMethod OnClick + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OpenLink struct { + // LoadIndicator: Next available ID: 5 + // + // Possible values: + // "NONE" + // "SPINNER" + LoadIndicator string `json:"loadIndicator,omitempty"` + + // Possible values: + // "NOTHING" + // "RELOAD_ADD_ON" + OnClose string `json:"onClose,omitempty"` + + // Possible values: + // "FULL_SIZE" + // "OVERLAY" + OpenAs string `json:"openAs,omitempty"` + + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LoadIndicator") 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. "LoadIndicator") 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 *OpenLink) MarshalJSON() ([]byte, error) { + type NoMethod OpenLink + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is +// the result of a network API call. +type Operation struct { + // Done: If the value is `false`, it means the operation is still in + // progress. If `true`, the operation is completed, and either `error` + // or `response` is available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. It + // typically contains progress information and common metadata such as + // create time. Some services might not provide such metadata. Any + // method that returns a long-running operation should document the + // metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that originally returns it. If you use the default HTTP + // mapping, the `name` should be a resource name ending with + // `operations/{unique_id}`. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. If + // the original method returns no data on success, such as `Delete`, the + // response is `google.protobuf.Empty`. If the original method is + // standard `Get`/`Create`/`Update`, the response should be the + // resource. For other methods, the response should have the type + // `XxxResponse`, where `Xxx` is the original method name. For example, + // if the original method name is `TakeSnapshot()`, the inferred + // response type is `TakeSnapshotResponse`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") 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. "Done") 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 *Operation) MarshalJSON() ([]byte, error) { + type NoMethod Operation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OtrChatMessageEvent struct { + ExpirationTimestampUsec int64 `json:"expirationTimestampUsec,omitempty,string"` + + KansasRowId string `json:"kansasRowId,omitempty"` + + KansasVersionInfo string `json:"kansasVersionInfo,omitempty"` + + // Possible values: + // "OFF_THE_RECORD" - The conversation is completely off the record. + // "ON_THE_RECORD" - The conversation is completely on the record. + MessageOtrStatus string `json:"messageOtrStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ExpirationTimestampUsec") 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. "ExpirationTimestampUsec") + // 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 *OtrChatMessageEvent) MarshalJSON() ([]byte, error) { + type NoMethod OtrChatMessageEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OtrModificationEvent struct { + // Possible values: + // "OFF_THE_RECORD" - The conversation is completely off the record. + // "ON_THE_RECORD" - The conversation is completely on the record. + NewOtrStatus string `json:"newOtrStatus,omitempty"` + + // Possible values: + // "ENABLED" - The conversation can be toggled + // "DISABLED" - The conversation cannot be toggled + NewOtrToggle string `json:"newOtrToggle,omitempty"` + + // Possible values: + // "OFF_THE_RECORD" - The conversation is completely off the record. + // "ON_THE_RECORD" - The conversation is completely on the record. + OldOtrStatus string `json:"oldOtrStatus,omitempty"` + + // Possible values: + // "ENABLED" - The conversation can be toggled + // "DISABLED" - The conversation cannot be toggled + OldOtrToggle string `json:"oldOtrToggle,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NewOtrStatus") 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. "NewOtrStatus") 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 *OtrModificationEvent) MarshalJSON() ([]byte, error) { + type NoMethod OtrModificationEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PackagingServiceClient: Developers register a client in Google API +// Console to get the deep-linking feature on Google+ posts or frames +// about their apps. The client data is stored in this proto. +type PackagingServiceClient struct { + // AndroidPackageName: Android app's package name to generate the + // deep-link URI. + AndroidPackageName string `json:"androidPackageName,omitempty"` + + // IosAppStoreId: iOS app's App Store ID to generate the App Store URL + // when app is not installed on device. + IosAppStoreId string `json:"iosAppStoreId,omitempty"` + + // IosBundleId: iOS app's bundle ID to generate the deep-link URI. + IosBundleId string `json:"iosBundleId,omitempty"` + + // Type: Type of Google API Console client. + // + // Possible values: + // "ANDROID" - Client for Android app. + // "IOS" - Client for iOS app. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidPackageName") + // 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. "AndroidPackageName") 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 *PackagingServiceClient) MarshalJSON() ([]byte, error) { + type NoMethod PackagingServiceClient + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PaygateInfo: Information provided to clients so that they can show +// upgrade promos and warnings on call ending early (for non-paying +// users). +type PaygateInfo struct { + // CallEndingSoonWarningTime: Time when client should show message that + // the call is ending soon. + CallEndingSoonWarningTime string `json:"callEndingSoonWarningTime,omitempty"` + + // CallEndingTime: Time when the call will end if the user does not + // upgrade (after in-call upgrade support check has been implemented). + CallEndingTime string `json:"callEndingTime,omitempty"` + + // ShowUpgradePromos: This boolean is used by clients to decide whether + // the user should be shown promos to upgrade. + ShowUpgradePromos bool `json:"showUpgradePromos,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CallEndingSoonWarningTime") 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. + // "CallEndingSoonWarningTime") 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 *PaygateInfo) MarshalJSON() ([]byte, error) { + type NoMethod PaygateInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PeopleSuggestion: This field contains information about the person +// being suggested. +type PeopleSuggestion struct { + // Person: Suggested person. All fields of the person object might not + // be populated. + Person *Person `json:"person,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Person") 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. "Person") 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 *PeopleSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod PeopleSuggestion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Person: Object to represent a person. +type Person struct { + // EmailAddresses: The person's email addresses + EmailAddresses []*EmailAddress `json:"emailAddresses,omitempty"` + + // Name: The resource name of the person to provide information about. + // See `People.get` + // (https://developers.google.com/people/api/rest/v1/people/get) from + // the Google People API. + Name string `json:"name,omitempty"` + + // ObfuscatedId: Obfuscated ID of a person. + ObfuscatedId string `json:"obfuscatedId,omitempty"` + + // PersonNames: The person's name + PersonNames []*Name `json:"personNames,omitempty"` + + // PhoneNumbers: The person's phone numbers + PhoneNumbers []*PhoneNumber `json:"phoneNumbers,omitempty"` + + // Photos: A person's read-only photo. A picture shown next to the + // person's name to help others recognize the person in search results. + Photos []*Photo `json:"photos,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EmailAddresses") 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. "EmailAddresses") 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 *Person) MarshalJSON() ([]byte, error) { + type NoMethod Person + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PhoneAccess: Phone access contains information required to dial into +// a conference using a regional phone number and a PIN that is specific +// to that phone number. +type PhoneAccess struct { + // FormattedPhoneNumber: The phone number to dial for this meeting space + // in INTERNATIONAL format. Full phone number with a leading '+' + // character and whitespace separations. + FormattedPhoneNumber string `json:"formattedPhoneNumber,omitempty"` + + // LanguageCode: The BCP 47/LDML language code for the language + // associated with this phone access. To be parsed by the i18n + // LanguageCode utility. Examples: "es-419" for Latin American Spanish, + // "fr-CA" for Canadian French. + LanguageCode string `json:"languageCode,omitempty"` + + // PhoneNumber: The phone number to dial for this meeting space in E.164 + // format. Full phone number with a leading '+' character. + PhoneNumber string `json:"phoneNumber,omitempty"` + + // Pin: The PIN that users must enter after dialing the given number. + // The PIN consists of only decimal digits and the length may vary. + Pin string `json:"pin,omitempty"` + + // RegionCode: The CLDR/ISO 3166 region code for the country associated + // with this phone access. To be parsed by the i18n RegionCode utility. + // Example: "SE" for Sweden. + RegionCode string `json:"regionCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "FormattedPhoneNumber") 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. "FormattedPhoneNumber") 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 *PhoneAccess) MarshalJSON() ([]byte, error) { + type NoMethod PhoneAccess + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PhoneNumber: A person's Phone Number +type PhoneNumber struct { + // PhoneNumber: The phone number of the person. + PhoneNumber string `json:"phoneNumber,omitempty"` + + // Possible values: + // "OTHER" + // "MOBILE" + // "OFFICE" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PhoneNumber") 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. "PhoneNumber") 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 *PhoneNumber) MarshalJSON() ([]byte, error) { + type NoMethod PhoneNumber + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Photo: A person's photo. +type Photo struct { + // Url: The URL of the photo. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Url") 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. "Url") 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 *Photo) MarshalJSON() ([]byte, error) { + type NoMethod Photo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type PollItemsRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` + + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // Limit: Maximum number of items to return. The maximum value is 100 + // and the default value is 20. + Limit int64 `json:"limit,omitempty"` + + // Queue: Queue name to fetch items from. If unspecified, PollItems will + // fetch from 'default' queue. The maximum length is 100 characters. + Queue string `json:"queue,omitempty"` + + // StatusCodes: Limit the items polled to the ones with these statuses. + // + // Possible values: + // "CODE_UNSPECIFIED" - Input-only value. Used with Items.list to list + // all items in the queue, regardless of status. + // "ERROR" - Error encountered by Cloud Search while processing this + // item. Details of the error are in repositoryError. + // "MODIFIED" - Item has been modified in the repository, and is out + // of date with the version previously accepted into Cloud Search. + // "NEW_ITEM" - Item is known to exist in the repository, but is not + // yet accepted by Cloud Search. An item can be in this state when + // Items.push has been called for an item of this name that did not + // exist previously. + // "ACCEPTED" - API has accepted the up-to-date data of this item. + StatusCodes []string `json:"statusCodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConnectorName") 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. "ConnectorName") 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 *PollItemsRequest) MarshalJSON() ([]byte, error) { + type NoMethod PollItemsRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type PollItemsResponse struct { + // Items: Set of items from the queue available for connector to + // process. These items have the following subset of fields populated: + // version metadata.hash structured_data.hash content.hash payload + // status queue + Items []*Item `json:"items,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *PollItemsResponse) MarshalJSON() ([]byte, error) { + type NoMethod PollItemsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PostiniUserProto: See +// http://s/?fileprint=//depot/google3/security/authentication/postini/auth_token.proto +type PostiniUserProto struct { + PostiniUserId int64 `json:"postiniUserId,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "PostiniUserId") 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. "PostiniUserId") 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 *PostiniUserProto) MarshalJSON() ([]byte, error) { + type NoMethod PostiniUserProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Presenter: Presenter contains information about which device is +// currently presenting as well as which device requested the presenter +// to be set. +type Presenter struct { + // ByDeviceId: The device resource name of the device which requested + // the current presenter to be set. This field can not be modified by + // clients. + ByDeviceId string `json:"byDeviceId,omitempty"` + + // CopresenterDeviceIds: The device resource names of other devices + // which can control the current presentation. + CopresenterDeviceIds []string `json:"copresenterDeviceIds,omitempty"` + + // PresenterDeviceId: The device resource name of the currently + // presenting device. + PresenterDeviceId string `json:"presenterDeviceId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ByDeviceId") 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. "ByDeviceId") 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 *Presenter) MarshalJSON() ([]byte, error) { + type NoMethod Presenter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Principal: Reference to a user, group, or domain. +type Principal struct { + // GroupResourceName: This principal is a group identified using an + // external identity. The name field must specify the group resource + // name with this format: identitysources/{source_id}/groups/{ID} + GroupResourceName string `json:"groupResourceName,omitempty"` + + // GsuitePrincipal: This principal is a Google Workspace user, group or + // domain. + GsuitePrincipal *GSuitePrincipal `json:"gsuitePrincipal,omitempty"` + + // UserResourceName: This principal is a user identified using an + // external identity. The name field must specify the user resource name + // with this format: identitysources/{source_id}/users/{ID} + UserResourceName string `json:"userResourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GroupResourceName") + // 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. "GroupResourceName") 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 *Principal) MarshalJSON() ([]byte, error) { + type NoMethod Principal + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PrincipalProto: A Principal represents something to which permissions +// are assigned, often but not always a user or group of some kind. It +// is most appropriate for use in ACLs and authorization checks. Callers +// should prefer to use the wrapper classes in +// google3/security/credentials/public/principal.h +// google3/java/com/google/security/credentials/Principal.java +// google3/security/credentials/go/principal.go unless direct proto +// access is essential. If you update this protocol buffer, please +// update the wrapper classes as well. +type PrincipalProto struct { + // AllAuthenticatedUsers: scope = ALL_AUTHENTICATED_USERS + AllAuthenticatedUsers *AllAuthenticatedUsersProto `json:"allAuthenticatedUsers,omitempty"` + + // CapTokenHolder: scope = CAP_TOKEN_HOLDER + CapTokenHolder *CapTokenHolderProto `json:"capTokenHolder,omitempty"` + + // Chat: scope = CHAT + Chat *ChatProto `json:"chat,omitempty"` + + // Circle: scope = CIRCLE + Circle *CircleProto `json:"circle,omitempty"` + + // CloudPrincipal: scope = CLOUD_PRINCIPAL + CloudPrincipal *CloudPrincipalProto `json:"cloudPrincipal,omitempty"` + + // ContactGroup: scope = CONTACT_GROUP + ContactGroup *ContactGroupProto `json:"contactGroup,omitempty"` + + // EmailOwner: scope = EMAIL_OWNER + EmailOwner *EmailOwnerProto `json:"emailOwner,omitempty"` + + // Event: scope = EVENT + Event *EventProto `json:"event,omitempty"` + + // GaiaGroup: scope = GAIA_GROUP + GaiaGroup *GaiaGroupProto `json:"gaiaGroup,omitempty"` + + // GaiaUser: scope = GAIA_USER + GaiaUser *GaiaUserProto `json:"gaiaUser,omitempty"` + + // Host: scope = HOST + Host *HostProto `json:"host,omitempty"` + + // LdapGroup: scope = LDAP_GROUP + LdapGroup *LdapGroupProto `json:"ldapGroup,omitempty"` + + // LdapUser: scope = LDAP_USER + LdapUser *LdapUserProto `json:"ldapUser,omitempty"` + + // MdbGroup: scope = MDB_GROUP + MdbGroup *MdbGroupProto `json:"mdbGroup,omitempty"` + + // MdbUser: scope = MDB_USER + MdbUser *MdbUserProto `json:"mdbUser,omitempty"` + + // OauthConsumer: scope = OAUTH_CONSUMER; + OauthConsumer *OAuthConsumerProto `json:"oauthConsumer,omitempty"` + + // PostiniUser: scope = POSTINI_USER + PostiniUser *PostiniUserProto `json:"postiniUser,omitempty"` + + // RbacRole: scope = RBAC_ROLE + RbacRole *RbacRoleProto `json:"rbacRole,omitempty"` + + // RbacSubject: scope = RBAC_SUBJECT + RbacSubject *RbacSubjectProto `json:"rbacSubject,omitempty"` + + // ResourceRole: scope = RESOURCE_ROLE + ResourceRole *ResourceRoleProto `json:"resourceRole,omitempty"` + + // Scope: This is only optional because required enums cannot be + // extended. Currently required. + // + // Possible values: + // "INVALID" + // "GAIA_USER" + // "GAIA_GROUP" + // "LDAP_USER" + // "LDAP_GROUP" + // "MDB_USER" + // "MDB_GROUP" + // "POSTINI_USER" + // "CONTACT_GROUP" + // "SIMPLE_SECRET_HOLDER" + // "SIGNING_KEY_POSSESSOR" + // "ALL_AUTHENTICATED_USERS" + // "OAUTH_CONSUMER" + // "HOST" + // "SOCIAL_GRAPH_NODE" + // "EMAIL_OWNER" + // "CAP_TOKEN_HOLDER" + // "CIRCLE" + // "SQUARE" + // "EVENT" + // "RESOURCE_ROLE" + // "CHAT" + // "YOUTUBE_USER" + // "UNUSED_ZWIEBACK_SESSION" + // "ZWIEBACK_SESSION" + // "RBAC_ROLE" + // "RBAC_SUBJECT" + // "CLOUD_PRINCIPAL" - next tag: 29 + Scope string `json:"scope,omitempty"` + + // SigningKeyPossessor: scope = SIGNING_KEY_POSSESSOR + SigningKeyPossessor *SigningKeyPossessorProto `json:"signingKeyPossessor,omitempty"` + + // SimpleSecretHolder: scope = SIMPLE_SECRET_HOLDER + SimpleSecretHolder *SimpleSecretHolderProto `json:"simpleSecretHolder,omitempty"` + + // SocialGraphNode: scope = SOCIAL_GRAPH_NODE + SocialGraphNode *SocialGraphNodeProto `json:"socialGraphNode,omitempty"` + + // Square: scope = SQUARE + Square *SquareProto `json:"square,omitempty"` + + // YoutubeUser: scope = YOUTUBE_USER + YoutubeUser *YoutubeUserProto `json:"youtubeUser,omitempty"` + + // ZwiebackSession: scope = ZWIEBACK_SESSION + ZwiebackSession *ZwiebackSessionProto `json:"zwiebackSession,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AllAuthenticatedUsers") 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. "AllAuthenticatedUsers") 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 *PrincipalProto) MarshalJSON() ([]byte, error) { + type NoMethod PrincipalProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ProcessingError struct { + // Code: Error code indicating the nature of the error. + // + // Possible values: + // "PROCESSING_ERROR_CODE_UNSPECIFIED" - Input only value. Use this + // value in Items. + // "MALFORMED_REQUEST" - Item's ACL, metadata, or content is malformed + // or in invalid state. FieldViolations contains more details on where + // the problem is. + // "UNSUPPORTED_CONTENT_FORMAT" - Countent format is unsupported. + // "INDIRECT_BROKEN_ACL" - Items with incomplete ACL information due + // to inheriting other items with broken ACL or having groups with + // unmapped descendants. + // "ACL_CYCLE" - ACL inheritance graph formed a cycle. + Code string `json:"code,omitempty"` + + // ErrorMessage: The description of the error. + ErrorMessage string `json:"errorMessage,omitempty"` + + // FieldViolations: In case the item fields are invalid, this field + // contains the details about the validation errors. + FieldViolations []*FieldViolation `json:"fieldViolations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ProcessingError) MarshalJSON() ([]byte, error) { + type NoMethod ProcessingError + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PropertyDefinition: The definition of a property within an object. +type PropertyDefinition struct { + BooleanPropertyOptions *BooleanPropertyOptions `json:"booleanPropertyOptions,omitempty"` + + DatePropertyOptions *DatePropertyOptions `json:"datePropertyOptions,omitempty"` + + // DisplayOptions: The options that determine how the property is + // displayed in the Cloud Search results page if it's specified to be + // displayed in the object's display options. + DisplayOptions *PropertyDisplayOptions `json:"displayOptions,omitempty"` + + DoublePropertyOptions *DoublePropertyOptions `json:"doublePropertyOptions,omitempty"` + + EnumPropertyOptions *EnumPropertyOptions `json:"enumPropertyOptions,omitempty"` + + HtmlPropertyOptions *HtmlPropertyOptions `json:"htmlPropertyOptions,omitempty"` + + IntegerPropertyOptions *IntegerPropertyOptions `json:"integerPropertyOptions,omitempty"` + + // IsFacetable: Indicates that the property can be used for generating + // facets. Cannot be true for properties whose type is object. + // IsReturnable must be true to set this option. Only supported for + // boolean, enum, and text properties. + IsFacetable bool `json:"isFacetable,omitempty"` + + // IsRepeatable: Indicates that multiple values are allowed for the + // property. For example, a document only has one description but can + // have multiple comments. Cannot be true for properties whose type is a + // boolean. If set to false, properties that contain more than one value + // cause the indexing request for that item to be rejected. + IsRepeatable bool `json:"isRepeatable,omitempty"` + + // IsReturnable: Indicates that the property identifies data that should + // be returned in search results via the Query API. If set to *true*, + // indicates that Query API users can use matching property fields in + // results. However, storing fields requires more space allocation and + // uses more bandwidth for search queries, which impacts performance + // over large datasets. Set to *true* here only if the field is needed + // for search results. Cannot be true for properties whose type is an + // object. + IsReturnable bool `json:"isReturnable,omitempty"` + + // IsSortable: Indicates that the property can be used for sorting. + // Cannot be true for properties that are repeatable. Cannot be true for + // properties whose type is object. IsReturnable must be true to set + // this option. Only supported for boolean, date, double, integer, and + // timestamp properties. + IsSortable bool `json:"isSortable,omitempty"` + + // IsSuggestable: Indicates that the property can be used for generating + // query suggestions. + IsSuggestable bool `json:"isSuggestable,omitempty"` + + // IsWildcardSearchable: Indicates that users can perform wildcard + // search for this property. Only supported for Text properties. + // IsReturnable must be true to set this option. In a given datasource + // maximum of 5 properties can be marked as is_wildcard_searchable. + IsWildcardSearchable bool `json:"isWildcardSearchable,omitempty"` + + // Name: The name of the property. Item indexing requests sent to the + // Indexing API should set the property name equal to this value. For + // example, if name is *subject_line*, then indexing requests for + // document items with subject fields should set the name for that field + // equal to *subject_line*. Use the name as the identifier for the + // object property. Once registered as a property for an object, you + // cannot re-use this name for another property within that object. The + // name must start with a letter and can only contain letters (A-Z, a-z) + // or numbers (0-9). The maximum length is 256 characters. + Name string `json:"name,omitempty"` + + ObjectPropertyOptions *ObjectPropertyOptions `json:"objectPropertyOptions,omitempty"` + + TextPropertyOptions *TextPropertyOptions `json:"textPropertyOptions,omitempty"` + + TimestampPropertyOptions *TimestampPropertyOptions `json:"timestampPropertyOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "BooleanPropertyOptions") 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. "BooleanPropertyOptions") + // 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 *PropertyDefinition) MarshalJSON() ([]byte, error) { + type NoMethod PropertyDefinition + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PropertyDisplayOptions: The display options for a property. +type PropertyDisplayOptions struct { + // DisplayLabel: The user friendly label for the property that is used + // if the property is specified to be displayed in ObjectDisplayOptions. + // If provided, the display label is shown in front of the property + // values when the property is part of the object display options. For // example, if the property value is '1', the value by itself may not be // useful context for the user. If the display name given was // 'priority', then the user sees 'priority : 1' in the search results @@ -5028,7 +16933,1951 @@ type PropertyDisplayOptions struct { // is 64 characters. DisplayLabel string `json:"displayLabel,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayLabel") to + // ForceSendFields is a list of field names (e.g. "DisplayLabel") 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. "DisplayLabel") 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 *PropertyDisplayOptions) MarshalJSON() ([]byte, error) { + type NoMethod PropertyDisplayOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Provenance: This field records where the ItemScope was retrieved, if +// it was created via a web fetch. +type Provenance struct { + // AnnotationBlob: Annotation blob from Annotation Service. + AnnotationBlob string `json:"annotationBlob,omitempty"` + + // CanonicalUrl: Canonical url of the retrieved_url, if one was resolved + // during retrieval, for example, if a rel="canonical" link tag was + // provided in the retrieved web page. + CanonicalUrl string `json:"canonicalUrl,omitempty"` + + // InputUrl: The url originally passed in the PRS request, which should + // be used to re-discover the content. Note that this URL may be a + // forwarding service or link shortener (bit.ly), so it should not be + // assumed to be canonical, but should be used for navigation back to + // the original source of the itemscope. + InputUrl string `json:"inputUrl,omitempty"` + + // Itemtype: Contains exact types as parsed, whether or not we + // recognized that type at parse time. If an itemscope is created by + // merging SchemaOrg markup and open graph markup then the first + // itemtype would be schemaorg type, the second would be open graph and + // so on. example: http://schema.org/VideoObject, og:video.movie Plain + // text; usually a URL + Itemtype []string `json:"itemtype,omitempty"` + + // RetrievedTimestampMsec: The server retrieved timestamp (in msec). + RetrievedTimestampMsec uint64 `json:"retrievedTimestampMsec,omitempty,string"` + + // RetrievedUrl: The final URL that was the actual source of the + // itemscope, after any redirects. + RetrievedUrl string `json:"retrievedUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnnotationBlob") 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. "AnnotationBlob") 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 *Provenance) MarshalJSON() ([]byte, error) { + type NoMethod Provenance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PushItem: Represents an item to be pushed to the indexing queue. +type PushItem struct { + // ContentHash: Content hash of the item according to the repository. If + // specified, this is used to determine how to modify this item's + // status. Setting this field and the type field results in argument + // error. The maximum length is 2048 characters. + ContentHash string `json:"contentHash,omitempty"` + + // MetadataHash: The metadata hash of the item according to the + // repository. If specified, this is used to determine how to modify + // this item's status. Setting this field and the type field results in + // argument error. The maximum length is 2048 characters. + MetadataHash string `json:"metadataHash,omitempty"` + + // Payload: Provides additional document state information for the + // connector, such as an alternate repository ID and other metadata. The + // maximum length is 8192 bytes. + Payload string `json:"payload,omitempty"` + + // Queue: Queue to which this item belongs. The `default` queue is + // chosen if this field is not specified. The maximum length is 512 + // characters. + Queue string `json:"queue,omitempty"` + + // RepositoryError: Populate this field to store Connector or repository + // error details. This information is displayed in the Admin Console. + // This field may only be populated when the Type is REPOSITORY_ERROR. + RepositoryError *RepositoryError `json:"repositoryError,omitempty"` + + // StructuredDataHash: Structured data hash of the item according to the + // repository. If specified, this is used to determine how to modify + // this item's status. Setting this field and the type field results in + // argument error. The maximum length is 2048 characters. + StructuredDataHash string `json:"structuredDataHash,omitempty"` + + // Type: The type of the push operation that defines the push behavior. + // + // Possible values: + // "UNSPECIFIED" - Default UNSPECIFIED. Specifies that the push + // operation should not modify ItemStatus + // "MODIFIED" - Indicates that the repository document has been + // modified or updated since the previous update call. This changes + // status to MODIFIED state for an existing item. If this is called on a + // non existing item, the status is changed to NEW_ITEM. + // "NOT_MODIFIED" - Item in the repository has not been modified since + // the last update call. This push operation will set status to ACCEPTED + // state. + // "REPOSITORY_ERROR" - Connector is facing a repository error + // regarding this item. Change status to REPOSITORY_ERROR state. Item is + // unreserved and rescheduled at a future time determined by exponential + // backoff. + // "REQUEUE" - Call push with REQUEUE only for items that have been + // reserved. This action unreserves the item and resets its available + // time to the wall clock time. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContentHash") 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. "ContentHash") 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 *PushItem) MarshalJSON() ([]byte, error) { + type NoMethod PushItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type PushItemRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` + + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // Item: Item to push onto the queue. + Item *PushItem `json:"item,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConnectorName") 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. "ConnectorName") 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 *PushItemRequest) MarshalJSON() ([]byte, error) { + type NoMethod PushItemRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type QueryCountByStatus struct { + Count int64 `json:"count,omitempty,string"` + + // StatusCode: This represents the http status code. + StatusCode int64 `json:"statusCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Count") 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. "Count") 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 *QueryCountByStatus) MarshalJSON() ([]byte, error) { + type NoMethod QueryCountByStatus + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type QueryInterpretation struct { + // Possible values: + // "NONE" - Neither the natural language interpretation, nor a broader + // version of the query is used to fetch the search results. + // "BLEND" - The results from original query are blended with other + // results. The reason for blending these other results with the results + // from original query is populated in the 'Reason' field below. + // "REPLACE" - The results from original query are replaced. The + // reason for replacing the results from original query is populated in + // the 'Reason' field below. + InterpretationType string `json:"interpretationType,omitempty"` + + // InterpretedQuery: The interpretation of the query used in search. For + // example, queries with natural language intent like "email from john" + // will be interpreted as "from:john source:mail". This field will not + // be filled when the reason is NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. + InterpretedQuery string `json:"interpretedQuery,omitempty"` + + // Reason: The reason for interpretation of the query. This field will + // not be UNSPECIFIED if the interpretation type is not NONE. + // + // Possible values: + // "UNSPECIFIED" + // "QUERY_HAS_NATURAL_LANGUAGE_INTENT" - Natural language + // interpretation of the query is used to fetch the search results. + // "NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY" - Query and document + // terms similarity is used to selectively broaden the query to retrieve + // additional search results since enough results were not found for the + // user query. Interpreted query will be empty for this case. + Reason string `json:"reason,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InterpretationType") + // 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. "InterpretationType") 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 *QueryInterpretation) MarshalJSON() ([]byte, error) { + type NoMethod QueryInterpretation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryInterpretationConfig: Default options to interpret user query. +type QueryInterpretationConfig struct { + // ForceDisableSupplementalResults: Set this flag to disable + // supplemental results retrieval, setting a flag here will not retrieve + // supplemental results for queries associated with a given search + // application. If this flag is set to True, it will take precedence + // over the option set at Query level. For the default value of False, + // query level flag will set the correct interpretation for supplemental + // results. + ForceDisableSupplementalResults bool `json:"forceDisableSupplementalResults,omitempty"` + + // ForceVerbatimMode: Enable this flag to turn off all internal + // optimizations like natural language (NL) interpretation of queries, + // supplemental results retrieval, and usage of synonyms including + // custom ones. If this flag is set to True, it will take precedence + // over the option set at Query level. For the default value of False, + // query level flag will set the correct interpretation for verbatim + // mode. + ForceVerbatimMode bool `json:"forceVerbatimMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ForceDisableSupplementalResults") 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. + // "ForceDisableSupplementalResults") 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 *QueryInterpretationConfig) MarshalJSON() ([]byte, error) { + type NoMethod QueryInterpretationConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryInterpretationOptions: Options to interpret user query. +type QueryInterpretationOptions struct { + // DisableNlInterpretation: Flag to disable natural language (NL) + // interpretation of queries. Default is false, Set to true to disable + // natural language interpretation. NL interpretation only applies to + // predefined datasources. + DisableNlInterpretation bool `json:"disableNlInterpretation,omitempty"` + + // DisableSupplementalResults: Use this flag to disable supplemental + // results for a query. Supplemental results setting chosen at + // SearchApplication level will take precedence if set to True. + DisableSupplementalResults bool `json:"disableSupplementalResults,omitempty"` + + // EnableVerbatimMode: Enable this flag to turn off all internal + // optimizations like natural language (NL) interpretation of queries, + // supplemental result retrieval, and usage of synonyms including custom + // ones. Nl interpretation will be disabled if either one of the two + // flags is true. + EnableVerbatimMode bool `json:"enableVerbatimMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DisableNlInterpretation") 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. "DisableNlInterpretation") + // 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 *QueryInterpretationOptions) MarshalJSON() ([]byte, error) { + type NoMethod QueryInterpretationOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryItem: Information relevant only to a query entry. +type QueryItem struct { + // IsSynthetic: True if the text was generated by means other than a + // previous user search. + IsSynthetic bool `json:"isSynthetic,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IsSynthetic") 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. "IsSynthetic") 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 *QueryItem) MarshalJSON() ([]byte, error) { + type NoMethod QueryItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryOperator: The definition of a operator that can be used in a +// Search/Suggest request. +type QueryOperator struct { + // DisplayName: Display name of the operator + DisplayName string `json:"displayName,omitempty"` + + // EnumValues: Potential list of values for the opeatror field. This + // field is only filled when we can safely enumerate all the possible + // values of this operator. + EnumValues []string `json:"enumValues,omitempty"` + + // GreaterThanOperatorName: Indicates the operator name that can be used + // to isolate the property using the greater-than operator. + GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` + + // IsFacetable: Can this operator be used to get facets. + IsFacetable bool `json:"isFacetable,omitempty"` + + // IsRepeatable: Indicates if multiple values can be set for this + // property. + IsRepeatable bool `json:"isRepeatable,omitempty"` + + // IsReturnable: Will the property associated with this facet be + // returned as part of search results. + IsReturnable bool `json:"isReturnable,omitempty"` + + // IsSortable: Can this operator be used to sort results. + IsSortable bool `json:"isSortable,omitempty"` + + // IsSuggestable: Can get suggestions for this field. + IsSuggestable bool `json:"isSuggestable,omitempty"` + + // LessThanOperatorName: Indicates the operator name that can be used to + // isolate the property using the less-than operator. + LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` + + // ObjectType: The name of the object corresponding to the operator. + // This field is only filled for schema-specific operators, and is unset + // for common operators. + ObjectType string `json:"objectType,omitempty"` + + // OperatorName: The name of the operator. + OperatorName string `json:"operatorName,omitempty"` + + // Type: The type of the operator. + // + // Possible values: + // "UNKNOWN" - Invalid value. + // "INTEGER" + // "DOUBLE" + // "TIMESTAMP" + // "BOOLEAN" + // "ENUM" + // "DATE" + // "TEXT" + // "HTML" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryOperator) MarshalJSON() ([]byte, error) { + type NoMethod QueryOperator + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QuerySource: List of sources that the user can search using the query +// API. +type QuerySource struct { + // DisplayName: Display name of the data source. + DisplayName string `json:"displayName,omitempty"` + + // Operators: List of all operators applicable for this source. + Operators []*QueryOperator `json:"operators,omitempty"` + + // ShortName: A short name or alias for the source. This value can be + // used with the 'source' operator. + ShortName string `json:"shortName,omitempty"` + + // Source: The name of the source + Source *Source `json:"source,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QuerySource) MarshalJSON() ([]byte, error) { + type NoMethod QuerySource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QuerySuggestion: This field does not contain anything as of now and +// is just used as an indicator that the suggest result was a phrase +// completion. +type QuerySuggestion struct { +} + +// RbacRoleProto: Principal associated with a given RBAC role. This +// principal is used by Sphinx Provisioning Service for RBAC +// (go/cedi-auth) provisionable (go/sphinx-rbacz-design). +type RbacRoleProto struct { + Name string `json:"name,omitempty"` + + ObjectId string `json:"objectId,omitempty"` + + // RbacNamespace: DEPRECATED as of 01.11.2019 + RbacNamespace string `json:"rbacNamespace,omitempty"` + + // RbacRoleName: Format: + // "RbacNamespaceName.RbacRoleName(/field=value)*", e.g., + // "hr.v1.Reader", + // "hr.v1.Reader/language=EN_US/country=USA/room=NYC-9th-11A201". + RbacRoleName string `json:"rbacRoleName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RbacRoleProto) MarshalJSON() ([]byte, error) { + type NoMethod RbacRoleProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RbacSubjectProto: Principal associated with a given RBAC subject. +// This principal is used by Sphinx Provisioning Service for RBAC +// (go/cedi-auth) provisionable (go/sphinx-rbacz-design). +type RbacSubjectProto struct { + // Username: Format "username" without "@domain", e.g., "bogdand". + Username string `json:"username,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Username") 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. "Username") 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 *RbacSubjectProto) MarshalJSON() ([]byte, error) { + type NoMethod RbacSubjectProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ReactionInfo: Contains information about an emoji reaction. +type ReactionInfo struct { + // Emoji: Unicode string representing a single emoji. + Emoji string `json:"emoji,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Emoji") 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. "Emoji") 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 *ReactionInfo) MarshalJSON() ([]byte, error) { + type NoMethod ReactionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RecordingEvent: A recording event is something that happens to the +// recording in a conference. +type RecordingEvent struct { + // DeviceId: The initiator of the latest event of the recording. It will + // be set for all user events (`type` is 100-199) and unset for all + // server events (`type` is 200-299). + DeviceId string `json:"deviceId,omitempty"` + + // Type: The type of event. + // + // Possible values: + // "RECORDING_EVENT_UNSPECIFIED" - This is never used. + // "USER_ACTION" - Deprecated, use detailed user actions instead. + // "STARTED_BY_USER" - Recording was started or is being started by a + // user. + // "STOPPED_BY_USER" - Recording was stopped by a user. + // "CANCELLED_BY_USER" - Recording was cancelled by a user. + // "CANCELLED_INITIALIZATION_FAILED" - Recording was cancelled by the + // server because of a failure during recording initialization. + // "CANCELLED_INITIATOR_LEFT" - Recording was cancelled by the server + // because the recording initiator left the conference during + // initialization. When the initiator leaves after the recording is + // started, no event is triggered. + // "ACTIVE_ABOUT_TO_STOP_TOO_LONG" - Recording is about to be stopped + // by the server because the recording is about to reach the maximum + // duration. + // "STOPPED_TOO_LONG" - Recording was stopped because the recording + // reached the maximum duration. + // "STOPPED_ALL_DEVICES_LEFT" - Recording was stopped because there + // were no devices left in the conference. + // "STOPPED_INTERNAL_FAILURES" - Recording was stopped because of an + // internal error. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") 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. "DeviceId") 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 *RecordingEvent) MarshalJSON() ([]byte, error) { + type NoMethod RecordingEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RecordingInfo: This message is deprecated, please use +// RecordingSessionInfo instead. Information about recording in the +// current conference. +type RecordingInfo struct { + // LatestRecordingEvent: The latest recording event. This can be used by + // clients to help explain what is going on, why recording stopped, etc. + // This will always be set if there is or was an active recording, which + // means there can be latest event when recording is INACTIVE. + LatestRecordingEvent *RecordingEvent `json:"latestRecordingEvent,omitempty"` + + // OwnerDisplayName: The display name of the owner of the recording + // output. Email notifications about uploaded recordings will also be + // sent to this owner. + OwnerDisplayName string `json:"ownerDisplayName,omitempty"` + + // ProducerDeviceId: The device resource name of the producer device for + // the currently active recording. Note that, after the producer + // drops/leaves the conference, this field will be cleaned up by the + // server after a delay. + ProducerDeviceId string `json:"producerDeviceId,omitempty"` + + // RecordingApplicationType: The application type of the current active + // recording. `RECORDING_APPLICATION_TYPE_UNSPECIFIED` if + // `recording_status` is inactive. + // + // Possible values: + // "RECORDING_APPLICATION_TYPE_UNSPECIFIED" - This is never used. + // "RECORDING" - A meeting recording saved to a video file in Google + // Drive. + // "GLIVE_STREAM" - A *Google Live* managed stream. See + // go/thor-managed-streaming. + // "BROADCAST" - A meeting broadcast. See go/thor-streaming-prd. + RecordingApplicationType string `json:"recordingApplicationType,omitempty"` + + // RecordingId: An identifier for the current recording, if any. This is + // returned whenever recording_status is either `RECORDING_STARTING` or + // `RECORDING_STARTED`. + RecordingId string `json:"recordingId,omitempty"` + + // RecordingStatus: The current status of the recording. This can be + // used by clients to show a recording dot or similar to indicated to + // the user that a recording is taking place. + // + // Possible values: + // "RECORDING_UNSPECIFIED" - This value is never used. + // "RECORDING_INACTIVE" - The conference is not being recorded. This + // can mean either that no recording has been started, or that a + // previous recording has stopped. + // "RECORDING_STARTING" - Recording is about to begin. The status will + // be updated to RECORDING_STARTED when the recording actually starts, + // which happens when all the backend plumbing is set up. + // "RECORDING_STARTED" - The recording is started. Any media sent to + // the conference may be included in the resulting recording. + RecordingStatus string `json:"recordingStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "LatestRecordingEvent") 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. "LatestRecordingEvent") 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 *RecordingInfo) MarshalJSON() ([]byte, error) { + type NoMethod RecordingInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RecordingSessionInfo: Information about a recording session. +type RecordingSessionInfo struct { + // OwnerEmail: Input only. Deprecated field, should not be used. + OwnerEmail string `json:"ownerEmail,omitempty"` + + // RecordingSessionId: A unique server-generated ID for the recording + // session. + RecordingSessionId string `json:"recordingSessionId,omitempty"` + + // SessionStateInfo: Recording session's state information. + SessionStateInfo *SessionStateInfo `json:"sessionStateInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OwnerEmail") 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. "OwnerEmail") 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 *RecordingSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod RecordingSessionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RenameEvent struct { + NewName string `json:"newName,omitempty"` + + OriginalName string `json:"originalName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NewName") 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. "NewName") 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 *RenameEvent) MarshalJSON() ([]byte, error) { + type NoMethod RenameEvent + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RepositoryError: Errors when the connector is communicating to the +// source repository. +type RepositoryError struct { + // ErrorMessage: Message that describes the error. The maximum allowable + // length of the message is 8192 characters. + ErrorMessage string `json:"errorMessage,omitempty"` + + // HttpStatusCode: Error codes. Matches the definition of HTTP status + // codes. + HttpStatusCode int64 `json:"httpStatusCode,omitempty"` + + // Type: The type of error. + // + // Possible values: + // "UNKNOWN" - Unknown error. + // "NETWORK_ERROR" - Unknown or unreachable host. + // "DNS_ERROR" - DNS problem, such as the DNS server is not + // responding. + // "CONNECTION_ERROR" - Cannot connect to the repository server. + // "AUTHENTICATION_ERROR" - Failed authentication due to incorrect + // credentials. + // "AUTHORIZATION_ERROR" - Service account is not authorized for the + // repository. + // "SERVER_ERROR" - Repository server error. + // "QUOTA_EXCEEDED" - Quota exceeded. + // "SERVICE_UNAVAILABLE" - Server temporarily unavailable. + // "CLIENT_ERROR" - Client-related error, such as an invalid request + // from the connector to the repository server. + Type string `json:"type,omitempty"` + + // 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 *RepositoryError) MarshalJSON() ([]byte, error) { + type NoMethod RepositoryError + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RequestOptions: Shared request options for all RPC methods. +type RequestOptions struct { + // DebugOptions: Debug options of the request + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For + // translations. Set this field using the language set in browser or for + // the page. In the event that the user's language preference is known, + // set this field to the known user language. When specified, the + // documents in search results are biased towards the specified + // language. The suggest API does not use this parameter. Instead, + // suggest autocompletes only based on characters in the query. + LanguageCode string `json:"languageCode,omitempty"` + + // SearchApplicationId: The ID generated when you create a search + // application using the admin console + // (https://support.google.com/a/answer/9043922). + SearchApplicationId string `json:"searchApplicationId,omitempty"` + + // TimeZone: Current user's time zone id, such as "America/Los_Angeles" + // or "Australia/Sydney". These IDs are defined by Unicode Common Locale + // Data Repository (CLDR) (http://cldr.unicode.org/) project, and + // currently available in the file timezone.xml + // (http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This + // field is used to correctly interpret date and time queries. If this + // field is not specified, the default time zone (UTC) is used. + TimeZone string `json:"timeZone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DebugOptions") 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. "DebugOptions") 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 *RequestOptions) MarshalJSON() ([]byte, error) { + type NoMethod RequestOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ResetSearchApplicationRequest struct { + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DebugOptions") 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. "DebugOptions") 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 *ResetSearchApplicationRequest) MarshalJSON() ([]byte, error) { + type NoMethod ResetSearchApplicationRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResourceRoleProto: A type of sharing target that points to some +// resource's ACL. Used to refer to the set of Principals that have the +// given privilege ('role_id') for the given resource ('application_id', +// 'object_id', 'object_part'). The meaning of 'role_id' is interpreted +// only by implementations of AclRpcService and is usually dependent on +// 'application_id' All fields except object_part are required. If +// present, object_part must be non-empty. +type ResourceRoleProto struct { + ApplicationId string `json:"applicationId,omitempty"` + + ObjectId string `json:"objectId,omitempty"` + + ObjectPart string `json:"objectPart,omitempty"` + + RoleId int64 `json:"roleId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApplicationId") 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. "ApplicationId") 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 *ResourceRoleProto) MarshalJSON() ([]byte, error) { + type NoMethod ResourceRoleProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResponseDebugInfo: Debugging information about the response. +type ResponseDebugInfo struct { + // FormattedDebugInfo: General debug info formatted for display. + FormattedDebugInfo string `json:"formattedDebugInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FormattedDebugInfo") + // 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. "FormattedDebugInfo") 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 *ResponseDebugInfo) MarshalJSON() ([]byte, error) { + type NoMethod ResponseDebugInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RestrictItem: Information relevant only to a restrict entry. NextId: +// 12 +type RestrictItem struct { + DriveFollowUpRestrict *DriveFollowUpRestrict `json:"driveFollowUpRestrict,omitempty"` + + DriveLocationRestrict *DriveLocationRestrict `json:"driveLocationRestrict,omitempty"` + + // DriveMimeTypeRestrict: Drive Types. + DriveMimeTypeRestrict *DriveMimeTypeRestrict `json:"driveMimeTypeRestrict,omitempty"` + + DriveTimeSpanRestrict *DriveTimeSpanRestrict `json:"driveTimeSpanRestrict,omitempty"` + + // SearchOperator: The search restrict (e.g. "after:2017-09-11 + // before:2017-09-12"). + SearchOperator string `json:"searchOperator,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DriveFollowUpRestrict") 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. "DriveFollowUpRestrict") 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 *RestrictItem) MarshalJSON() ([]byte, error) { + type NoMethod RestrictItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultCounts: Result count information +type ResultCounts struct { + // SourceResultCounts: Result count information for each source with + // results. + SourceResultCounts []*SourceResultCount `json:"sourceResultCounts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SourceResultCounts") + // 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. "SourceResultCounts") 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 *ResultCounts) MarshalJSON() ([]byte, error) { + type NoMethod ResultCounts + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultDebugInfo: Debugging information about the result. +type ResultDebugInfo struct { + // FormattedDebugInfo: General debug info formatted for display. + FormattedDebugInfo string `json:"formattedDebugInfo,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FormattedDebugInfo") + // 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. "FormattedDebugInfo") 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 *ResultDebugInfo) MarshalJSON() ([]byte, error) { + type NoMethod ResultDebugInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultDisplayField: Display Fields for Search Results +type ResultDisplayField struct { + // Label: The display label for the property. + Label string `json:"label,omitempty"` + + // OperatorName: The operator name of the property. + OperatorName string `json:"operatorName,omitempty"` + + // Property: The name value pair for the property. + Property *NamedProperty `json:"property,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Label") 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. "Label") 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 *ResultDisplayField) MarshalJSON() ([]byte, error) { + type NoMethod ResultDisplayField + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultDisplayLine: The collection of fields that make up a displayed +// line +type ResultDisplayLine struct { + Fields []*ResultDisplayField `json:"fields,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Fields") 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. "Fields") 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 *ResultDisplayLine) MarshalJSON() ([]byte, error) { + type NoMethod ResultDisplayLine + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ResultDisplayMetadata struct { + // Metalines: The metalines content to be displayed with the result. + Metalines []*ResultDisplayLine `json:"metalines,omitempty"` + + // ObjectTypeLabel: The display label for the object. + ObjectTypeLabel string `json:"objectTypeLabel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Metalines") 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. "Metalines") 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 *ResultDisplayMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ResultDisplayMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RetrievalImportance struct { + // Importance: Indicates the ranking importance given to property when + // it is matched during retrieval. Once set, the token importance of a + // property cannot be changed. + // + // Possible values: + // "DEFAULT" - Treat the match like a body text match. + // "HIGHEST" - Treat the match like a match against title of the item. + // "HIGH" - Treat the match with higher importance than body text. + // "LOW" - Treat the match with lower importance than body text. + // "NONE" - Do not match against this field during retrieval. The + // property can still be used for operator matching, faceting, and + // suggest if desired. + Importance string `json:"importance,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Importance") 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. "Importance") 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 *RetrievalImportance) MarshalJSON() ([]byte, error) { + type NoMethod RetrievalImportance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SafeUrlProto: Message containing a string that is safe to use in URL +// contexts in DOM APIs and HTML documents, where the URL context does +// not refer to a resource that loads code. +type SafeUrlProto struct { + // PrivateDoNotAccessOrElseSafeUrlWrappedValue: IMPORTANT: Never set or + // read this field, even from tests, it is private. See documentation at + // the top of .proto file for programming language packages with which + // to create or read this message. + PrivateDoNotAccessOrElseSafeUrlWrappedValue string `json:"privateDoNotAccessOrElseSafeUrlWrappedValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "PrivateDoNotAccessOrElseSafeUrlWrappedValue") 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. + // "PrivateDoNotAccessOrElseSafeUrlWrappedValue") 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 *SafeUrlProto) MarshalJSON() ([]byte, error) { + type NoMethod SafeUrlProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Schema: The schema definition for a data source. +type Schema struct { + // ObjectDefinitions: The list of top-level objects for the data source. + // The maximum number of elements is 10. + ObjectDefinitions []*ObjectDefinition `json:"objectDefinitions,omitempty"` + + // OperationIds: IDs of the Long Running Operations (LROs) currently + // running for this schema. After modifying the schema, wait for + // operations to complete before indexing additional content. + OperationIds []string `json:"operationIds,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ObjectDefinitions") + // 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. "ObjectDefinitions") 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 *Schema) MarshalJSON() ([]byte, error) { + type NoMethod Schema + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ScoringConfig: Scoring configurations for a source while processing a +// Search or Suggest request. +type ScoringConfig struct { + // DisableFreshness: Whether to use freshness as a ranking signal. By + // default, freshness is used as a ranking signal. Note that this + // setting is not available in the Admin UI. + DisableFreshness bool `json:"disableFreshness,omitempty"` + + // DisablePersonalization: Whether to personalize the results. By + // default, personal signals will be used to boost results. + DisablePersonalization bool `json:"disablePersonalization,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisableFreshness") 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. "DisableFreshness") 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 *ScoringConfig) MarshalJSON() ([]byte, error) { + type NoMethod ScoringConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchApplication: SearchApplication +type SearchApplication struct { + // DataSourceRestrictions: Retrictions applied to the configurations. + // The maximum number of elements is 10. + DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` + + // DefaultFacetOptions: The default fields for returning facet results. + // The sources specified here also have been included in + // data_source_restrictions above. + DefaultFacetOptions []*FacetOptions `json:"defaultFacetOptions,omitempty"` + + // DefaultSortOptions: The default options for sorting the search + // results + DefaultSortOptions *SortOptions `json:"defaultSortOptions,omitempty"` + + // DisplayName: Display name of the Search Application. The maximum + // length is 300 characters. + DisplayName string `json:"displayName,omitempty"` + + // EnableAuditLog: Indicates whether audit logging is on/off for + // requests made for the search application in query APIs. + EnableAuditLog bool `json:"enableAuditLog,omitempty"` + + // Name: The name of the Search Application. Format: + // searchapplications/{application_id}. + Name string `json:"name,omitempty"` + + // OperationIds: Output only. IDs of the Long Running Operations (LROs) + // currently running for this schema. Output only field. + OperationIds []string `json:"operationIds,omitempty"` + + // QueryInterpretationConfig: The default options for query + // interpretation + QueryInterpretationConfig *QueryInterpretationConfig `json:"queryInterpretationConfig,omitempty"` + + // ReturnResultThumbnailUrls: With each result we should return the URI + // for its thumbnail (when applicable) + ReturnResultThumbnailUrls bool `json:"returnResultThumbnailUrls,omitempty"` + + // ScoringConfig: Configuration for ranking results. + ScoringConfig *ScoringConfig `json:"scoringConfig,omitempty"` + + // SourceConfig: Configuration for a sources specified in + // data_source_restrictions. + SourceConfig []*SourceConfig `json:"sourceConfig,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "DataSourceRestrictions") 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. "DataSourceRestrictions") + // 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 *SearchApplication) MarshalJSON() ([]byte, error) { + type NoMethod SearchApplication + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchApplicationQueryStats: Search application level query stats per +// date +type SearchApplicationQueryStats struct { + // Date: The date for which query stats were calculated. Stats + // calculated on the next day close to midnight are returned. + Date *Date `json:"date,omitempty"` + + QueryCountByStatus []*QueryCountByStatus `json:"queryCountByStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *SearchApplicationQueryStats) MarshalJSON() ([]byte, error) { + type NoMethod SearchApplicationQueryStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SearchApplicationSessionStats struct { + // Date: The date for which session stats were calculated. Stats are + // calculated on the following day, close to midnight PST, and then + // returned. + Date *Date `json:"date,omitempty"` + + // SearchSessionsCount: The count of search sessions on the day + SearchSessionsCount int64 `json:"searchSessionsCount,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *SearchApplicationSessionStats) MarshalJSON() ([]byte, error) { + type NoMethod SearchApplicationSessionStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SearchApplicationUserStats struct { + // Date: The date for which session stats were calculated. Stats + // calculated on the next day close to midnight are returned. + Date *Date `json:"date,omitempty"` + + // OneDayActiveUsersCount: The count of unique active users in the past + // one day + OneDayActiveUsersCount int64 `json:"oneDayActiveUsersCount,omitempty,string"` + + // SevenDaysActiveUsersCount: The count of unique active users in the + // past seven days + SevenDaysActiveUsersCount int64 `json:"sevenDaysActiveUsersCount,omitempty,string"` + + // ThirtyDaysActiveUsersCount: The count of unique active users in the + // past thirty days + ThirtyDaysActiveUsersCount int64 `json:"thirtyDaysActiveUsersCount,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *SearchApplicationUserStats) MarshalJSON() ([]byte, error) { + type NoMethod SearchApplicationUserStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SearchItemsByViewUrlRequest struct { + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // PageToken: The next_page_token value returned from a previous + // request, if any. + PageToken string `json:"pageToken,omitempty"` + + // ViewUrl: Specify the full view URL to find the corresponding item. + // The maximum length is 2048 characters. + ViewUrl string `json:"viewUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DebugOptions") 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. "DebugOptions") 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 *SearchItemsByViewUrlRequest) MarshalJSON() ([]byte, error) { + type NoMethod SearchItemsByViewUrlRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SearchItemsByViewUrlResponse struct { + Items []*Item `json:"items,omitempty"` + + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more results in the list. + 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. "Items") 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. "Items") 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 *SearchItemsByViewUrlResponse) MarshalJSON() ([]byte, error) { + type NoMethod SearchItemsByViewUrlResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchQualityMetadata: Additional search quality metadata of the +// item. +type SearchQualityMetadata struct { + // Quality: An indication of the quality of the item, used to influence + // search quality. Value should be between 0.0 (lowest quality) and 1.0 + // (highest quality). The default value is 0.0. + Quality float64 `json:"quality,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Quality") 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. "Quality") 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 *SearchQualityMetadata) MarshalJSON() ([]byte, error) { + type NoMethod SearchQualityMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *SearchQualityMetadata) UnmarshalJSON(data []byte) error { + type NoMethod SearchQualityMetadata + var s1 struct { + Quality gensupport.JSONFloat64 `json:"quality"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Quality = float64(s1.Quality) + return nil +} + +// SearchRequest: The search API request. +type SearchRequest struct { + // ContextAttributes: Context attributes for the request which will be + // used to adjust ranking of search results. The maximum number of + // elements is 10. + ContextAttributes []*ContextAttribute `json:"contextAttributes,omitempty"` + + // DataSourceRestrictions: The sources to use for querying. If not + // specified, all data sources from the current search application are + // used. + DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` + + FacetOptions []*FacetOptions `json:"facetOptions,omitempty"` + + // PageSize: Maximum number of search results to return in one page. + // Valid values are between 1 and 100, inclusive. Default value is 10. + // Minimum value is 50 when results beyond 2000 are requested. + PageSize int64 `json:"pageSize,omitempty"` + + // Query: The raw query string. See supported search operators in the + // Narrow your search with operators + // (https://support.google.com/cloudsearch/answer/6172299) + Query string `json:"query,omitempty"` + + // QueryInterpretationOptions: Options to interpret the user query. + QueryInterpretationOptions *QueryInterpretationOptions `json:"queryInterpretationOptions,omitempty"` + + // RequestOptions: Request options, such as the search application and + // user timezone. + RequestOptions *RequestOptions `json:"requestOptions,omitempty"` + + // SortOptions: The options for sorting the search results + SortOptions *SortOptions `json:"sortOptions,omitempty"` + + // Start: Starting index of the results. + Start int64 `json:"start,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContextAttributes") + // 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. "ContextAttributes") 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 *SearchRequest) MarshalJSON() ([]byte, error) { + type NoMethod SearchRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchResponse: The search API response. +type SearchResponse struct { + // DebugInfo: Debugging information about the response. + DebugInfo *ResponseDebugInfo `json:"debugInfo,omitempty"` + + // ErrorInfo: Error information about the response. + ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"` + + // FacetResults: Repeated facet results. + FacetResults []*FacetResult `json:"facetResults,omitempty"` + + // HasMoreResults: Whether there are more search results matching the + // query. + HasMoreResults bool `json:"hasMoreResults,omitempty"` + + // QueryInterpretation: Query interpretation result for user query. + // Empty if query interpretation is disabled. + QueryInterpretation *QueryInterpretation `json:"queryInterpretation,omitempty"` + + // ResultCountEstimate: The estimated result count for this query. + ResultCountEstimate int64 `json:"resultCountEstimate,omitempty,string"` + + // ResultCountExact: The exact result count for this query. + ResultCountExact int64 `json:"resultCountExact,omitempty,string"` + + // ResultCounts: Expanded result count information. + ResultCounts *ResultCounts `json:"resultCounts,omitempty"` + + // Results: Results from a search query. + Results []*SearchResult `json:"results,omitempty"` + + // SpellResults: Suggested spelling for the query. + SpellResults []*SpellResult `json:"spellResults,omitempty"` + + // StructuredResults: Structured results for the user query. These + // results are not counted against the page_size. + StructuredResults []*StructuredResult `json:"structuredResults,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DebugInfo") 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. "DebugInfo") 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 *SearchResponse) MarshalJSON() ([]byte, error) { + type NoMethod SearchResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchResult: Results containing indexed information for a document. +type SearchResult struct { + // ClusteredResults: If source is clustered, provide list of clustered + // results. There will only be one level of clustered results. If + // current source is not enabled for clustering, this field will be + // empty. + ClusteredResults []*SearchResult `json:"clusteredResults,omitempty"` + + // DebugInfo: Debugging information about this search result. + DebugInfo *ResultDebugInfo `json:"debugInfo,omitempty"` + + // Metadata: Metadata of the search result. + Metadata *Metadata `json:"metadata,omitempty"` + + // Snippet: The concatenation of all snippets (summaries) available for + // this result. + Snippet *Snippet `json:"snippet,omitempty"` + + // Title: Title of the search result. + Title string `json:"title,omitempty"` + + // Url: The URL of the search result. The URL contains a Google redirect + // to the actual item. This URL is signed and shouldn't be changed. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusteredResults") 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. "ClusteredResults") 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 *SearchResult) MarshalJSON() ([]byte, error) { + type NoMethod SearchResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Section: Sections are separated by a line divider. They contain a +// collection of widgets that are rendered (vertically) in the order +// that they are specified. Across all platforms, AddOns have a narrow +// fixed width, so there is currently no need for layout properties +// (e.g. float). +type Section struct { + // Collapsable: Indicating whether this section is collapsable. If a + // section is collapsable, the description must be given. + Collapsable bool `json:"collapsable,omitempty"` + + // Description: The header of the section, text formatted supported. + Description string `json:"description,omitempty"` + + // NumUncollapsableWidgets: The number of uncollapsable widgets. For + // example, when a section contains 5 widgets and the + // num_uncollapsable_widget are set to be 2, The first 2 widgets will + // always shown and the last 3 is collapsed as default. Only when + // collapsable is set to be true, the num_uncollapsable_widget will be + // taken into account. + NumUncollapsableWidgets int64 `json:"numUncollapsableWidgets,omitempty"` + + // Widgets: A section must contain at least 1 widget. + Widgets []*WidgetMarkup `json:"widgets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Collapsable") 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. "Collapsable") 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 *Section) MarshalJSON() ([]byte, error) { + type NoMethod Section + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Segment struct { + // Formatting: Formatting to be applied when rendering the Segment. For + // all segment types, this is the standard way of representing that the + // Segment should be rendered in bold, italics, etc. + Formatting *Formatting `json:"formatting,omitempty"` + + // HashtagData: For HASHTAG type: + HashtagData *HashtagData `json:"hashtagData,omitempty"` + + // LinkData: Type-specific metadata. At most one of these should be + // populated, and the one that is populated should correspond to the + // type of the Segment. For LINK type: + LinkData *LinkData `json:"linkData,omitempty"` + + // Text: Text content of the Segment. As a general rule, this field + // should contain the actual text that should be rendered in the UI. + // Thus, for a hashtag, it should be "#Foo", and for a link, it should + // be the display text. Clients that do not understand a particular + // segment type may use this text, along with the Formatting info below, + // as a fallback for display. The field is not required -- if all + // relevant information is carried in other metadata fields and there is + // no need for a fallback, or it is not practical for a fallback to be + // provided for any other reason, the field may be left blank. A + // standard example would be a user reference being transmitted between + // server layers, where a gaia-ID representation may be sufficient and + // there is no need for a textual fallback. In such a case, it would be + // valid and useful - though not required - for servers to compute and + // populate a fallback on the serving path. + Text string `json:"text,omitempty"` + + // Type: Type of Segment. + // + // Possible values: + // "TEXT" - A TEXT segment represents plain-text subject to particular + // formatting constraints (as represented in the "formatting" field of + // the Segment). + // "LINE_BREAK" - A LINE_BREAK segment is simply a placeholder to + // represent a line break between other segments. The "text" variable + // may be set to a newline as a fallback, but clients that understand + // this segment type should simply insert a line break without needing + // to reference any fields. + // "LINK" - A LINK segment represents a link to a web entity. The + // "text" field should be used for anchor text. Additional link data + // should be put in the link_data protobuf. + // "USER_MENTION" - A USER_MENTION segment represents a reference to a + // (possibly non-Gaia, possibly off-network) user. The "text" field may + // be populated as a fallback, but information identifying the user + // should be contained in the user_mention_data protobuf. (The set of + // fields that are populated in user_mention_data may differ depending + // on the context in which the segment is viewed, but the interpretation + // of the fields is uniform. See comments over UserMentionData). + // "ALL_USER_MENTION" - An ALL_USER_MENTION segment represents a + // reference to all users in the context, that is, the conversation, + // discussion, or other context containing the segment. For example, an + // ALL_USER_MENTION segment ("@all") can be useful to ping all + // participants in a conversation if the notification setting of the + // conversation is not set to ping on normal messages. An + // ALL_USER_MENTION should be treated as a USER_MENTION for all users + // who receives the segment. + // "HASHTAG" - A HASHTAG segment represents a structured reference to + // a topic. The "text" field should represent display text (e.g. + // "#Google"), and additional metadata should be put in the Segment's + // hashtag_data field. + Type string `json:"type,omitempty"` + + // UserMentionData: For USER_MENTION type: + UserMentionData *UserMentionData `json:"userMentionData,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Formatting") 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 @@ -5036,78 +18885,44 @@ type PropertyDisplayOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayLabel") 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. "Formatting") 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 *PropertyDisplayOptions) MarshalJSON() ([]byte, error) { - type NoMethod PropertyDisplayOptions +func (s *Segment) MarshalJSON() ([]byte, error) { + type NoMethod Segment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PushItem: Represents an item to be pushed to the indexing queue. -type PushItem struct { - // ContentHash: Content hash of the item according to the repository. If - // specified, this is used to determine how to modify this item's - // status. Setting this field and the type field results in argument - // error. The maximum length is 2048 characters. - ContentHash string `json:"contentHash,omitempty"` - - // MetadataHash: The metadata hash of the item according to the - // repository. If specified, this is used to determine how to modify - // this item's status. Setting this field and the type field results in - // argument error. The maximum length is 2048 characters. - MetadataHash string `json:"metadataHash,omitempty"` - - // Payload: Provides additional document state information for the - // connector, such as an alternate repository ID and other metadata. The - // maximum length is 8192 bytes. - Payload string `json:"payload,omitempty"` +type SelectionControl struct { + // Items: For radio button, at most one of the items will be selected. + Items []*SelectionItem `json:"items,omitempty"` - // Queue: Queue to which this item belongs. The `default` queue is - // chosen if this field is not specified. The maximum length is 512 - // characters. - Queue string `json:"queue,omitempty"` + // Label: Label used to be displayed ahead of the selection control. It + // is optional. + Label string `json:"label,omitempty"` - // RepositoryError: Populate this field to store Connector or repository - // error details. This information is displayed in the Admin Console. - // This field may only be populated when the Type is REPOSITORY_ERROR. - RepositoryError *RepositoryError `json:"repositoryError,omitempty"` + // Name: The name of the text field which is will be used in FormInput. + Name string `json:"name,omitempty"` - // StructuredDataHash: Structured data hash of the item according to the - // repository. If specified, this is used to determine how to modify - // this item's status. Setting this field and the type field results in - // argument error. The maximum length is 2048 characters. - StructuredDataHash string `json:"structuredDataHash,omitempty"` + // OnChange: If specified, form is submitted when selection changed. If + // not specified, developer will need to specify a separate button. + OnChange *FormAction `json:"onChange,omitempty"` - // Type: The type of the push operation that defines the push behavior. - // // Possible values: - // "UNSPECIFIED" - Default UNSPECIFIED. Specifies that the push - // operation should not modify ItemStatus - // "MODIFIED" - Indicates that the repository document has been - // modified or updated since the previous update call. This changes - // status to MODIFIED state for an existing item. If this is called on a - // non existing item, the status is changed to NEW_ITEM. - // "NOT_MODIFIED" - Item in the repository has not been modified since - // the last update call. This push operation will set status to ACCEPTED - // state. - // "REPOSITORY_ERROR" - Connector is facing a repository error - // regarding this item. Change status to REPOSITORY_ERROR state. Item is - // unreserved and rescheduled at a future time determined by exponential - // backoff. - // "REQUEUE" - Call push with REQUEUE only for items that have been - // reserved. This action unreserves the item and resets its available - // time to the wall clock time. + // "CHECK_BOX" + // "RADIO_BUTTON" + // "SWITCH" + // "DROPDOWN" Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContentHash") to + // ForceSendFields is a list of field names (e.g. "Items") 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 @@ -5115,33 +18930,35 @@ type PushItem struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentHash") 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. "Items") 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 *PushItem) MarshalJSON() ([]byte, error) { - type NoMethod PushItem +func (s *SelectionControl) MarshalJSON() ([]byte, error) { + type NoMethod SelectionControl raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type PushItemRequest struct { - // ConnectorName: The name of connector making this call. Format: - // datasources/{source_id}/connectors/{ID} - ConnectorName string `json:"connectorName,omitempty"` +type SelectionItem struct { + // Selected: If more than one items are selected for RADIO_BUTTON and + // DROPDOWN, the first selected item is treated as sElected and the + // after ones are all ignored. + Selected bool `json:"selected,omitempty"` - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + // Text: The text to be displayed. + Text string `json:"text,omitempty"` - // Item: Item to push onto the queue. - Item *PushItem `json:"item,omitempty"` + // Value: The value associated with this item which will be sent back to + // app scripts. Client should use as a form input value. + Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConnectorName") to + // ForceSendFields is a list of field names (e.g. "Selected") 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 @@ -5149,28 +18966,55 @@ type PushItemRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConnectorName") 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. "Selected") 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 *PushItemRequest) MarshalJSON() ([]byte, error) { - type NoMethod PushItemRequest +func (s *SelectionItem) MarshalJSON() ([]byte, error) { + type NoMethod SelectionItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type QueryCountByStatus struct { - Count int64 `json:"count,omitempty,string"` +// SessionEvent: A session event is something that happens to the +// streaming session in a conference. +type SessionEvent struct { + // DeviceId: The initiator of the latest event of the streaming session. + // It will be set for all user events (`type` is 100-199) and unset for + // all server events(`type` is 200-299). + DeviceId string `json:"deviceId,omitempty"` - // StatusCode: This represents the http status code. - StatusCode int64 `json:"statusCode,omitempty"` + // Type: The type of event. + // + // Possible values: + // "EVENT_UNSPECIFIED" - This is never used. + // "STARTED_BY_USER" - Streaming session was started or is being + // started by a user. + // "STOPPED_BY_USER" - Streaming session was stopped by a user. + // "CANCELLED_BY_USER" - Streaming session was cancelled by a user. + // "CANCELLED_INITIALIZATION_FAILED" - Streaming session was cancelled + // by the server because of a failure during session initialization. + // "CANCELLED_INITIATOR_LEFT" - Streaming session was cancelled by the + // server because the session initiator left the conference during + // initialization. When the initiator leaves after the session is + // started, no event is triggered. + // "ACTIVE_ABOUT_TO_STOP_TOO_LONG" - Streaming session is about to be + // stopped by the server because the session is about to reach the + // maximum duration. + // "STOPPED_TOO_LONG" - Streaming session was stopped because the + // session reached the maximum duration. + // "STOPPED_ALL_DEVICES_LEFT" - Streaming session was stopped because + // there were no devices left in the conference. + // "STOPPED_INTERNAL_FAILURES" - Streaming session was stopped because + // of an internal error. + Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Count") to + // ForceSendFields is a list of field names (e.g. "DeviceId") 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 @@ -5178,8 +19022,8 @@ type QueryCountByStatus struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Count") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "DeviceId") 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. @@ -5187,164 +19031,244 @@ type QueryCountByStatus struct { NullFields []string `json:"-"` } -func (s *QueryCountByStatus) MarshalJSON() ([]byte, error) { - type NoMethod QueryCountByStatus +func (s *SessionEvent) MarshalJSON() ([]byte, error) { + type NoMethod SessionEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type QueryInterpretation struct { - // Possible values: - // "NONE" - Neither the natural language interpretation, nor a broader - // version of the query is used to fetch the search results. - // "BLEND" - The results from original query are blended with other - // results. The reason for blending these other results with the results - // from original query is populated in the 'Reason' field below. - // "REPLACE" - The results from original query are replaced. The - // reason for replacing the results from original query is populated in - // the 'Reason' field below. - InterpretationType string `json:"interpretationType,omitempty"` +// SessionStateInfo: Information about the state of a (recording, +// broadcast, transcription...) session in a conference. +type SessionStateInfo struct { + // AckInfo: Output only. The ack info of the session. + AckInfo *AckInfo `json:"ackInfo,omitempty"` - // InterpretedQuery: The interpretation of the query used in search. For - // example, queries with natural language intent like "email from john" - // will be interpreted as "from:john source:mail". This field will not - // be filled when the reason is NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. - InterpretedQuery string `json:"interpretedQuery,omitempty"` + // LanguageConfig: Immutable. The language configuration used by this + // session. When empty, captions will be disabled. It's a required field + // for transcription sessions. + LanguageConfig *LanguageConfig `json:"languageConfig,omitempty"` - // Reason: The reason for interpretation of the query. This field will - // not be UNSPECIFIED if the interpretation type is not NONE. + // LastActorDeviceId: Output only. The device id of the actor is set if + // the current state is a result of a user action, is empty otherwise. + LastActorDeviceId string `json:"lastActorDeviceId,omitempty"` + + // MaxEndTime: Output only. The max end time of the session, at this + // time the session will be force stopped/terminated. Clients are + // expected to use this timestamp to warn users about the force stop. + MaxEndTime string `json:"maxEndTime,omitempty"` + + // SessionState: State of the session. // // Possible values: - // "UNSPECIFIED" - // "QUERY_HAS_NATURAL_LANGUAGE_INTENT" - Natural language - // interpretation of the query is used to fetch the search results. - // "NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY" - Query and document - // terms similarity is used to selectively broaden the query to retrieve - // additional search results since enough results were not found for the - // user query. Interpreted query will be empty for this case. - Reason string `json:"reason,omitempty"` - - // ForceSendFields is a list of field names (e.g. "InterpretationType") - // to unconditionally include in API requests. By default, fields with + // "SESSION_STATE_UNSPECIFIED" - Unspecified session state. + // "STARTING" - The session is starting. + // "ACTIVE" - The session is active/ongoing. + // "STOPPED" - The session has stopped. + SessionState string `json:"sessionState,omitempty"` + + // SessionStopReason: Output only. The reason the session was + // transitioned to STOPPED state. + // + // Possible values: + // "SESSION_STOP_REASON_UNSPECIFIED" - Session stop reason + // unspecified. + // "USER_ACTION" - Stopped by user action. + // "STOPPED_INITIALIZATION_FAILED" - Stopped by the server because of + // an initialization failure. + // "STOPPED_TOO_LONG" - Stopped because the session reached the + // maximum duration. + // "STOPPED_ALL_DEVICES_LEFT" - Stopped because there were no devices + // left in the conference. + // "STOPPED_INTERNAL_FAILURES" - Stopped because of an internal error. + // "STOPPED_YOU_TUBE_LIVE_EVENT_ENDED" - Stopped because the broadcast + // event ended on YouTube. + SessionStopReason string `json:"sessionStopReason,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AckInfo") 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. "InterpretationType") 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. "AckInfo") 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 *QueryInterpretation) MarshalJSON() ([]byte, error) { - type NoMethod QueryInterpretation +func (s *SessionStateInfo) MarshalJSON() ([]byte, error) { + type NoMethod SessionStateInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QueryInterpretationConfig: Default options to interpret user query. -type QueryInterpretationConfig struct { - // ForceDisableSupplementalResults: Set this flag to disable - // supplemental results retrieval, setting a flag here will not retrieve - // supplemental results for queries associated with a given search - // application. If this flag is set to True, it will take precedence - // over the option set at Query level. For the default value of False, - // query level flag will set the correct interpretation for supplemental - // results. - ForceDisableSupplementalResults bool `json:"forceDisableSupplementalResults,omitempty"` +// Settings: Settings of a meeting space that can be viewed and edited +// by users with permissions. These settings are always populated for +// output. +type Settings struct { + // AccessLock: The access lock of the meeting space that lets owner + // control who can join the meeting. True if the access lock feature is + // enabled for the meeting space. + AccessLock bool `json:"accessLock,omitempty"` - // ForceVerbatimMode: Enable this flag to turn off all internal - // optimizations like natural language (NL) interpretation of queries, - // supplemental results retrieval, and usage of synonyms including - // custom ones. If this flag is set to True, it will take precedence - // over the option set at Query level. For the default value of False, - // query level flag will set the correct interpretation for verbatim - // mode. - ForceVerbatimMode bool `json:"forceVerbatimMode,omitempty"` + // AttendanceReportEnabled: Whether attendance report is enabled for the + // meeting space. + AttendanceReportEnabled bool `json:"attendanceReportEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ForceDisableSupplementalResults") 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. + // ChatLock: The chat lock of the meeting space that lets owner control + // whether the participants can send chat messages. True if the chat + // lock feature is enabled for the meeting space. + ChatLock bool `json:"chatLock,omitempty"` + + // CohostArtifactSharingEnabled: Whether meeting artifacts will be + // shared with co-hosts. + CohostArtifactSharingEnabled bool `json:"cohostArtifactSharingEnabled,omitempty"` + + // CseEnabled: Whether Client-side Encryption is enabled for the meeting + // space. + CseEnabled bool `json:"cseEnabled,omitempty"` + + // DefaultAsViewer: Whether the default role is viewer or not. + DefaultAsViewer bool `json:"defaultAsViewer,omitempty"` + + // ModerationEnabled: Indicates whether the meeting space is moderated. + // go/meet-multimod-dd + ModerationEnabled bool `json:"moderationEnabled,omitempty"` + + // PresentLock: The present lock of the meeting space that lets owner + // control whether the participants can present their screen. True if + // the present lock feature is enabled for the meeting space. + PresentLock bool `json:"presentLock,omitempty"` + + // ReactionsLock: The reactions lock of the meeting space that lets + // owner control whether the participants can send reactions. True if + // the reactions lock feature is enabled for the meeting space. + ReactionsLock bool `json:"reactionsLock,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccessLock") 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. - // "ForceDisableSupplementalResults") 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. "AccessLock") 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 *QueryInterpretationConfig) MarshalJSON() ([]byte, error) { - type NoMethod QueryInterpretationConfig +func (s *Settings) MarshalJSON() ([]byte, error) { + type NoMethod Settings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QueryInterpretationOptions: Options to interpret user query. -type QueryInterpretationOptions struct { - // DisableNlInterpretation: Flag to disable natural language (NL) - // interpretation of queries. Default is false, Set to true to disable - // natural language interpretation. NL interpretation only applies to - // predefined datasources. - DisableNlInterpretation bool `json:"disableNlInterpretation,omitempty"` +type ShareScope struct { + // Domain: If scope is DOMAIN, this field contains the dasher domain, + // for example "google.com". + Domain string `json:"domain,omitempty"` + + // Scope: The scope to which the content was shared. + // + // Possible values: + // "UNKNOWN" + // "PRIVATE" - Only the author can view the post. + // "LIMITED" - Viewable only by a set of people. + // "EXTENDED" - Viewable by extended circles. + // "DASHER_DOMAIN" + // "PUBLIC" + Scope string `json:"scope,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Domain") 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. "Domain") 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 *ShareScope) MarshalJSON() ([]byte, error) { + type NoMethod ShareScope + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // DisableSupplementalResults: Use this flag to disable supplemental - // results for a query. Supplemental results setting chosen at - // SearchApplication level will take precedence if set to True. - DisableSupplementalResults bool `json:"disableSupplementalResults,omitempty"` +// SigningKeyPossessorProto: Represents a principal who possesses a +// signing key corresponding to the verification key or keyset described +// here. +type SigningKeyPossessorProto struct { + // KeymasterKeyType: This value must be from the KeyMetadata.Type enum + // in keymaster.proto. + KeymasterKeyType int64 `json:"keymasterKeyType,omitempty"` - // EnableVerbatimMode: Enable this flag to turn off all internal - // optimizations like natural language (NL) interpretation of queries, - // supplemental result retrieval, and usage of synonyms including custom - // ones. Nl interpretation will be disabled if either one of the two - // flags is true. - EnableVerbatimMode bool `json:"enableVerbatimMode,omitempty"` + // SerializedVerificationKey: The actual verification key bytes + // corresponding to the above type. + SerializedVerificationKey string `json:"serializedVerificationKey,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DisableNlInterpretation") 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. + // SerializedVerificationKeyset: The binary serialized Keymaster + // SerializedReader of a public keyset. The keyset must contain exactly + // one key. N.B.: If this field is populated, + // serialized_verification_key should be set to the empty string and + // keymaster_key_type should be set to zero. + SerializedVerificationKeyset string `json:"serializedVerificationKeyset,omitempty"` + + // ForceSendFields is a list of field names (e.g. "KeymasterKeyType") 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. "DisableNlInterpretation") - // 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. "KeymasterKeyType") 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 *QueryInterpretationOptions) MarshalJSON() ([]byte, error) { - type NoMethod QueryInterpretationOptions +func (s *SigningKeyPossessorProto) MarshalJSON() ([]byte, error) { + type NoMethod SigningKeyPossessorProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QueryItem: Information relevant only to a query entry. -type QueryItem struct { - // IsSynthetic: True if the text was generated by means other than a - // previous user search. - IsSynthetic bool `json:"isSynthetic,omitempty"` +// SimpleSecretHolderProto: Represents a principal which possesses a +// particular, presumably secret, string. Useful for things like "auth +// keys," used for anonymous sharing. Since representing this principal +// with the actual secret included reveals the secret, it's best if the +// requisite condition is enforced in some other way, for example via +// Keystore wrapping attributes (Keystore will unwrap only if the +// specified secret, aka "attribute", is presented). All that's stored +// here is an identifying label. +type SimpleSecretHolderProto struct { + // Label: A descriptive label to help identify a relevant ACL entry or + // otherwise disambiguate this instance. + Label *SimpleSecretLabelProto `json:"label,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsSynthetic") to + // ForceSendFields is a list of field names (e.g. "Label") 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 @@ -5352,80 +19276,87 @@ type QueryItem struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsSynthetic") 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. "Label") 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 *QueryItem) MarshalJSON() ([]byte, error) { - type NoMethod QueryItem +func (s *SimpleSecretHolderProto) MarshalJSON() ([]byte, error) { + type NoMethod SimpleSecretHolderProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QueryOperator: The definition of a operator that can be used in a -// Search/Suggest request. -type QueryOperator struct { - // DisplayName: Display name of the operator - DisplayName string `json:"displayName,omitempty"` - - // EnumValues: Potential list of values for the opeatror field. This - // field is only filled when we can safely enumerate all the possible - // values of this operator. - EnumValues []string `json:"enumValues,omitempty"` - - // GreaterThanOperatorName: Indicates the operator name that can be used - // to isolate the property using the greater-than operator. - GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` - - // IsFacetable: Can this operator be used to get facets. - IsFacetable bool `json:"isFacetable,omitempty"` - - // IsRepeatable: Indicates if multiple values can be set for this - // property. - IsRepeatable bool `json:"isRepeatable,omitempty"` - - // IsReturnable: Will the property associated with this facet be - // returned as part of search results. - IsReturnable bool `json:"isReturnable,omitempty"` - - // IsSortable: Can this operator be used to sort results. - IsSortable bool `json:"isSortable,omitempty"` - - // IsSuggestable: Can get suggestions for this field. - IsSuggestable bool `json:"isSuggestable,omitempty"` - - // LessThanOperatorName: Indicates the operator name that can be used to - // isolate the property using the less-than operator. - LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` - - // ObjectType: The name of the object corresponding to the operator. - // This field is only filled for schema-specific operators, and is unset - // for common operators. - ObjectType string `json:"objectType,omitempty"` - - // OperatorName: The name of the operator. - OperatorName string `json:"operatorName,omitempty"` - - // Type: The type of the operator. +// SimpleSecretLabelProto: SimpleSecretProto (in authenticator.proto) +// and SimpleSecretHolderProto (below) share the notion of a "label", +// which identifies a particular secret without (hopefully) revealing +// the secret. Note that a SimpleSecretLabel only disambiguates between +// secrets used to get access to some particular object. Two different +// secrets that apply to two different objects could have the same +// label. For example, in the common sharing model, each object has no +// more than one "auth key". Therefore, the label for an auth key simply +// has type = AUTH_KEY with no additional information. In theory, we +// could add some sort of resource ID to SimpleSecretLabel to make it +// more explicit. However, in practice, this is never really needed. A +// SimpleSecret for one object is never used to authorize a request on +// some other object, so there is no ambiguity. Also, since +// SimpleSecrets must obviously be unguessable, there is no risk that a +// SimpleSecret intended for one object will accidentally grant access +// to another. +type SimpleSecretLabelProto struct { + // CapabilityId: ***DEPRECATED (3-Oct-2011) *** This field should be + // deleted when code stops using CAP_TOKEN labels. Used when type = + // CAP_TOKEN. When a CAP_TOKEN label appears in a SimpleSecretHolder + // Principal, |capability_id| must be filled in to identify one of the + // capabilities on the ACL. When a CAP_TOKEN label appears in a + // SimpleSecret Authenticator, it is NOT necessary to fill in + // |capability_id| -- ACL Service will find the ID by searching all + // capabilities on the ACL for one associated with the token given by + // the SimpleSecret's secret data. If |capability_id| is specified, + // though, then the Authenticator will only be accepted if it actually + // matches that particular token ID. + CapabilityId int64 `json:"capabilityId,omitempty"` + + // GenericLabel: Used when type = GENERIC_SECRET + GenericLabel string `json:"genericLabel,omitempty"` + + // InviteId: Used when type == INVITE. + InviteId int64 `json:"inviteId,omitempty,string"` + + // Type: This is optional because required enums cannot be extended. // // Possible values: - // "UNKNOWN" - Invalid value. - // "INTEGER" - // "DOUBLE" - // "TIMESTAMP" - // "BOOLEAN" - // "ENUM" - // "DATE" - // "TEXT" - // "HTML" + // "INVALID" - Used as a default value. + // "AUTH_KEY" - The singleton auth key for a common-sharing ACL. No + // other fields of SimpleSecretLabelProto need to be filled in, since + // there is only one of these per ACL. The corresponding secret is the + // auth key encoded in 64-bit big-endian. + // "INVITE" - A common-sharing invite token. |invite_id| (below) must + // be set to identify the invite. The corresponding secret is the + // SecretMaterial, as defined by InviteToken.SecretMaterial in + // acl.proto, encoded in 64-bit big-endian. If there is no + // SecretMaterial, the secret should be omitted; in this case the invite + // ID itself is the secret, which is less secure. + // "GENERIC_SECRET" - A generic secret value. Do not use this if any + // more specific type is appropriate. + // "CAP_TOKEN" - ***DEPRECATED (3-Oct-2011)*** Use the new + // CapTokenProto and CapTokenHolderProto instead. A capability token. + // The corresponding secret is an arbitrary-length random byte string + // (recommended: 128 bits). |capability_id| may be filled in (see + // below). See CapTokenMetadata in acl.proto. + // "REKE" - Identifies a principal that can perform a successful REKE + // handshake. The holder is not authenticated by presenting a + // SimpleSecretProto, but rather by knowing either the REKE resumption + // ticket secret or the private key corresponding to a public key + // specified outside the PrincipalProto. For more information, see: + // http://goto.google.com/loas2cert Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "CapabilityId") 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 @@ -5433,7 +19364,7 @@ type QueryOperator struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "CapabilityId") 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 @@ -5442,29 +19373,24 @@ type QueryOperator struct { NullFields []string `json:"-"` } -func (s *QueryOperator) MarshalJSON() ([]byte, error) { - type NoMethod QueryOperator +func (s *SimpleSecretLabelProto) MarshalJSON() ([]byte, error) { + type NoMethod SimpleSecretLabelProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QuerySource: List of sources that the user can search using the query -// API. -type QuerySource struct { - // DisplayName: Display name of the data source. - DisplayName string `json:"displayName,omitempty"` - - // Operators: List of all operators applicable for this source. - Operators []*QueryOperator `json:"operators,omitempty"` - - // ShortName: A short name or alias for the source. This value can be - // used with the 'source' operator. - ShortName string `json:"shortName,omitempty"` +// Snippet: Snippet of the search result, which summarizes the content +// of the resulting page. +type Snippet struct { + // MatchRanges: The matched ranges in the snippet. + MatchRanges []*MatchRange `json:"matchRanges,omitempty"` - // Source: The name of the source - Source *Source `json:"source,omitempty"` + // Snippet: The snippet of the document. The snippet of the document. + // May contain escaped HTML character that should be unescaped prior to + // rendering. + Snippet string `json:"snippet,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // ForceSendFields is a list of field names (e.g. "MatchRanges") 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 @@ -5472,7 +19398,7 @@ type QuerySource struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include + // NullFields is a list of field names (e.g. "MatchRanges") 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 @@ -5481,49 +19407,25 @@ type QuerySource struct { NullFields []string `json:"-"` } -func (s *QuerySource) MarshalJSON() ([]byte, error) { - type NoMethod QuerySource +func (s *Snippet) MarshalJSON() ([]byte, error) { + type NoMethod Snippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// QuerySuggestion: This field does not contain anything as of now and -// is just used as an indicator that the suggest result was a phrase -// completion. -type QuerySuggestion struct { -} - -// RepositoryError: Errors when the connector is communicating to the -// source repository. -type RepositoryError struct { - // ErrorMessage: Message that describes the error. The maximum allowable - // length of the message is 8192 characters. - ErrorMessage string `json:"errorMessage,omitempty"` - - // HttpStatusCode: Error codes. Matches the definition of HTTP status - // codes. - HttpStatusCode int64 `json:"httpStatusCode,omitempty"` +// SocialGraphNodeProto: Represents a user pseudonym. Pseudonyms are +// linked accounts on Google and third-party services (e.g. YouTube or +// Twitter) and are described by a Social Graph Node. +type SocialGraphNodeProto struct { + // SgnDomain: The fields from + // ccc/socialgraph/socialgraphnode.proto:SgnNode that uniquely identify + // a social graph node. The 'ident' field is not included here because + // its value can be changed. + SgnDomain string `json:"sgnDomain,omitempty"` - // Type: The type of error. - // - // Possible values: - // "UNKNOWN" - Unknown error. - // "NETWORK_ERROR" - Unknown or unreachable host. - // "DNS_ERROR" - DNS problem, such as the DNS server is not - // responding. - // "CONNECTION_ERROR" - Cannot connect to the repository server. - // "AUTHENTICATION_ERROR" - Failed authentication due to incorrect - // credentials. - // "AUTHORIZATION_ERROR" - Service account is not authorized for the - // repository. - // "SERVER_ERROR" - Repository server error. - // "QUOTA_EXCEEDED" - Quota exceeded. - // "SERVICE_UNAVAILABLE" - Server temporarily unavailable. - // "CLIENT_ERROR" - Client-related error, such as an invalid request - // from the connector to the repository server. - Type string `json:"type,omitempty"` + SgnPk string `json:"sgnPk,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorMessage") to + // ForceSendFields is a list of field names (e.g. "SgnDomain") 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 @@ -5531,52 +19433,34 @@ type RepositoryError struct { // 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 + // NullFields is a list of field names (e.g. "SgnDomain") 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 *RepositoryError) MarshalJSON() ([]byte, error) { - type NoMethod RepositoryError +func (s *SocialGraphNodeProto) MarshalJSON() ([]byte, error) { + type NoMethod SocialGraphNodeProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RequestOptions: Shared request options for all RPC methods. -type RequestOptions struct { - // DebugOptions: Debug options of the request - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - - // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". - // For more information, see - // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For - // translations. Set this field using the language set in browser or for - // the page. In the event that the user's language preference is known, - // set this field to the known user language. When specified, the - // documents in search results are biased towards the specified - // language. The suggest API does not use this parameter. Instead, - // suggest autocompletes only based on characters in the query. - LanguageCode string `json:"languageCode,omitempty"` - - // SearchApplicationId: The ID generated when you create a search - // application using the admin console - // (https://support.google.com/a/answer/9043922). - SearchApplicationId string `json:"searchApplicationId,omitempty"` +type SortOptions struct { + // OperatorName: The name of the operator corresponding to the field to + // sort on. The corresponding property must be marked as sortable. + OperatorName string `json:"operatorName,omitempty"` - // TimeZone: Current user's time zone id, such as "America/Los_Angeles" - // or "Australia/Sydney". These IDs are defined by Unicode Common Locale - // Data Repository (CLDR) (http://cldr.unicode.org/) project, and - // currently available in the file timezone.xml - // (http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This - // field is used to correctly interpret date and time queries. If this - // field is not specified, the default time zone (UTC) is used. - TimeZone string `json:"timeZone,omitempty"` + // SortOrder: Ascending is the default sort order + // + // Possible values: + // "ASCENDING" + // "DESCENDING" + SortOrder string `json:"sortOrder,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugOptions") to + // ForceSendFields is a list of field names (e.g. "OperatorName") 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 @@ -5584,7 +19468,7 @@ type RequestOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugOptions") to include + // NullFields is a list of field names (e.g. "OperatorName") 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 @@ -5593,17 +19477,36 @@ type RequestOptions struct { NullFields []string `json:"-"` } -func (s *RequestOptions) MarshalJSON() ([]byte, error) { - type NoMethod RequestOptions +func (s *SortOptions) MarshalJSON() ([]byte, error) { + type NoMethod SortOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ResetSearchApplicationRequest struct { - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` +// Source: Defines sources for the suggest/search APIs. +type Source struct { + // Name: Source name for content indexed by the Indexing API. + Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugOptions") to + // PredefinedSource: Predefined content source for Google Apps. + // + // Possible values: + // "NONE" + // "QUERY_HISTORY" - Suggests queries issued by the user in the past. + // Only valid when used with the suggest API. Ignored when used in the + // query API. + // "PERSON" - Suggests people in the organization. Only valid when + // used with the suggest API. Results in an error when used in the query + // API. + // "GOOGLE_DRIVE" + // "GOOGLE_GMAIL" + // "GOOGLE_SITES" + // "GOOGLE_GROUPS" + // "GOOGLE_CALENDAR" + // "GOOGLE_KEEP" + PredefinedSource string `json:"predefinedSource,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -5611,35 +19514,42 @@ type ResetSearchApplicationRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugOptions") 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. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *ResetSearchApplicationRequest) MarshalJSON() ([]byte, error) { - type NoMethod ResetSearchApplicationRequest +func (s *Source) MarshalJSON() ([]byte, error) { + type NoMethod Source raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResponseDebugInfo: Debugging information about the response. -type ResponseDebugInfo struct { - // FormattedDebugInfo: General debug info formatted for display. - FormattedDebugInfo string `json:"formattedDebugInfo,omitempty"` +// SourceConfig: Configurations for a source while processing a Search +// or Suggest request. +type SourceConfig struct { + // CrowdingConfig: The crowding configuration for the source. + CrowdingConfig *SourceCrowdingConfig `json:"crowdingConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedDebugInfo") - // to unconditionally include in API requests. By default, fields with + // ScoringConfig: The scoring configuration for the source. + ScoringConfig *SourceScoringConfig `json:"scoringConfig,omitempty"` + + // Source: The source for which this configuration is to be used. + Source *Source `json:"source,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CrowdingConfig") 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. "FormattedDebugInfo") to + // NullFields is a list of field names (e.g. "CrowdingConfig") 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 @@ -5649,38 +19559,78 @@ type ResponseDebugInfo struct { NullFields []string `json:"-"` } -func (s *ResponseDebugInfo) MarshalJSON() ([]byte, error) { - type NoMethod ResponseDebugInfo +func (s *SourceConfig) MarshalJSON() ([]byte, error) { + type NoMethod SourceConfig raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RestrictItem: Information relevant only to a restrict entry. NextId: -// 12 -type RestrictItem struct { - DriveFollowUpRestrict *DriveFollowUpRestrict `json:"driveFollowUpRestrict,omitempty"` +// SourceCrowdingConfig: Set search results crowding limits. Crowding is +// a situation in which multiple results from the same source or host +// "crowd out" other results, diminishing the quality of search for +// users. To foster better search quality and source diversity in search +// results, you can set a condition to reduce repetitive results by +// source. +type SourceCrowdingConfig struct { + // NumResults: Maximum number of results allowed from a datasource in a + // result page as long as results from other sources are not exhausted. + // Value specified must not be negative. A default value is used if this + // value is equal to 0. To disable crowding, set the value greater than + // 100. + NumResults int64 `json:"numResults,omitempty"` - DriveLocationRestrict *DriveLocationRestrict `json:"driveLocationRestrict,omitempty"` + // NumSuggestions: Maximum number of suggestions allowed from a source. + // No limits will be set on results if this value is less than or equal + // to 0. + NumSuggestions int64 `json:"numSuggestions,omitempty"` - // DriveMimeTypeRestrict: Drive Types. - DriveMimeTypeRestrict *DriveMimeTypeRestrict `json:"driveMimeTypeRestrict,omitempty"` + // ForceSendFields is a list of field names (e.g. "NumResults") 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:"-"` - DriveTimeSpanRestrict *DriveTimeSpanRestrict `json:"driveTimeSpanRestrict,omitempty"` + // NullFields is a list of field names (e.g. "NumResults") 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:"-"` +} - // SearchOperator: The search restrict (e.g. "after:2017-09-11 - // before:2017-09-12"). - SearchOperator string `json:"searchOperator,omitempty"` +func (s *SourceCrowdingConfig) MarshalJSON() ([]byte, error) { + type NoMethod SourceCrowdingConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ForceSendFields is a list of field names (e.g. - // "DriveFollowUpRestrict") 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. +// SourceResultCount: Per source result count information. +type SourceResultCount struct { + // HasMoreResults: Whether there are more search results for this + // source. + HasMoreResults bool `json:"hasMoreResults,omitempty"` + + // ResultCountEstimate: The estimated result count for this source. + ResultCountEstimate int64 `json:"resultCountEstimate,omitempty,string"` + + // ResultCountExact: The exact result count for this source. + ResultCountExact int64 `json:"resultCountExact,omitempty,string"` + + // Source: The source the result count information is associated with. + Source *Source `json:"source,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HasMoreResults") 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. "DriveFollowUpRestrict") to + // NullFields is a list of field names (e.g. "HasMoreResults") 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 @@ -5690,27 +19640,32 @@ type RestrictItem struct { NullFields []string `json:"-"` } -func (s *RestrictItem) MarshalJSON() ([]byte, error) { - type NoMethod RestrictItem +func (s *SourceResultCount) MarshalJSON() ([]byte, error) { + type NoMethod SourceResultCount raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResultCounts: Result count information -type ResultCounts struct { - // SourceResultCounts: Result count information for each source with - // results. - SourceResultCounts []*SourceResultCount `json:"sourceResultCounts,omitempty"` +// SourceScoringConfig: Set the scoring configuration. This allows +// modifying the ranking of results for a source. +type SourceScoringConfig struct { + // SourceImportance: Importance of the source. + // + // Possible values: + // "DEFAULT" + // "LOW" + // "HIGH" + SourceImportance string `json:"sourceImportance,omitempty"` - // ForceSendFields is a list of field names (e.g. "SourceResultCounts") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "SourceImportance") 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. "SourceResultCounts") to + // NullFields is a list of field names (e.g. "SourceImportance") 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 @@ -5720,26 +19675,25 @@ type ResultCounts struct { NullFields []string `json:"-"` } -func (s *ResultCounts) MarshalJSON() ([]byte, error) { - type NoMethod ResultCounts +func (s *SourceScoringConfig) MarshalJSON() ([]byte, error) { + type NoMethod SourceScoringConfig raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResultDebugInfo: Debugging information about the result. -type ResultDebugInfo struct { - // FormattedDebugInfo: General debug info formatted for display. - FormattedDebugInfo string `json:"formattedDebugInfo,omitempty"` +type SpellResult struct { + // SuggestedQuery: The suggested spelling of the query. + SuggestedQuery string `json:"suggestedQuery,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedDebugInfo") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "SuggestedQuery") 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. "FormattedDebugInfo") to + // NullFields is a list of field names (e.g. "SuggestedQuery") 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 @@ -5749,24 +19703,33 @@ type ResultDebugInfo struct { NullFields []string `json:"-"` } -func (s *ResultDebugInfo) MarshalJSON() ([]byte, error) { - type NoMethod ResultDebugInfo +func (s *SpellResult) MarshalJSON() ([]byte, error) { + type NoMethod SpellResult raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResultDisplayField: Display Fields for Search Results -type ResultDisplayField struct { - // Label: The display label for the property. - Label string `json:"label,omitempty"` - - // OperatorName: The operator name of the property. - OperatorName string `json:"operatorName,omitempty"` - - // Property: The name value pair for the property. - Property *NamedProperty `json:"property,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Label") to +// SquareProto: Represents the set of members (of a given type) in a +// Google+ Square (see http://go/squares). A Square with default +// member_type is currently (1/2012) identical to the GaiaGroup with the +// same ID, but that is expected to change soon (see +// http://go/superglue). Support for this principal type is currently +// (1/2012) incomplete -- e.g., Keystore does not support it yet (see +// b/5703421). +type SquareProto struct { + // MemberType: The type of Square members to consider, e.g. "all + // members" vs. "owners" vs. "admins". These are defined by + // legacy_relation_id values in + // social.graph.storage.EdgeTypeEnum.EdgeType enum options in + // social/graph/storage/proto/id.proto. See square.pb (defined in + // production/config/cdd/socialgraph/mixer_config/prod/node_type_config) + // for all valid edge types associated with square. Currently required. + MemberType int64 `json:"memberType,omitempty"` + + // SquareId: Currently required. + SquareId int64 `json:"squareId,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "MemberType") 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 @@ -5774,8 +19737,8 @@ type ResultDisplayField struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Label") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "MemberType") 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. @@ -5783,18 +19746,22 @@ type ResultDisplayField struct { NullFields []string `json:"-"` } -func (s *ResultDisplayField) MarshalJSON() ([]byte, error) { - type NoMethod ResultDisplayField +func (s *SquareProto) MarshalJSON() ([]byte, error) { + type NoMethod SquareProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResultDisplayLine: The collection of fields that make up a displayed -// line -type ResultDisplayLine struct { - Fields []*ResultDisplayField `json:"fields,omitempty"` +// StartUploadItemRequest: Start upload file request. +type StartUploadItemRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Fields") to + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConnectorName") 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 @@ -5802,29 +19769,43 @@ type ResultDisplayLine struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Fields") 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. "ConnectorName") 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 *ResultDisplayLine) MarshalJSON() ([]byte, error) { - type NoMethod ResultDisplayLine +func (s *StartUploadItemRequest) MarshalJSON() ([]byte, error) { + type NoMethod StartUploadItemRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ResultDisplayMetadata struct { - // Metalines: The metalines content to be displayed with the result. - Metalines []*ResultDisplayLine `json:"metalines,omitempty"` +// Status: The `Status` type defines a logical error model that is +// suitable for different programming environments, including REST APIs +// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each +// `Status` message contains three pieces of data: error code, error +// message, and error details. You can find out more about this error +// model and how to work with it in the API Design Guide +// (https://cloud.google.com/apis/design/errors). +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` - // ObjectTypeLabel: The display label for the object. - ObjectTypeLabel string `json:"objectTypeLabel,omitempty"` + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metalines") to + // Message: A developer-facing error message, which should be in + // English. Any user-facing error message should be localized and sent + // in the google.rpc.Status.details field, or localized by the client. + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -5832,8 +19813,8 @@ type ResultDisplayMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metalines") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -5841,37 +19822,25 @@ type ResultDisplayMetadata struct { NullFields []string `json:"-"` } -func (s *ResultDisplayMetadata) MarshalJSON() ([]byte, error) { - type NoMethod ResultDisplayMetadata +func (s *Status) MarshalJSON() ([]byte, error) { + type NoMethod Status raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type RetrievalImportance struct { - // Importance: Indicates the ranking importance given to property when - // it is matched during retrieval. Once set, the token importance of a - // property cannot be changed. - // - // Possible values: - // "DEFAULT" - Treat the match like a body text match. - // "HIGHEST" - Treat the match like a match against title of the item. - // "HIGH" - Treat the match with higher importance than body text. - // "LOW" - Treat the match with lower importance than body text. - // "NONE" - Do not match against this field during retrieval. The - // property can still be used for operator matching, faceting, and - // suggest if desired. - Importance string `json:"importance,omitempty"` +type StoredParticipantId struct { + GaiaId int64 `json:"gaiaId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Importance") to + // ForceSendFields is a list of field names (e.g. "GaiaId") 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. "Importance") to include in - // API requests with the JSON null value. By default, fields with empty + + // NullFields is a list of field names (e.g. "GaiaId") 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. @@ -5879,36 +19848,27 @@ type RetrievalImportance struct { NullFields []string `json:"-"` } -func (s *RetrievalImportance) MarshalJSON() ([]byte, error) { - type NoMethod RetrievalImportance +func (s *StoredParticipantId) MarshalJSON() ([]byte, error) { + type NoMethod StoredParticipantId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Schema: The schema definition for a data source. -type Schema struct { - // ObjectDefinitions: The list of top-level objects for the data source. - // The maximum number of elements is 10. - ObjectDefinitions []*ObjectDefinition `json:"objectDefinitions,omitempty"` - - // OperationIds: IDs of the Long Running Operations (LROs) currently - // running for this schema. After modifying the schema, wait for - // operations to complete before indexing additional content. - OperationIds []string `json:"operationIds,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +// StreamViewerStats: Information about viewers of the stream. +type StreamViewerStats struct { + // EstimatedViewerCount: The estimate of the current viewer count. + EstimatedViewerCount int64 `json:"estimatedViewerCount,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ObjectDefinitions") - // 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. + // "EstimatedViewerCount") 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. "ObjectDefinitions") to + // NullFields is a list of field names (e.g. "EstimatedViewerCount") 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 @@ -5918,25 +19878,81 @@ type Schema struct { NullFields []string `json:"-"` } -func (s *Schema) MarshalJSON() ([]byte, error) { - type NoMethod Schema +func (s *StreamViewerStats) MarshalJSON() ([]byte, error) { + type NoMethod StreamViewerStats raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ScoringConfig: Scoring configurations for a source while processing a -// Search or Suggest request. -type ScoringConfig struct { - // DisableFreshness: Whether to use freshness as a ranking signal. By - // default, freshness is used as a ranking signal. Note that this - // setting is not available in the Admin UI. - DisableFreshness bool `json:"disableFreshness,omitempty"` - - // DisablePersonalization: Whether to personalize the results. By - // default, personal signals will be used to boost results. - DisablePersonalization bool `json:"disablePersonalization,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DisableFreshness") to +// StreamingSessionInfo: Information about a streaming session in +// conference. +type StreamingSessionInfo struct { + // ApplicationType: The application type of the current streaming + // session. + // + // Possible values: + // "RECORDING_APPLICATION_TYPE_UNSPECIFIED" - This is never used. + // "RECORDING" - A meeting recording saved to a video file in Google + // Drive. + // "GLIVE_STREAM" - A *Google Live* managed stream. See + // go/thor-managed-streaming. + // "BROADCAST" - A meeting broadcast. See go/thor-streaming-prd. + ApplicationType string `json:"applicationType,omitempty"` + + // LatestSessionEvent: The latest streaming session event. This can be + // used by clients to help explain what is going on, why recording + // stopped, etc. This will always be set to a valid event and consistent + // with the status. It can be set when current session is inactive to + // indicate latest event that makes current session to become inactive. + LatestSessionEvent *SessionEvent `json:"latestSessionEvent,omitempty"` + + // OwnerDisplayName: The display name of the owner of the recording + // output. It's only set when there will be uploaded recordings. + // Currently, it's only set when application type is RECORDING or + // GLIVE_STREAM. + OwnerDisplayName string `json:"ownerDisplayName,omitempty"` + + // SessionId: This is the REST name and unique identifier of this + // streaming session and has the form `spaces//recordings/` This is + // returned whenever status is either `STARTING` or `STARTED`. + SessionId string `json:"sessionId,omitempty"` + + // Status: The current status of this streaming session. This can be + // used by clients to show session status indicator and/or notification. + // + // Possible values: + // "STATUS_UNSPECIFIED" - This value is never used. + // "INACTIVE" - The streaming session is inactive. This means either + // it's not started yet or it's already stopped. + // "STARTING" - The streaming session is about to begin. The status + // will be updated to LIVE when the streaming session actually starts, + // which happens when all the backend plumbing is set up. + // "LIVE" - The streaming session is live. Any media sent to the + // conference may be included in the resulting recording/broadcast. + Status string `json:"status,omitempty"` + + // TrainingEnabled: When true, this recording may be used for training + // new transcription models. + TrainingEnabled bool `json:"trainingEnabled,omitempty"` + + // ViewerAccessPolicy: The policy that controls who can view the + // broadcast. This setting applies for broadcast session. + // + // Possible values: + // "BROADCASTING_ACCESS_POLICY_UNSPECIFIED" - Used only when broadcast + // is not enabled, or an unknown enum value is used. + // "ORGANIZATION" - Only authenticated Google accounts belonging to + // the same organization as the meeting organizer can access the + // broadcast. + // "PUBLIC" - Anyone with the broadcast view URL can access the + // broadcast. + ViewerAccessPolicy string `json:"viewerAccessPolicy,omitempty"` + + // ViewerStats: Contains information about viewers of the livestream. It + // is only set when application type is BROADCAST. + ViewerStats *StreamViewerStats `json:"viewerStats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApplicationType") 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 @@ -5944,7 +19960,7 @@ type ScoringConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisableFreshness") to + // NullFields is a list of field names (e.g. "ApplicationType") 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 @@ -5954,61 +19970,88 @@ type ScoringConfig struct { NullFields []string `json:"-"` } -func (s *ScoringConfig) MarshalJSON() ([]byte, error) { - type NoMethod ScoringConfig +func (s *StreamingSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod StreamingSessionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SearchApplication: SearchApplication -type SearchApplication struct { - // DataSourceRestrictions: Retrictions applied to the configurations. - // The maximum number of elements is 10. - DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` - - // DefaultFacetOptions: The default fields for returning facet results. - // The sources specified here also have been included in - // data_source_restrictions above. - DefaultFacetOptions []*FacetOptions `json:"defaultFacetOptions,omitempty"` +// StructuredDataObject: A structured data object consisting of named +// properties. +type StructuredDataObject struct { + // Properties: The properties for the object. The maximum number of + // elements is 1000. + Properties []*NamedProperty `json:"properties,omitempty"` - // DefaultSortOptions: The default options for sorting the search - // results - DefaultSortOptions *SortOptions `json:"defaultSortOptions,omitempty"` + // ForceSendFields is a list of field names (e.g. "Properties") 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:"-"` - // DisplayName: Display name of the Search Application. The maximum - // length is 300 characters. - DisplayName string `json:"displayName,omitempty"` + // NullFields is a list of field names (e.g. "Properties") 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:"-"` +} - // EnableAuditLog: Indicates whether audit logging is on/off for - // requests made for the search application in query APIs. - EnableAuditLog bool `json:"enableAuditLog,omitempty"` +func (s *StructuredDataObject) MarshalJSON() ([]byte, error) { + type NoMethod StructuredDataObject + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Name: The name of the Search Application. Format: - // searchapplications/{application_id}. - Name string `json:"name,omitempty"` +// StructuredResult: Structured results that are returned as part of +// search request. +type StructuredResult struct { + // Person: Representation of a person + Person *Person `json:"person,omitempty"` - // OperationIds: Output only. IDs of the Long Running Operations (LROs) - // currently running for this schema. Output only field. - OperationIds []string `json:"operationIds,omitempty"` + // ForceSendFields is a list of field names (e.g. "Person") 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:"-"` - // QueryInterpretationConfig: The default options for query - // interpretation - QueryInterpretationConfig *QueryInterpretationConfig `json:"queryInterpretationConfig,omitempty"` + // NullFields is a list of field names (e.g. "Person") 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:"-"` +} - // ReturnResultThumbnailUrls: With each result we should return the URI - // for its thumbnail (when applicable) - ReturnResultThumbnailUrls bool `json:"returnResultThumbnailUrls,omitempty"` +func (s *StructuredResult) MarshalJSON() ([]byte, error) { + type NoMethod StructuredResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ScoringConfig: Configuration for ranking results. - ScoringConfig *ScoringConfig `json:"scoringConfig,omitempty"` +// SuggestRequest: Request of suggest API. +type SuggestRequest struct { + // DataSourceRestrictions: The sources to use for suggestions. If not + // specified, the data sources are taken from the current search + // application. NOTE: Suggestions are only supported for the following + // sources: * Third-party data sources * PredefinedSource.PERSON * + // PredefinedSource.GOOGLE_DRIVE + DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` - // SourceConfig: Configuration for a sources specified in - // data_source_restrictions. - SourceConfig []*SourceConfig `json:"sourceConfig,omitempty"` + // Query: Partial query for which autocomplete suggestions will be + // shown. For example, if the query is "sea", then the server might + // return "season", "search", "seagull" and so on. + Query string `json:"query,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // RequestOptions: Request options, such as the search application and + // user timezone. + RequestOptions *RequestOptions `json:"requestOptions,omitempty"` // ForceSendFields is a list of field names (e.g. // "DataSourceRestrictions") to unconditionally include in API requests. @@ -6029,54 +20072,22 @@ type SearchApplication struct { NullFields []string `json:"-"` } -func (s *SearchApplication) MarshalJSON() ([]byte, error) { - type NoMethod SearchApplication - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// SearchApplicationQueryStats: Search application level query stats per -// date -type SearchApplicationQueryStats struct { - // Date: The date for which query stats were calculated. Stats - // calculated on the next day close to midnight are returned. - Date *Date `json:"date,omitempty"` - - QueryCountByStatus []*QueryCountByStatus `json:"queryCountByStatus,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Date") 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. "Date") 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 *SearchApplicationQueryStats) MarshalJSON() ([]byte, error) { - type NoMethod SearchApplicationQueryStats +func (s *SuggestRequest) MarshalJSON() ([]byte, error) { + type NoMethod SuggestRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SearchApplicationSessionStats struct { - // Date: The date for which session stats were calculated. Stats are - // calculated on the following day, close to midnight PST, and then - // returned. - Date *Date `json:"date,omitempty"` +// SuggestResponse: Response of the suggest API. +type SuggestResponse struct { + // SuggestResults: List of suggestions. + SuggestResults []*SuggestResult `json:"suggestResults,omitempty"` - // SearchSessionsCount: The count of search sessions on the day - SearchSessionsCount int64 `json:"searchSessionsCount,omitempty,string"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Date") to + // ForceSendFields is a list of field names (e.g. "SuggestResults") 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 @@ -6084,39 +20095,41 @@ type SearchApplicationSessionStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") 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. "SuggestResults") 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 *SearchApplicationSessionStats) MarshalJSON() ([]byte, error) { - type NoMethod SearchApplicationSessionStats +func (s *SuggestResponse) MarshalJSON() ([]byte, error) { + type NoMethod SuggestResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SearchApplicationUserStats struct { - // Date: The date for which session stats were calculated. Stats - // calculated on the next day close to midnight are returned. - Date *Date `json:"date,omitempty"` +// SuggestResult: One suggestion result. +type SuggestResult struct { + // PeopleSuggestion: This is present when the suggestion indicates a + // person. It contains more information about the person - like their + // email ID, name etc. + PeopleSuggestion *PeopleSuggestion `json:"peopleSuggestion,omitempty"` - // OneDayActiveUsersCount: The count of unique active users in the past - // one day - OneDayActiveUsersCount int64 `json:"oneDayActiveUsersCount,omitempty,string"` + // QuerySuggestion: This field will be present if the suggested query is + // a word/phrase completion. + QuerySuggestion *QuerySuggestion `json:"querySuggestion,omitempty"` - // SevenDaysActiveUsersCount: The count of unique active users in the - // past seven days - SevenDaysActiveUsersCount int64 `json:"sevenDaysActiveUsersCount,omitempty,string"` + // Source: The source of the suggestion. + Source *Source `json:"source,omitempty"` - // ThirtyDaysActiveUsersCount: The count of unique active users in the - // past thirty days - ThirtyDaysActiveUsersCount int64 `json:"thirtyDaysActiveUsersCount,omitempty,string"` + // SuggestedQuery: The suggested query that will be used for search, + // when the user clicks on the suggestion + SuggestedQuery string `json:"suggestedQuery,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to + // ForceSendFields is a list of field names (e.g. "PeopleSuggestion") 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 @@ -6124,34 +20137,41 @@ type SearchApplicationUserStats struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") 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. "PeopleSuggestion") 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 *SearchApplicationUserStats) MarshalJSON() ([]byte, error) { - type NoMethod SearchApplicationUserStats +func (s *SuggestResult) MarshalJSON() ([]byte, error) { + type NoMethod SuggestResult raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SearchItemsByViewUrlRequest struct { - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` +type SwitchWidget struct { + // Possible values: + // "UNSPECIFIED" + // "SWITCH" + // "CHECKBOX" + ControlType string `json:"controlType,omitempty"` - // PageToken: The next_page_token value returned from a previous - // request, if any. - PageToken string `json:"pageToken,omitempty"` + // Name: The name of the switch widget which is will be used in + // FormInput. + Name string `json:"name,omitempty"` - // ViewUrl: Specify the full view URL to find the corresponding item. - // The maximum length is 2048 characters. - ViewUrl string `json:"viewUrl,omitempty"` + OnChange *FormAction `json:"onChange,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugOptions") to + Selected bool `json:"selected,omitempty"` + + // Value: The value is what is passed back in apps script callback. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ControlType") 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 @@ -6159,7 +20179,7 @@ type SearchItemsByViewUrlRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugOptions") to include + // NullFields is a list of field names (e.g. "ControlType") 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 @@ -6168,55 +20188,39 @@ type SearchItemsByViewUrlRequest struct { NullFields []string `json:"-"` } -func (s *SearchItemsByViewUrlRequest) MarshalJSON() ([]byte, error) { - type NoMethod SearchItemsByViewUrlRequest +func (s *SwitchWidget) MarshalJSON() ([]byte, error) { + type NoMethod SwitchWidget raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SearchItemsByViewUrlResponse struct { - Items []*Item `json:"items,omitempty"` +// TasksMetadata: A Tasks message in Dynamite. +type TasksMetadata struct { +} - // NextPageToken: Token to retrieve the next page of results, or empty - // if there are no more results in the list. - NextPageToken string `json:"nextPageToken,omitempty"` +type TextButton struct { + // AltText: The alternative text used for accessibility Next field + // number: 7. + AltText string `json:"altText,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // BackgroundColor: Optional color of the button's background in RAISE + // mode. The default is the secondary color from addon's manifest. + BackgroundColor string `json:"backgroundColor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") 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:"-"` + Disabled bool `json:"disabled,omitempty"` - // NullFields is a list of field names (e.g. "Items") 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:"-"` -} + OnClick *OnClick `json:"onClick,omitempty"` -func (s *SearchItemsByViewUrlResponse) MarshalJSON() ([]byte, error) { - type NoMethod SearchItemsByViewUrlResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // Possible values: + // "UNSPECIFIED" + // "TEXT" - Simple text button with ripple touch feedback. + // "FILLED" - Button with solid background. + Style string `json:"style,omitempty"` -// SearchQualityMetadata: Additional search quality metadata of the -// item. -type SearchQualityMetadata struct { - // Quality: An indication of the quality of the item, used to influence - // search quality. Value should be between 0.0 (lowest quality) and 1.0 - // (highest quality). The default value is 0.0. - Quality float64 `json:"quality,omitempty"` + // Text: Text color can be set via HTML markup. + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Quality") to + // ForceSendFields is a list of field names (e.g. "AltText") 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 @@ -6224,7 +20228,7 @@ type SearchQualityMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Quality") to include in + // NullFields is a list of field names (e.g. "AltText") 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 @@ -6233,130 +20237,80 @@ type SearchQualityMetadata struct { NullFields []string `json:"-"` } -func (s *SearchQualityMetadata) MarshalJSON() ([]byte, error) { - type NoMethod SearchQualityMetadata +func (s *TextButton) MarshalJSON() ([]byte, error) { + type NoMethod TextButton raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *SearchQualityMetadata) UnmarshalJSON(data []byte) error { - type NoMethod SearchQualityMetadata - var s1 struct { - Quality gensupport.JSONFloat64 `json:"quality"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Quality = float64(s1.Quality) - return nil -} +type TextField struct { + // AutoComplete: The initial set of auto complete items without any user + // input. + AutoComplete *AutoComplete `json:"autoComplete,omitempty"` -// SearchRequest: The search API request. -type SearchRequest struct { - // ContextAttributes: Context attributes for the request which will be - // used to adjust ranking of search results. The maximum number of - // elements is 10. - ContextAttributes []*ContextAttribute `json:"contextAttributes,omitempty"` + // AutoCompleteCallback: The refresh function which returns AutoComplete + // based on the user's input text. If the callback is not specified, + // auto complete will be purely done in client side based on the + // auto_complete items. + AutoCompleteCallback *FormAction `json:"autoCompleteCallback,omitempty"` - // DataSourceRestrictions: The sources to use for querying. If not - // specified, all data sources from the current search application are - // used. - DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` + // AutoCompleteMultipleSelections: When set to true, a user can input + // multiple auto-complet items. + AutoCompleteMultipleSelections bool `json:"autoCompleteMultipleSelections,omitempty"` - FacetOptions []*FacetOptions `json:"facetOptions,omitempty"` + HintText string `json:"hintText,omitempty"` - // PageSize: Maximum number of search results to return in one page. - // Valid values are between 1 and 100, inclusive. Default value is 10. - // Minimum value is 50 when results beyond 2000 are requested. - PageSize int64 `json:"pageSize,omitempty"` + // Label: One of label or hint_text is required to be specified by the + // developers. + Label string `json:"label,omitempty"` - // Query: The raw query string. See supported search operators in the - // Narrow your search with operators - // (https://support.google.com/cloudsearch/answer/6172299) - Query string `json:"query,omitempty"` + MaxLines int64 `json:"maxLines,omitempty"` - // QueryInterpretationOptions: Options to interpret the user query. - QueryInterpretationOptions *QueryInterpretationOptions `json:"queryInterpretationOptions,omitempty"` + // Name: The name of the text field which is will be used in FormInput. + Name string `json:"name,omitempty"` - // RequestOptions: Request options, such as the search application and - // user timezone. - RequestOptions *RequestOptions `json:"requestOptions,omitempty"` + OnChange *FormAction `json:"onChange,omitempty"` - // SortOptions: The options for sorting the search results - SortOptions *SortOptions `json:"sortOptions,omitempty"` + // Possible values: + // "SINGLE_LINE" + // "MULTIPLE_LINE" + Type string `json:"type,omitempty"` - // Start: Starting index of the results. - Start int64 `json:"start,omitempty"` + // Value: The default value when no input from user. + Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContextAttributes") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "AutoComplete") 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. "ContextAttributes") 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. "AutoComplete") 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 *SearchRequest) MarshalJSON() ([]byte, error) { - type NoMethod SearchRequest +func (s *TextField) MarshalJSON() ([]byte, error) { + type NoMethod TextField raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SearchResponse: The search API response. -type SearchResponse struct { - // DebugInfo: Debugging information about the response. - DebugInfo *ResponseDebugInfo `json:"debugInfo,omitempty"` - - // ErrorInfo: Error information about the response. - ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"` - - // FacetResults: Repeated facet results. - FacetResults []*FacetResult `json:"facetResults,omitempty"` - - // HasMoreResults: Whether there are more search results matching the - // query. - HasMoreResults bool `json:"hasMoreResults,omitempty"` - - // QueryInterpretation: Query interpretation result for user query. - // Empty if query interpretation is disabled. - QueryInterpretation *QueryInterpretation `json:"queryInterpretation,omitempty"` - - // ResultCountEstimate: The estimated result count for this query. - ResultCountEstimate int64 `json:"resultCountEstimate,omitempty,string"` - - // ResultCountExact: The exact result count for this query. - ResultCountExact int64 `json:"resultCountExact,omitempty,string"` - - // ResultCounts: Expanded result count information. - ResultCounts *ResultCounts `json:"resultCounts,omitempty"` +// TextKeyValue: This is deprecated and please use KeyValue. +type TextKeyValue struct { + Key string `json:"key,omitempty"` - // Results: Results from a search query. - Results []*SearchResult `json:"results,omitempty"` - - // SpellResults: Suggested spelling for the query. - SpellResults []*SpellResult `json:"spellResults,omitempty"` - - // StructuredResults: Structured results for the user query. These - // results are not counted against the page_size. - StructuredResults []*StructuredResult `json:"structuredResults,omitempty"` + OnClick *OnClick `json:"onClick,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugInfo") to + // ForceSendFields is a list of field names (e.g. "Key") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6364,8 +20318,8 @@ type SearchResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugInfo") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Key") to include in API + // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -6373,78 +20327,66 @@ type SearchResponse struct { NullFields []string `json:"-"` } -func (s *SearchResponse) MarshalJSON() ([]byte, error) { - type NoMethod SearchResponse +func (s *TextKeyValue) MarshalJSON() ([]byte, error) { + type NoMethod TextKeyValue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SearchResult: Results containing indexed information for a document. -type SearchResult struct { - // ClusteredResults: If source is clustered, provide list of clustered - // results. There will only be one level of clustered results. If - // current source is not enabled for clustering, this field will be - // empty. - ClusteredResults []*SearchResult `json:"clusteredResults,omitempty"` - - // DebugInfo: Debugging information about this search result. - DebugInfo *ResultDebugInfo `json:"debugInfo,omitempty"` - - // Metadata: Metadata of the search result. - Metadata *Metadata `json:"metadata,omitempty"` - - // Snippet: The concatenation of all snippets (summaries) available for - // this result. - Snippet *Snippet `json:"snippet,omitempty"` - - // Title: Title of the search result. - Title string `json:"title,omitempty"` +// TextOperatorOptions: Used to provide a search operator for text +// properties. This is optional. Search operators let users restrict the +// query to specific fields relevant to the type of item being searched. +type TextOperatorOptions struct { + // ExactMatchWithOperator: If true, the text value is tokenized as one + // atomic value in operator searches and facet matches. For example, if + // the operator name is "genre" and the value is "science-fiction" the + // query restrictions "genre:science" and "genre:fiction" doesn't match + // the item; "genre:science-fiction" does. Text value matching is + // case-sensitive and does not remove special characters. If false, the + // text is tokenized. For example, if the value is "science-fiction" the + // queries "genre:science" and "genre:fiction" matches the item. + ExactMatchWithOperator bool `json:"exactMatchWithOperator,omitempty"` - // Url: The URL of the search result. The URL contains a Google redirect - // to the actual item. This URL is signed and shouldn't be changed. - Url string `json:"url,omitempty"` + // OperatorName: Indicates the operator name required in the query in + // order to isolate the text property. For example, if operatorName is + // *subject* and the property's name is *subjectLine*, then queries like + // *subject:* show results only where the value of the property + // named *subjectLine* matches **. By contrast, a search that + // uses the same ** without an operator returns all items where + // ** matches the value of any text properties or text within the + // content field for the item. The operator name can only contain + // lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClusteredResults") 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. + // "ExactMatchWithOperator") 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. "ClusteredResults") 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. "ExactMatchWithOperator") + // 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 *SearchResult) MarshalJSON() ([]byte, error) { - type NoMethod SearchResult + +func (s *TextOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod TextOperatorOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type ShareScope struct { - // Domain: If scope is DOMAIN, this field contains the dasher domain, - // for example "google.com". - Domain string `json:"domain,omitempty"` - - // Scope: The scope to which the content was shared. - // - // Possible values: - // "UNKNOWN" - // "PRIVATE" - Only the author can view the post. - // "LIMITED" - Viewable only by a set of people. - // "EXTENDED" - Viewable by extended circles. - // "DASHER_DOMAIN" - // "PUBLIC" - Scope string `json:"scope,omitempty"` +type TextParagraph struct { + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Domain") to + // ForceSendFields is a list of field names (e.g. "Text") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6452,7 +20394,7 @@ type ShareScope struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Domain") to include in API + // NullFields is a list of field names (e.g. "Text") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -6461,24 +20403,23 @@ type ShareScope struct { NullFields []string `json:"-"` } -func (s *ShareScope) MarshalJSON() ([]byte, error) { - type NoMethod ShareScope +func (s *TextParagraph) MarshalJSON() ([]byte, error) { + type NoMethod TextParagraph raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Snippet: Snippet of the search result, which summarizes the content -// of the resulting page. -type Snippet struct { - // MatchRanges: The matched ranges in the snippet. - MatchRanges []*MatchRange `json:"matchRanges,omitempty"` +// TextPropertyOptions: The options for text properties. +type TextPropertyOptions struct { + // OperatorOptions: If set, describes how the property should be used as + // a search operator. + OperatorOptions *TextOperatorOptions `json:"operatorOptions,omitempty"` - // Snippet: The snippet of the document. The snippet of the document. - // May contain escaped HTML character that should be unescaped prior to - // rendering. - Snippet string `json:"snippet,omitempty"` + // RetrievalImportance: Indicates the search quality importance of the + // tokens within the field when used for retrieval. + RetrievalImportance *RetrievalImportance `json:"retrievalImportance,omitempty"` - // ForceSendFields is a list of field names (e.g. "MatchRanges") to + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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 @@ -6486,34 +20427,29 @@ type Snippet struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MatchRanges") 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. "OperatorOptions") 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 *Snippet) MarshalJSON() ([]byte, error) { - type NoMethod Snippet +func (s *TextPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod TextPropertyOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SortOptions struct { - // OperatorName: The name of the operator corresponding to the field to - // sort on. The corresponding property must be marked as sortable. - OperatorName string `json:"operatorName,omitempty"` - - // SortOrder: Ascending is the default sort order - // - // Possible values: - // "ASCENDING" - // "DESCENDING" - SortOrder string `json:"sortOrder,omitempty"` +// TextValues: List of text values. +type TextValues struct { + // Values: The maximum allowable length for text values is 2048 + // characters. + Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + // 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 @@ -6521,80 +20457,89 @@ type SortOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") 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. "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 []string `json:"-"` } -func (s *SortOptions) MarshalJSON() ([]byte, error) { - type NoMethod SortOptions +func (s *TextValues) MarshalJSON() ([]byte, error) { + type NoMethod TextValues raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Source: Defines sources for the suggest/search APIs. -type Source struct { - // Name: Source name for content indexed by the Indexing API. - Name string `json:"name,omitempty"` +// TimestampOperatorOptions: Used to provide a search operator for +// timestamp properties. This is optional. Search operators let users +// restrict the query to specific fields relevant to the type of item +// being searched. +type TimestampOperatorOptions struct { + // GreaterThanOperatorName: Indicates the operator name required in the + // query in order to isolate the timestamp property using the + // greater-than operator. For example, if greaterThanOperatorName is + // *closedafter* and the property's name is *closeDate*, then queries + // like *closedafter:* show results only where the value of the + // property named *closeDate* is later than **. The operator name + // can only contain lowercase letters (a-z). The maximum length is 32 + // characters. + GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` - // PredefinedSource: Predefined content source for Google Apps. - // - // Possible values: - // "NONE" - // "QUERY_HISTORY" - Suggests queries issued by the user in the past. - // Only valid when used with the suggest API. Ignored when used in the - // query API. - // "PERSON" - Suggests people in the organization. Only valid when - // used with the suggest API. Results in an error when used in the query - // API. - // "GOOGLE_DRIVE" - // "GOOGLE_GMAIL" - // "GOOGLE_SITES" - // "GOOGLE_GROUPS" - // "GOOGLE_CALENDAR" - // "GOOGLE_KEEP" - PredefinedSource string `json:"predefinedSource,omitempty"` + // LessThanOperatorName: Indicates the operator name required in the + // query in order to isolate the timestamp property using the less-than + // operator. For example, if lessThanOperatorName is *closedbefore* and + // the property's name is *closeDate*, then queries like + // *closedbefore:* show results only where the value of the + // property named *closeDate* is earlier than **. The operator + // name can only contain lowercase letters (a-z). The maximum length is + // 32 characters. + LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. + // OperatorName: Indicates the operator name required in the query in + // order to isolate the timestamp property. For example, if operatorName + // is *closedon* and the property's name is *closeDate*, then queries + // like *closedon:* show results only where the value of the + // property named *closeDate* matches **. By contrast, a search + // that uses the same ** without an operator returns all items + // where ** matches the value of any String properties or text + // within the content field for the item. The operator name can only + // contain lowercase letters (a-z). The maximum length is 32 characters. + OperatorName string `json:"operatorName,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "GreaterThanOperatorName") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "GreaterThanOperatorName") + // 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 *Source) MarshalJSON() ([]byte, error) { - type NoMethod Source +func (s *TimestampOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod TimestampOperatorOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SourceConfig: Configurations for a source while processing a Search -// or Suggest request. -type SourceConfig struct { - // CrowdingConfig: The crowding configuration for the source. - CrowdingConfig *SourceCrowdingConfig `json:"crowdingConfig,omitempty"` - - // ScoringConfig: The scoring configuration for the source. - ScoringConfig *SourceScoringConfig `json:"scoringConfig,omitempty"` - - // Source: The source for which this configuration is to be used. - Source *Source `json:"source,omitempty"` +// TimestampPropertyOptions: The options for timestamp properties. +type TimestampPropertyOptions struct { + // OperatorOptions: If set, describes how the timestamp should be used + // as a search operator. + OperatorOptions *TimestampOperatorOptions `json:"operatorOptions,omitempty"` - // ForceSendFields is a list of field names (e.g. "CrowdingConfig") to + // ForceSendFields is a list of field names (e.g. "OperatorOptions") 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 @@ -6602,7 +20547,7 @@ type SourceConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CrowdingConfig") to + // NullFields is a list of field names (e.g. "OperatorOptions") 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 @@ -6612,32 +20557,17 @@ type SourceConfig struct { NullFields []string `json:"-"` } -func (s *SourceConfig) MarshalJSON() ([]byte, error) { - type NoMethod SourceConfig +func (s *TimestampPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod TimestampPropertyOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SourceCrowdingConfig: Set search results crowding limits. Crowding is -// a situation in which multiple results from the same source or host -// "crowd out" other results, diminishing the quality of search for -// users. To foster better search quality and source diversity in search -// results, you can set a condition to reduce repetitive results by -// source. -type SourceCrowdingConfig struct { - // NumResults: Maximum number of results allowed from a datasource in a - // result page as long as results from other sources are not exhausted. - // Value specified must not be negative. A default value is used if this - // value is equal to 0. To disable crowding, set the value greater than - // 100. - NumResults int64 `json:"numResults,omitempty"` - - // NumSuggestions: Maximum number of suggestions allowed from a source. - // No limits will be set on results if this value is less than or equal - // to 0. - NumSuggestions int64 `json:"numSuggestions,omitempty"` +// TimestampValues: List of timestamp values. +type TimestampValues struct { + Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "NumResults") to + // 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 @@ -6645,8 +20575,8 @@ type SourceCrowdingConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NumResults") to include in - // API requests with the JSON null value. By default, fields with empty + // 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. @@ -6654,28 +20584,55 @@ type SourceCrowdingConfig struct { NullFields []string `json:"-"` } -func (s *SourceCrowdingConfig) MarshalJSON() ([]byte, error) { - type NoMethod SourceCrowdingConfig +func (s *TimestampValues) MarshalJSON() ([]byte, error) { + type NoMethod TimestampValues raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SourceResultCount: Per source result count information. -type SourceResultCount struct { - // HasMoreResults: Whether there are more search results for this - // source. - HasMoreResults bool `json:"hasMoreResults,omitempty"` +// Toolbar: The Toolbar markup has been deprecated. The information is +// now specified in the manifest. +type Toolbar struct { + // Color: Background color of the toolbar in RBG hex representation. + Color string `json:"color,omitempty"` - // ResultCountEstimate: The estimated result count for this source. - ResultCountEstimate int64 `json:"resultCountEstimate,omitempty,string"` + IconUrl string `json:"iconUrl,omitempty"` + + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Color") 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. "Color") 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 *Toolbar) MarshalJSON() ([]byte, error) { + type NoMethod Toolbar + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ResultCountExact: The exact result count for this source. - ResultCountExact int64 `json:"resultCountExact,omitempty,string"` +// TranscriptionSessionInfo: Information about a transcription session. +type TranscriptionSessionInfo struct { + // SessionStateInfo: Transcription session's state information. + SessionStateInfo *SessionStateInfo `json:"sessionStateInfo,omitempty"` - // Source: The source the result count information is associated with. - Source *Source `json:"source,omitempty"` + // TranscriptionSessionId: A unique server-generated ID for the + // transcription session. + TranscriptionSessionId string `json:"transcriptionSessionId,omitempty"` - // ForceSendFields is a list of field names (e.g. "HasMoreResults") to + // ForceSendFields is a list of field names (e.g. "SessionStateInfo") 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 @@ -6683,7 +20640,7 @@ type SourceResultCount struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HasMoreResults") to + // NullFields is a list of field names (e.g. "SessionStateInfo") 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 @@ -6693,24 +20650,30 @@ type SourceResultCount struct { NullFields []string `json:"-"` } -func (s *SourceResultCount) MarshalJSON() ([]byte, error) { - type NoMethod SourceResultCount +func (s *TranscriptionSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod TranscriptionSessionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SourceScoringConfig: Set the scoring configuration. This allows -// modifying the ranking of results for a source. -type SourceScoringConfig struct { - // SourceImportance: Importance of the source. - // - // Possible values: - // "DEFAULT" - // "LOW" - // "HIGH" - SourceImportance string `json:"sourceImportance,omitempty"` +// TransientData: Transient generic data that will not be saved on the +// server. +type TransientData struct { +} - // ForceSendFields is a list of field names (e.g. "SourceImportance") to +// TrustedResourceUrlProto: Message containing a string that is safe to +// use in all URL contexts in DOM APIs and HTML documents; even where +// the referred-to resource is interpreted as code, e.g., as the src of +// a script element. +type TrustedResourceUrlProto struct { + // PrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue: IMPORTANT: + // Never set or read this field, even from tests, it is private. See + // documentation at the top of .proto file for programming language + // packages with which to create or read this message. + PrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue string `json:"privateDoNotAccessOrElseTrustedResourceUrlWrappedValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "PrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue") 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 @@ -6718,28 +20681,29 @@ type SourceScoringConfig struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SourceImportance") 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. + // "PrivateDoNotAccessOrElseTrustedResourceUrlWrappedValue") 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 *SourceScoringConfig) MarshalJSON() ([]byte, error) { - type NoMethod SourceScoringConfig +func (s *TrustedResourceUrlProto) MarshalJSON() ([]byte, error) { + type NoMethod TrustedResourceUrlProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SpaceId: Primary key for Space resource. -type SpaceId struct { - // SpaceId: Unique, immutable ID of the Space - SpaceId string `json:"spaceId,omitempty"` +// TypeInfo: Next tag: 2 +type TypeInfo struct { + // VideoInfo: Contains additional video information only if + // document_type is VIDEO. + VideoInfo *VideoInfo `json:"videoInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "SpaceId") to + // ForceSendFields is a list of field names (e.g. "VideoInfo") 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 @@ -6747,7 +20711,7 @@ type SpaceId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SpaceId") to include in + // NullFields is a list of field names (e.g. "VideoInfo") 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 @@ -6756,48 +20720,29 @@ type SpaceId struct { NullFields []string `json:"-"` } -func (s *SpaceId) MarshalJSON() ([]byte, error) { - type NoMethod SpaceId +func (s *TypeInfo) MarshalJSON() ([]byte, error) { + type NoMethod TypeInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SpaceInfo: Defines the representation of a single matching space. -type SpaceInfo struct { - AvatarInfo *AvatarInfo `json:"avatarInfo,omitempty"` - - AvatarUrl string `json:"avatarUrl,omitempty"` - - Description string `json:"description,omitempty"` - - GroupId *GroupId `json:"groupId,omitempty"` - - // InviterEmail: The email address of the user that invited the calling - // user to the room, if available. This field will only be populated for - // direct invites, it will be empty if the user was indirectly invited - // to the group. - InviterEmail string `json:"inviterEmail,omitempty"` - - // IsExternal: Whether this is a space that enables guest access - IsExternal bool `json:"isExternal,omitempty"` - - Name string `json:"name,omitempty"` - - NumMembers int64 `json:"numMembers,omitempty"` +// UniversalPhoneAccess: Universal phone access contains information +// required to dial into a conference using one of a static list of +// phone numbers and a universal PIN. The phone number list is +// distributed separately. +type UniversalPhoneAccess struct { + // Pin: The PIN that users must enter after dialing a universal number. + // The pin consists of only decimal digits and the length may vary, + // though it generally is longer than a PhoneAccess.pin. + Pin string `json:"pin,omitempty"` - // UserMembershipState: searching user's membership state in this space - // - // Possible values: - // "MEMBER_UNKNOWN" - Default state, do not use - // "MEMBER_INVITED" - An invitation to the space has been sent - // "MEMBER_JOINED" - User has joined the space - // "MEMBER_NOT_A_MEMBER" - User is not a member - // "MEMBER_FAILED" - This state should never be stored in Spanner. It - // is a state for responses to the clients to indicate that membership - // mutations have failed and the member is in its previous state. - UserMembershipState string `json:"userMembershipState,omitempty"` + // PstnInfoUrl: This field has the same contents as the + // MeetingSpace.more_join_url field, and is included for compatibility + // reasons. Clients should use the other field instead. This field is + // deprecated and will be removed. + PstnInfoUrl string `json:"pstnInfoUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvatarInfo") to + // ForceSendFields is a list of field names (e.g. "Pin") 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 @@ -6805,8 +20750,8 @@ type SpaceInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvatarInfo") to include in - // API requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Pin") 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. @@ -6814,17 +20759,35 @@ type SpaceInfo struct { NullFields []string `json:"-"` } -func (s *SpaceInfo) MarshalJSON() ([]byte, error) { - type NoMethod SpaceInfo +func (s *UniversalPhoneAccess) MarshalJSON() ([]byte, error) { + type NoMethod UniversalPhoneAccess raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SpellResult struct { - // SuggestedQuery: The suggested spelling of the query. - SuggestedQuery string `json:"suggestedQuery,omitempty"` +type UnmappedIdentity struct { + // ExternalIdentity: The resource name for an external user. + ExternalIdentity *Principal `json:"externalIdentity,omitempty"` - // ForceSendFields is a list of field names (e.g. "SuggestedQuery") to + // ResolutionStatusCode: The resolution status for the external + // identity. + // + // Possible values: + // "CODE_UNSPECIFIED" - Input-only value. Used to list all unmapped + // identities regardless of status. + // "NOT_FOUND" - The unmapped identity was not found in IDaaS, and + // needs to be provided by the user. + // "IDENTITY_SOURCE_NOT_FOUND" - The identity source associated with + // the identity was either not found or deleted. + // "IDENTITY_SOURCE_MISCONFIGURED" - IDaaS does not understand the + // identity source, probably because the schema was modified in a non + // compatible way. + // "TOO_MANY_MAPPINGS_FOUND" - The number of users associated with the + // external identity is too large. + // "INTERNAL_ERROR" - Internal error. + ResolutionStatusCode string `json:"resolutionStatusCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExternalIdentity") 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 @@ -6832,7 +20795,7 @@ type SpellResult struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SuggestedQuery") to + // NullFields is a list of field names (e.g. "ExternalIdentity") 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 @@ -6842,14 +20805,13 @@ type SpellResult struct { NullFields []string `json:"-"` } -func (s *SpellResult) MarshalJSON() ([]byte, error) { - type NoMethod SpellResult +func (s *UnmappedIdentity) MarshalJSON() ([]byte, error) { + type NoMethod UnmappedIdentity raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StartUploadItemRequest: Start upload file request. -type StartUploadItemRequest struct { +type UnreserveItemsRequest struct { // ConnectorName: The name of connector making this call. Format: // datasources/{source_id}/connectors/{ID} ConnectorName string `json:"connectorName,omitempty"` @@ -6857,6 +20819,9 @@ type StartUploadItemRequest struct { // DebugOptions: Common debug options. DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + // Queue: The name of a queue to unreserve items from. + Queue string `json:"queue,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConnectorName") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -6874,34 +20839,19 @@ type StartUploadItemRequest struct { NullFields []string `json:"-"` } -func (s *StartUploadItemRequest) MarshalJSON() ([]byte, error) { - type NoMethod StartUploadItemRequest +func (s *UnreserveItemsRequest) MarshalJSON() ([]byte, error) { + type NoMethod UnreserveItemsRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Status: The `Status` type defines a logical error model that is -// suitable for different programming environments, including REST APIs -// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each -// `Status` message contains three pieces of data: error code, error -// message, and error details. You can find out more about this error -// model and how to work with it in the API Design Guide -// (https://cloud.google.com/apis/design/errors). -type Status struct { - // Code: The status code, which should be an enum value of - // google.rpc.Code. - Code int64 `json:"code,omitempty"` - - // Details: A list of messages that carry the error details. There is a - // common set of message types for APIs to use. - Details []googleapi.RawMessage `json:"details,omitempty"` +type UpdateDataSourceRequest struct { + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - // Message: A developer-facing error message, which should be in - // English. Any user-facing error message should be localized and sent - // in the google.rpc.Status.details field, or localized by the client. - Message string `json:"message,omitempty"` + Source *DataSource `json:"source,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to + // ForceSendFields is a list of field names (e.g. "DebugOptions") 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 @@ -6909,58 +20859,33 @@ type Status struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "DebugOptions") 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 *Status) MarshalJSON() ([]byte, error) { - type NoMethod Status +func (s *UpdateDataSourceRequest) MarshalJSON() ([]byte, error) { + type NoMethod UpdateDataSourceRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StructuredDataObject: A structured data object consisting of named -// properties. -type StructuredDataObject struct { - // Properties: The properties for the object. The maximum number of - // elements is 1000. - Properties []*NamedProperty `json:"properties,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Properties") 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. "Properties") 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:"-"` -} +type UpdateSchemaRequest struct { + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` -func (s *StructuredDataObject) MarshalJSON() ([]byte, error) { - type NoMethod StructuredDataObject - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // Schema: The new schema for the source. + Schema *Schema `json:"schema,omitempty"` -// StructuredResult: Structured results that are returned as part of -// search request. -type StructuredResult struct { - // Person: Representation of a person - Person *Person `json:"person,omitempty"` + // ValidateOnly: If true, the schema will be checked for validity, but + // will not be registered with the data source, even if valid. + ValidateOnly bool `json:"validateOnly,omitempty"` - // ForceSendFields is a list of field names (e.g. "Person") to + // ForceSendFields is a list of field names (e.g. "DebugOptions") 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 @@ -6968,74 +20893,35 @@ type StructuredResult struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Person") 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 *StructuredResult) MarshalJSON() ([]byte, error) { - type NoMethod StructuredResult - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// SuggestRequest: Request of suggest API. -type SuggestRequest struct { - // DataSourceRestrictions: The sources to use for suggestions. If not - // specified, the data sources are taken from the current search - // application. NOTE: Suggestions are only supported for the following - // sources: * Third-party data sources * PredefinedSource.PERSON * - // PredefinedSource.GOOGLE_DRIVE - DataSourceRestrictions []*DataSourceRestriction `json:"dataSourceRestrictions,omitempty"` - - // Query: Partial query for which autocomplete suggestions will be - // shown. For example, if the query is "sea", then the server might - // return "season", "search", "seagull" and so on. - Query string `json:"query,omitempty"` - - // RequestOptions: Request options, such as the search application and - // user timezone. - RequestOptions *RequestOptions `json:"requestOptions,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "DataSourceRestrictions") 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. "DataSourceRestrictions") - // 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. "DebugOptions") 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 *SuggestRequest) MarshalJSON() ([]byte, error) { - type NoMethod SuggestRequest +func (s *UpdateSchemaRequest) MarshalJSON() ([]byte, error) { + type NoMethod UpdateSchemaRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SuggestResponse: Response of the suggest API. -type SuggestResponse struct { - // SuggestResults: List of suggestions. - SuggestResults []*SuggestResult `json:"suggestResults,omitempty"` +// UploadItemRef: Represents an upload session reference. This reference +// is created via upload method. This reference is valid for 30 days +// after its creation. Updating of item content may refer to this +// uploaded content via contentDataRef. +type UploadItemRef struct { + // Name: The name of the content reference. The maximum length is 2048 + // characters. + Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "SuggestResults") to + // ForceSendFields is a list of field names (e.g. "Name") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -7043,41 +20929,30 @@ type SuggestResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SuggestResults") 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. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *SuggestResponse) MarshalJSON() ([]byte, error) { - type NoMethod SuggestResponse +func (s *UploadItemRef) MarshalJSON() ([]byte, error) { + type NoMethod UploadItemRef raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SuggestResult: One suggestion result. -type SuggestResult struct { - // PeopleSuggestion: This is present when the suggestion indicates a - // person. It contains more information about the person - like their - // email ID, name etc. - PeopleSuggestion *PeopleSuggestion `json:"peopleSuggestion,omitempty"` - - // QuerySuggestion: This field will be present if the suggested query is - // a word/phrase completion. - QuerySuggestion *QuerySuggestion `json:"querySuggestion,omitempty"` - - // Source: The source of the suggestion. - Source *Source `json:"source,omitempty"` +// UserDisplayInfo: Resource for displaying user info +type UserDisplayInfo struct { + // AvatarUrl: The avatar to show for this user + AvatarUrl string `json:"avatarUrl,omitempty"` - // SuggestedQuery: The suggested query that will be used for search, - // when the user clicks on the suggestion - SuggestedQuery string `json:"suggestedQuery,omitempty"` + // DisplayName: The name to show for this user + DisplayName string `json:"displayName,omitempty"` - // ForceSendFields is a list of field names (e.g. "PeopleSuggestion") to + // ForceSendFields is a list of field names (e.g. "AvatarUrl") 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 @@ -7085,57 +20960,65 @@ type SuggestResult struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PeopleSuggestion") 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. "AvatarUrl") 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 *SuggestResult) MarshalJSON() ([]byte, error) { - type NoMethod SuggestResult +func (s *UserDisplayInfo) MarshalJSON() ([]byte, error) { + type NoMethod UserDisplayInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TextOperatorOptions: Used to provide a search operator for text -// properties. This is optional. Search operators let users restrict the -// query to specific fields relevant to the type of item being searched. -type TextOperatorOptions struct { - // ExactMatchWithOperator: If true, the text value is tokenized as one - // atomic value in operator searches and facet matches. For example, if - // the operator name is "genre" and the value is "science-fiction" the - // query restrictions "genre:science" and "genre:fiction" doesn't match - // the item; "genre:science-fiction" does. Text value matching is - // case-sensitive and does not remove special characters. If false, the - // text is tokenized. For example, if the value is "science-fiction" the - // queries "genre:science" and "genre:fiction" matches the item. - ExactMatchWithOperator bool `json:"exactMatchWithOperator,omitempty"` - - // OperatorName: Indicates the operator name required in the query in - // order to isolate the text property. For example, if operatorName is - // *subject* and the property's name is *subjectLine*, then queries like - // *subject:* show results only where the value of the property - // named *subjectLine* matches **. By contrast, a search that - // uses the same ** without an operator returns all items where - // ** matches the value of any text properties or text within the - // content field for the item. The operator name can only contain - // lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` +// UserInfo: Contains info regarding the updater of an Activity Feed +// item. Next Id: 6 +type UserInfo struct { + // UpdaterCountDisplayType: Describes how updater_count_to_show should + // be used. + // + // Possible values: + // "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED" + // "EXACT_COUNT" - A precise updater count is known and the value set + // in updater_count_to_show should be used. If set, + // updater_count_to_show is set to the total number of updaters minus + // the one set in updater_to_show. + // "NONZERO_COUNT" - A precise updater count could not be calculated, + // but there is at least one. Any value set in updater_count_to_show + // should NOT be used. + UpdaterCountDisplayType string `json:"updaterCountDisplayType,omitempty"` + + // UpdaterCountToShow: The number of updaters for clients to show + // depending on UpdaterCountDisplayType. + UpdaterCountToShow int64 `json:"updaterCountToShow,omitempty"` + + // UpdaterToShowEmail: The email of the updater for clients to show used + // for Gmail items. + UpdaterToShowEmail string `json:"updaterToShowEmail,omitempty"` + + // UpdaterToShowGaiaId: The gaia id of the updater for clients to show + // used for Gmail items. If the updater is an external user, the email + // field below should be populated. + UpdaterToShowGaiaId int64 `json:"updaterToShowGaiaId,omitempty,string"` + + // UpdaterToShowUserId: The updater for clients to show used for + // Dynamite Chat items. + UpdaterToShowUserId *AppsDynamiteUserId `json:"updaterToShowUserId,omitempty"` // ForceSendFields is a list of field names (e.g. - // "ExactMatchWithOperator") 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. + // "UpdaterCountDisplayType") 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. "ExactMatchWithOperator") + // NullFields is a list of field names (e.g. "UpdaterCountDisplayType") // 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 @@ -7145,23 +21028,37 @@ type TextOperatorOptions struct { NullFields []string `json:"-"` } -func (s *TextOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod TextOperatorOptions +func (s *UserInfo) MarshalJSON() ([]byte, error) { + type NoMethod UserInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TextPropertyOptions: The options for text properties. -type TextPropertyOptions struct { - // OperatorOptions: If set, describes how the property should be used as - // a search operator. - OperatorOptions *TextOperatorOptions `json:"operatorOptions,omitempty"` +// UserMentionData: Person metadata, for USER_MENTION segments. Should +// always contain at least one of user_gaia_id, user_id, email or user. +// The exact set of populated fields may differ depending on the context +// and the level in the serving stack; for example, emails will be +// elided on the viewing path. But as a general rule, a proto having any +// one of the four is valid, subject to the standard constraints of the +// applied annotations -- that is, communication between servers and +// clients will ignore jspb.ignore fields, and communication between +// servers and other servers (or between servers and storage) will +// ignore client_only fields. For more on the annotations, see the +// comments in social/common/segment_annotations.proto +type UserMentionData struct { + Email string `json:"email,omitempty"` - // RetrievalImportance: Indicates the search quality importance of the - // tokens within the field when used for retrieval. - RetrievalImportance *RetrievalImportance `json:"retrievalImportance,omitempty"` + // User: If the principal is backed by a gaia id, DO NOT use this field. + // Use user_gaia_id/user_id fields instead. + User *PrincipalProto `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // UserGaiaId: An unobfuscated gaia ID: + UserGaiaId int64 `json:"userGaiaId,omitempty,string"` + + // UserId: An obfuscated gaia ID: + UserId string `json:"userId,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 // non-pointer, non-interface field appearing in ForceSendFields will be @@ -7169,29 +21066,29 @@ type TextPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "Email") 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 *TextPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod TextPropertyOptions +func (s *UserMentionData) MarshalJSON() ([]byte, error) { + type NoMethod UserMentionData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TextValues: List of text values. -type TextValues struct { - // Values: The maximum allowable length for text values is 2048 - // characters. - Values []string `json:"values,omitempty"` +type VPCSettings struct { + // Project: The resource name of the GCP Project to be used for VPC SC + // policy check. VPC security settings on this project will be honored + // for Cloud Search APIs after project_name has been updated through + // CustomerService. Format: projects/{project_id} + Project string `json:"project,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // ForceSendFields is a list of field names (e.g. "Project") 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 @@ -7199,8 +21096,8 @@ type TextValues struct { // 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 + // NullFields is a list of field names (e.g. "Project") 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. @@ -7208,80 +21105,78 @@ type TextValues struct { NullFields []string `json:"-"` } -func (s *TextValues) MarshalJSON() ([]byte, error) { - type NoMethod TextValues +func (s *VPCSettings) MarshalJSON() ([]byte, error) { + type NoMethod VPCSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TimestampOperatorOptions: Used to provide a search operator for -// timestamp properties. This is optional. Search operators let users -// restrict the query to specific fields relevant to the type of item -// being searched. -type TimestampOperatorOptions struct { - // GreaterThanOperatorName: Indicates the operator name required in the - // query in order to isolate the timestamp property using the - // greater-than operator. For example, if greaterThanOperatorName is - // *closedafter* and the property's name is *closeDate*, then queries - // like *closedafter:* show results only where the value of the - // property named *closeDate* is later than **. The operator name - // can only contain lowercase letters (a-z). The maximum length is 32 - // characters. - GreaterThanOperatorName string `json:"greaterThanOperatorName,omitempty"` +// Value: Definition of a single value with generic type. +type Value struct { + BooleanValue bool `json:"booleanValue,omitempty"` - // LessThanOperatorName: Indicates the operator name required in the - // query in order to isolate the timestamp property using the less-than - // operator. For example, if lessThanOperatorName is *closedbefore* and - // the property's name is *closeDate*, then queries like - // *closedbefore:* show results only where the value of the - // property named *closeDate* is earlier than **. The operator - // name can only contain lowercase letters (a-z). The maximum length is - // 32 characters. - LessThanOperatorName string `json:"lessThanOperatorName,omitempty"` + DateValue *Date `json:"dateValue,omitempty"` - // OperatorName: Indicates the operator name required in the query in - // order to isolate the timestamp property. For example, if operatorName - // is *closedon* and the property's name is *closeDate*, then queries - // like *closedon:* show results only where the value of the - // property named *closeDate* matches **. By contrast, a search - // that uses the same ** without an operator returns all items - // where ** matches the value of any String properties or text - // within the content field for the item. The operator name can only - // contain lowercase letters (a-z). The maximum length is 32 characters. - OperatorName string `json:"operatorName,omitempty"` + DoubleValue float64 `json:"doubleValue,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "GreaterThanOperatorName") 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. + IntegerValue int64 `json:"integerValue,omitempty,string"` + + StringValue string `json:"stringValue,omitempty"` + + TimestampValue string `json:"timestampValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BooleanValue") 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. "GreaterThanOperatorName") - // 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. "BooleanValue") 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 *TimestampOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod TimestampOperatorOptions +func (s *Value) MarshalJSON() ([]byte, error) { + type NoMethod Value raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TimestampPropertyOptions: The options for timestamp properties. -type TimestampPropertyOptions struct { - // OperatorOptions: If set, describes how the timestamp should be used - // as a search operator. - OperatorOptions *TimestampOperatorOptions `json:"operatorOptions,omitempty"` +func (s *Value) UnmarshalJSON(data []byte) error { + type NoMethod Value + var s1 struct { + DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.DoubleValue = float64(s1.DoubleValue) + return nil +} + +type ValueFilter struct { + // OperatorName: The `operator_name` applied to the query, such as + // *price_greater_than*. The filter can work against both types of + // filters defined in the schema for your data source: 1. + // `operator_name`, where the query filters results by the property that + // matches the value. 2. `greater_than_operator_name` or + // `less_than_operator_name` in your schema. The query filters the + // results for the property values that are greater than or less than + // the supplied value in the query. + OperatorName string `json:"operatorName,omitempty"` + + // Value: The value to be compared with. + Value *Value `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to + // ForceSendFields is a list of field names (e.g. "OperatorName") 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 @@ -7289,27 +21184,26 @@ type TimestampPropertyOptions struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorOptions") 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. "OperatorName") 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 *TimestampPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod TimestampPropertyOptions +func (s *ValueFilter) MarshalJSON() ([]byte, error) { + type NoMethod ValueFilter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TimestampValues: List of timestamp values. -type TimestampValues struct { - Values []string `json:"values,omitempty"` +// VideoCallMetadata: A Meet initiated in Dynamite and its URL. +type VideoCallMetadata struct { + MeetingUrl string `json:"meetingUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to + // ForceSendFields is a list of field names (e.g. "MeetingUrl") 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 @@ -7317,8 +21211,8 @@ type TimestampValues struct { // 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 + // NullFields is a list of field names (e.g. "MeetingUrl") 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. @@ -7326,19 +21220,19 @@ type TimestampValues struct { NullFields []string `json:"-"` } -func (s *TimestampValues) MarshalJSON() ([]byte, error) { - type NoMethod TimestampValues +func (s *VideoCallMetadata) MarshalJSON() ([]byte, error) { + type NoMethod VideoCallMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TypeInfo: Next tag: 2 -type TypeInfo struct { - // VideoInfo: Contains additional video information only if - // document_type is VIDEO. - VideoInfo *VideoInfo `json:"videoInfo,omitempty"` +// VideoInfo: Next tag: 2 +type VideoInfo struct { + // Duration: Duration of the video in milliseconds. This field can be + // absent for recently uploaded video or inaccurate sometimes. + Duration int64 `json:"duration,omitempty"` - // ForceSendFields is a list of field names (e.g. "VideoInfo") to + // ForceSendFields is a list of field names (e.g. "Duration") 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 @@ -7346,7 +21240,7 @@ type TypeInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "VideoInfo") to include in + // NullFields is a list of field names (e.g. "Duration") 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 @@ -7355,35 +21249,28 @@ type TypeInfo struct { NullFields []string `json:"-"` } -func (s *TypeInfo) MarshalJSON() ([]byte, error) { - type NoMethod TypeInfo +func (s *VideoInfo) MarshalJSON() ([]byte, error) { + type NoMethod VideoInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type UnmappedIdentity struct { - // ExternalIdentity: The resource name for an external user. - ExternalIdentity *Principal `json:"externalIdentity,omitempty"` +// VoicePhoneNumber: Represents both long and short phone number that +// can be called or texted. Short telephone numbers are used to reach +// local services. Short numbers and their purpose differ from country +// to country. These numbers in US are in the form of N11 which is a +// three-digit abbreviated dialing telephone number. +type VoicePhoneNumber struct { + // E164: E.164 formatted full phone number with leading +. This field + // also represents encoded form of short telephone numbers in E.164 + // format. e.g. "911" is encoded as "+1911". + E164 string `json:"e164,omitempty"` - // ResolutionStatusCode: The resolution status for the external - // identity. - // - // Possible values: - // "CODE_UNSPECIFIED" - Input-only value. Used to list all unmapped - // identities regardless of status. - // "NOT_FOUND" - The unmapped identity was not found in IDaaS, and - // needs to be provided by the user. - // "IDENTITY_SOURCE_NOT_FOUND" - The identity source associated with - // the identity was either not found or deleted. - // "IDENTITY_SOURCE_MISCONFIGURED" - IDaaS does not understand the - // identity source, probably because the schema was modified in a non - // compatible way. - // "TOO_MANY_MAPPINGS_FOUND" - The number of users associated with the - // external identity is too large. - // "INTERNAL_ERROR" - Internal error. - ResolutionStatusCode string `json:"resolutionStatusCode,omitempty"` + // I18nData: Additional data that could be added using the + // libphonenumber API. + I18nData *VoicePhoneNumberI18nData `json:"i18nData,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExternalIdentity") to + // ForceSendFields is a list of field names (e.g. "E164") 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 @@ -7391,34 +21278,61 @@ type UnmappedIdentity struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExternalIdentity") 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. "E164") 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 *UnmappedIdentity) MarshalJSON() ([]byte, error) { - type NoMethod UnmappedIdentity +func (s *VoicePhoneNumber) MarshalJSON() ([]byte, error) { + type NoMethod VoicePhoneNumber raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type UnreserveItemsRequest struct { - // ConnectorName: The name of connector making this call. Format: - // datasources/{source_id}/connectors/{ID} - ConnectorName string `json:"connectorName,omitempty"` +type VoicePhoneNumberI18nData struct { + // CountryCode: The country calling code for this number, as defined by + // the ITU. For example, this would be 1 for NANPA countries, and 33 for + // France (for more info see + // i18n.phonenumbers.PhoneNumber.country_code). + CountryCode int64 `json:"countryCode,omitempty"` - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` + // InternationalNumber: Display number formatted using the INTERNATIONAL + // format. + InternationalNumber string `json:"internationalNumber,omitempty"` - // Queue: The name of a queue to unreserve items from. - Queue string `json:"queue,omitempty"` + // IsValid: When present, indicates the number is valid according to the + // libphonenumber's isValidNumber API (see + // https://code.google.com/p/libphonenumber/). + IsValid bool `json:"isValid,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConnectorName") to + // NationalNumber: Display number formatted using the NATIONAL format. + NationalNumber string `json:"nationalNumber,omitempty"` + + // RegionCode: A region (country, territory, continent, etc), as defined + // by Unicode's "CLDR", itself based on ISO 3166 (UN country codes). For + // details, see + // https://www.corp.google.com/~engdocs/java/com/google/i18n/identifiers/RegionCode.html + RegionCode string `json:"regionCode,omitempty"` + + // ValidationResult: When set to a non-default value, indicates the + // validation reason that is set when phone number is invalid (is_valid + // is false). + // + // Possible values: + // "UNKNOWN" + // "IS_POSSIBLE" + // "INVALID_COUNTRY_CODE" + // "TOO_SHORT" + // "TOO_LONG" + // "IS_POSSIBLE_LOCAL_ONLY" + // "INVALID_LENGTH" + ValidationResult string `json:"validationResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CountryCode") 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 @@ -7426,7 +21340,7 @@ type UnreserveItemsRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConnectorName") to include + // NullFields is a list of field names (e.g. "CountryCode") 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 @@ -7435,19 +21349,29 @@ type UnreserveItemsRequest struct { NullFields []string `json:"-"` } -func (s *UnreserveItemsRequest) MarshalJSON() ([]byte, error) { - type NoMethod UnreserveItemsRequest +func (s *VoicePhoneNumberI18nData) MarshalJSON() ([]byte, error) { + type NoMethod VoicePhoneNumberI18nData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type UpdateDataSourceRequest struct { - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` +// WhiteboardInfo: Information on a whiteboard attached to an active +// conference. A whiteboard is a Jam document. +type WhiteboardInfo struct { + // Id: The Cosmo Id of the whiteboard document (Jam). + Id string `json:"id,omitempty"` - Source *DataSource `json:"source,omitempty"` + // Title: Title of the whiteboard document. + Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugOptions") to + // Uri: The uri for whiteboard document. + Uri string `json:"uri,omitempty"` + + // WhiteboardUri: This field is deprecated and will be removed. Please + // use "uri" instead. + WhiteboardUri string `json:"whiteboardUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -7455,33 +21379,60 @@ type UpdateDataSourceRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugOptions") 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. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *UpdateDataSourceRequest) MarshalJSON() ([]byte, error) { - type NoMethod UpdateDataSourceRequest +func (s *WhiteboardInfo) MarshalJSON() ([]byte, error) { + type NoMethod WhiteboardInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type UpdateSchemaRequest struct { - // DebugOptions: Common debug options. - DebugOptions *DebugOptions `json:"debugOptions,omitempty"` +type WidgetMarkup struct { + // Buttons: buttons is also oneof data and only one of these fields + // should be set. + Buttons []*Button `json:"buttons,omitempty"` - // Schema: The new schema for the source. - Schema *Schema `json:"schema,omitempty"` + DateTimePicker *DateTimePicker `json:"dateTimePicker,omitempty"` - // ValidateOnly: If true, the schema will be checked for validity, but - // will not be registered with the data source, even if valid. - ValidateOnly bool `json:"validateOnly,omitempty"` + Divider *Divider `json:"divider,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugOptions") to + Grid *Grid `json:"grid,omitempty"` + + // HorizontalAlignment: The horizontal alignment of this widget. + // + // Possible values: + // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" + // "START" + // "CENTER" + // "END" + HorizontalAlignment string `json:"horizontalAlignment,omitempty"` + + Image *Image `json:"image,omitempty"` + + ImageKeyValue *ImageKeyValue `json:"imageKeyValue,omitempty"` + + KeyValue *KeyValue `json:"keyValue,omitempty"` + + // Menu: Input Widgets + Menu *Menu `json:"menu,omitempty"` + + SelectionControl *SelectionControl `json:"selectionControl,omitempty"` + + TextField *TextField `json:"textField,omitempty"` + + TextKeyValue *TextKeyValue `json:"textKeyValue,omitempty"` + + // TextParagraph: Read-only Widgets + TextParagraph *TextParagraph `json:"textParagraph,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Buttons") 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 @@ -7489,35 +21440,33 @@ type UpdateSchemaRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugOptions") 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. "Buttons") 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 *UpdateSchemaRequest) MarshalJSON() ([]byte, error) { - type NoMethod UpdateSchemaRequest +func (s *WidgetMarkup) MarshalJSON() ([]byte, error) { + type NoMethod WidgetMarkup raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// UploadItemRef: Represents an upload session reference. This reference -// is created via upload method. This reference is valid for 30 days -// after its creation. Updating of item content may refer to this -// uploaded content via contentDataRef. -type UploadItemRef struct { - // Name: The name of the content reference. The maximum length is 2048 - // characters. - Name string `json:"name,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +// WrappedResourceKey: A wrapper around a raw resource key. The secret +// should never be logged, and this proto annotates those secret fields +// to ensure that they are not. Clients are encouraged to use this proto +// rather than defining their own, to ensure that secrets are correctly +// annotated. +type WrappedResourceKey struct { + // ResourceKey: Resource key of the Drive item. This field should be + // unset if, depending on the context, the item does not have a resource + // key, or if none was specified. This must never be logged. + ResourceKey string `json:"resourceKey,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to + // ForceSendFields is a list of field names (e.g. "ResourceKey") 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 @@ -7525,64 +21474,39 @@ type UploadItemRef struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "ResourceKey") 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 *UploadItemRef) MarshalJSON() ([]byte, error) { - type NoMethod UploadItemRef +func (s *WrappedResourceKey) MarshalJSON() ([]byte, error) { + type NoMethod WrappedResourceKey raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// UserId: Primary key for User resource. -type UserId struct { - // ActingUserId: Optional. Opaque, server-assigned ID of the user - // profile associated with App/user acting on behalf of the human user. - // This is currently only set when a 3P application is acting on the - // user's behalf. - ActingUserId string `json:"actingUserId,omitempty"` +// YouTubeBroadcastSessionInfo: Information about a YouTube broadcast +// session. +type YouTubeBroadcastSessionInfo struct { + // BroadcastStats: Current broadcast session's statistics. + BroadcastStats *YouTubeBroadcastStats `json:"broadcastStats,omitempty"` - // Id: Opaque, server-assigned ID of the User. - Id string `json:"id,omitempty"` + // SessionStateInfo: YouTube broadcast session's state information. + SessionStateInfo *SessionStateInfo `json:"sessionStateInfo,omitempty"` - // OriginAppId: Optional. Identifier of the App involved (directly or on - // behalf of a human creator) in creating this message. This is not set - // if the user posted a message directly, but is used in the case of, - // for example, a message being generated by a 1P integration based on a - // user action (creating an event, creating a task etc). This should - // only be used on the BE. For clients, please use the field in the FE - // message proto instead - // (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id). - OriginAppId *AppId `json:"originAppId,omitempty"` + // YouTubeBroadcastSessionId: A unique server-generated ID for the + // broadcast session. + YouTubeBroadcastSessionId string `json:"youTubeBroadcastSessionId,omitempty"` - // Type: Clients do not need to send UserType to Backend, but Backend - // will always send this field to clients per the following rule: 1. For - // HUMAN Ids, the field is empty but by default .getType() will return - // HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT. - // - // Possible values: - // "HUMAN" - Notes on HUMAN type: 1) Leaving UserId.UserType field - // empty will return HUMAN as default value. This is expected because - // all the existing UserIds are without explicitly setting UserType, - // most of which are HUMAN Ids. For Bot Ids we will always set BOT in - // UserType field. 2) DO NOT explicitly set HUMAN as type. This is a - // proto2 issue, that a UserId with explicitly set default value HUMAN - // as type is NOT equal to an id without setting the field. aka. UserId - // id1 = UserId.newBuilder() - // .setId("dummy").setType(UserType.HUMAN).build(); UserId id2 = - // UserId.newBuilder().setId("dummy").build(); - // AssertThat(id1).isNotEqual(id2); - // AssertThat(id2.getType()).isEqualTo(UserType.HUMAN); - // "BOT" - Type string `json:"type,omitempty"` + // YouTubeLiveBroadcastEvent: The YouTube Live broadcast event that is + // being streamed to. + YouTubeLiveBroadcastEvent *YouTubeLiveBroadcastEvent `json:"youTubeLiveBroadcastEvent,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActingUserId") to + // ForceSendFields is a list of field names (e.g. "BroadcastStats") 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 @@ -7590,66 +21514,67 @@ type UserId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActingUserId") 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. "BroadcastStats") 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 *UserId) MarshalJSON() ([]byte, error) { - type NoMethod UserId +func (s *YouTubeBroadcastSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod YouTubeBroadcastSessionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type VPCSettings struct { - // Project: The resource name of the GCP Project to be used for VPC SC - // policy check. VPC security settings on this project will be honored - // for Cloud Search APIs after project_name has been updated through - // CustomerService. Format: projects/{project_id} - Project string `json:"project,omitempty"` +// YouTubeBroadcastStats: Statistics of the YouTube broadcast session. +type YouTubeBroadcastStats struct { + // EstimatedViewerCount: Estimated concurrent viewer count. + EstimatedViewerCount int64 `json:"estimatedViewerCount,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Project") 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. + // "EstimatedViewerCount") 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. "Project") 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. "EstimatedViewerCount") 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 *VPCSettings) MarshalJSON() ([]byte, error) { - type NoMethod VPCSettings +func (s *YouTubeBroadcastStats) MarshalJSON() ([]byte, error) { + type NoMethod YouTubeBroadcastStats raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Value: Definition of a single value with generic type. -type Value struct { - BooleanValue bool `json:"booleanValue,omitempty"` - - DateValue *Date `json:"dateValue,omitempty"` - - DoubleValue float64 `json:"doubleValue,omitempty"` - - IntegerValue int64 `json:"integerValue,omitempty,string"` +// YouTubeLiveBroadcastEvent: Information about the broadcast to +// YouTube. +type YouTubeLiveBroadcastEvent struct { + // BroadcastId: Input only. The broadcast id, used to control the + // lifecycle of the event on YouTube + BroadcastId string `json:"broadcastId,omitempty"` - StringValue string `json:"stringValue,omitempty"` + // ChannelId: YouTube channel associated with the broadcast. + ChannelId string `json:"channelId,omitempty"` - TimestampValue string `json:"timestampValue,omitempty"` + // ViewUrl: Output only. A URL that can be used to watch the meeting + // broadcast. Will be populated by the backend. + ViewUrl string `json:"viewUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "BooleanValue") to + // ForceSendFields is a list of field names (e.g. "BroadcastId") 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 @@ -7657,7 +21582,7 @@ type Value struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BooleanValue") to include + // NullFields is a list of field names (e.g. "BroadcastId") 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 @@ -7666,41 +21591,16 @@ type Value struct { NullFields []string `json:"-"` } -func (s *Value) MarshalJSON() ([]byte, error) { - type NoMethod Value +func (s *YouTubeLiveBroadcastEvent) MarshalJSON() ([]byte, error) { + type NoMethod YouTubeLiveBroadcastEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *Value) UnmarshalJSON(data []byte) error { - type NoMethod Value - var s1 struct { - DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DoubleValue = float64(s1.DoubleValue) - return nil -} - -type ValueFilter struct { - // OperatorName: The `operator_name` applied to the query, such as - // *price_greater_than*. The filter can work against both types of - // filters defined in the schema for your data source: 1. - // `operator_name`, where the query filters results by the property that - // matches the value. 2. `greater_than_operator_name` or - // `less_than_operator_name` in your schema. The query filters the - // results for the property values that are greater than or less than - // the supplied value in the query. - OperatorName string `json:"operatorName,omitempty"` - - // Value: The value to be compared with. - Value *Value `json:"value,omitempty"` +type YoutubeUserProto struct { + YoutubeUserId int64 `json:"youtubeUserId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + // ForceSendFields is a list of field names (e.g. "YoutubeUserId") 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 @@ -7708,7 +21608,7 @@ type ValueFilter struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperatorName") to include + // NullFields is a list of field names (e.g. "YoutubeUserId") 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 @@ -7717,37 +21617,37 @@ type ValueFilter struct { NullFields []string `json:"-"` } -func (s *ValueFilter) MarshalJSON() ([]byte, error) { - type NoMethod ValueFilter +func (s *YoutubeUserProto) MarshalJSON() ([]byte, error) { + type NoMethod YoutubeUserProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// VideoInfo: Next tag: 2 -type VideoInfo struct { - // Duration: Duration of the video in milliseconds. This field can be - // absent for recently uploaded video or inaccurate sometimes. - Duration int64 `json:"duration,omitempty"` +// ZwiebackSessionProto: See go/zwieback. New uses of Zwieback sessions +// must be approved via go/zwieback-request. +type ZwiebackSessionProto struct { + ZwiebackSessionId uint64 `json:"zwiebackSessionId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Duration") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "ZwiebackSessionId") + // 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. "Duration") 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. "ZwiebackSessionId") 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 *VideoInfo) MarshalJSON() ([]byte, error) { - type NoMethod VideoInfo +func (s *ZwiebackSessionProto) MarshalJSON() ([]byte, error) { + type NoMethod ZwiebackSessionProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -12598,92 +26498,272 @@ func (r *SettingsDatasourcesService) List() *SettingsDatasourcesListCall { // DebugOptionsEnableDebugging sets the optional parameter // "debugOptions.enableDebugging": If you are asked by Google to help // with debugging, set this field. Otherwise, ignore this field. -func (c *SettingsDatasourcesListCall) DebugOptionsEnableDebugging(debugOptionsEnableDebugging bool) *SettingsDatasourcesListCall { +func (c *SettingsDatasourcesListCall) DebugOptionsEnableDebugging(debugOptionsEnableDebugging bool) *SettingsDatasourcesListCall { + c.urlParams_.Set("debugOptions.enableDebugging", fmt.Sprint(debugOptionsEnableDebugging)) + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// datasources to fetch in a request. The max value is 1000. The default +// value is 1000. +func (c *SettingsDatasourcesListCall) PageSize(pageSize int64) *SettingsDatasourcesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Starting index of +// the results. +func (c *SettingsDatasourcesListCall) PageToken(pageToken string) *SettingsDatasourcesListCall { + 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 *SettingsDatasourcesListCall) Fields(s ...googleapi.Field) *SettingsDatasourcesListCall { + 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 *SettingsDatasourcesListCall) IfNoneMatch(entityTag string) *SettingsDatasourcesListCall { + 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 *SettingsDatasourcesListCall) Context(ctx context.Context) *SettingsDatasourcesListCall { + 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 *SettingsDatasourcesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SettingsDatasourcesListCall) 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/settings/datasources") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudsearch.settings.datasources.list" call. +// Exactly one of *ListDataSourceResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListDataSourceResponse.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 *SettingsDatasourcesListCall) Do(opts ...googleapi.CallOption) (*ListDataSourceResponse, 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, &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, err + } + ret := &ListDataSourceResponse{ + 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 datasources. **Note:** This API requires an admin account to execute.", + // "flatPath": "v1/settings/datasources", + // "httpMethod": "GET", + // "id": "cloudsearch.settings.datasources.list", + // "parameterOrder": [], + // "parameters": { + // "debugOptions.enableDebugging": { + // "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", + // "location": "query", + // "type": "boolean" + // }, + // "pageSize": { + // "description": "Maximum number of datasources to fetch in a request. The max value is 1000. The default value is 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Starting index of the results.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/settings/datasources", + // "response": { + // "$ref": "ListDataSourceResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud_search", + // "https://www.googleapis.com/auth/cloud_search.settings", + // "https://www.googleapis.com/auth/cloud_search.settings.indexing" + // ] + // } + +} + +// 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 *SettingsDatasourcesListCall) Pages(ctx context.Context, f func(*ListDataSourceResponse) 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 "cloudsearch.settings.datasources.patch": + +type SettingsDatasourcesPatchCall struct { + s *Service + name string + datasource *DataSource + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a datasource. **Note:** This API requires an admin +// account to execute. +// +// - name: The name of the datasource resource. Format: +// datasources/{source_id}. The name is ignored when creating a +// datasource. +func (r *SettingsDatasourcesService) Patch(name string, datasource *DataSource) *SettingsDatasourcesPatchCall { + c := &SettingsDatasourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.datasource = datasource + return c +} + +// DebugOptionsEnableDebugging sets the optional parameter +// "debugOptions.enableDebugging": If you are asked by Google to help +// with debugging, set this field. Otherwise, ignore this field. +func (c *SettingsDatasourcesPatchCall) DebugOptionsEnableDebugging(debugOptionsEnableDebugging bool) *SettingsDatasourcesPatchCall { c.urlParams_.Set("debugOptions.enableDebugging", fmt.Sprint(debugOptionsEnableDebugging)) return c } -// PageSize sets the optional parameter "pageSize": Maximum number of -// datasources to fetch in a request. The max value is 1000. The default -// value is 1000. -func (c *SettingsDatasourcesListCall) PageSize(pageSize int64) *SettingsDatasourcesListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": Starting index of -// the results. -func (c *SettingsDatasourcesListCall) PageToken(pageToken string) *SettingsDatasourcesListCall { - 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 *SettingsDatasourcesListCall) Fields(s ...googleapi.Field) *SettingsDatasourcesListCall { +func (c *SettingsDatasourcesPatchCall) Fields(s ...googleapi.Field) *SettingsDatasourcesPatchCall { 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 *SettingsDatasourcesListCall) IfNoneMatch(entityTag string) *SettingsDatasourcesListCall { - 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 *SettingsDatasourcesListCall) Context(ctx context.Context) *SettingsDatasourcesListCall { +func (c *SettingsDatasourcesPatchCall) Context(ctx context.Context) *SettingsDatasourcesPatchCall { 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 *SettingsDatasourcesListCall) Header() http.Header { +func (c *SettingsDatasourcesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *SettingsDatasourcesListCall) doRequest(alt string) (*http.Response, error) { +func (c *SettingsDatasourcesPatchCall) 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 + body, err := googleapi.WithoutDataWrapper.JSONReader(c.datasource) + 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/settings/datasources") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/settings/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + 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 "cloudsearch.settings.datasources.list" call. -// Exactly one of *ListDataSourceResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListDataSourceResponse.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 *SettingsDatasourcesListCall) Do(opts ...googleapi.CallOption) (*ListDataSourceResponse, error) { +// Do executes the "cloudsearch.settings.datasources.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 *SettingsDatasourcesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -12702,7 +26782,7 @@ func (c *SettingsDatasourcesListCall) Do(opts ...googleapi.CallOption) (*ListDat if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListDataSourceResponse{ + ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -12714,32 +26794,33 @@ func (c *SettingsDatasourcesListCall) Do(opts ...googleapi.CallOption) (*ListDat } return ret, nil // { - // "description": "Lists datasources. **Note:** This API requires an admin account to execute.", - // "flatPath": "v1/settings/datasources", - // "httpMethod": "GET", - // "id": "cloudsearch.settings.datasources.list", - // "parameterOrder": [], + // "description": "Updates a datasource. **Note:** This API requires an admin account to execute.", + // "flatPath": "v1/settings/datasources/{datasourcesId}", + // "httpMethod": "PATCH", + // "id": "cloudsearch.settings.datasources.patch", + // "parameterOrder": [ + // "name" + // ], // "parameters": { // "debugOptions.enableDebugging": { // "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", // "location": "query", // "type": "boolean" // }, - // "pageSize": { - // "description": "Maximum number of datasources to fetch in a request. The max value is 1000. The default value is 1000.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Starting index of the results.", - // "location": "query", + // "name": { + // "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + // "location": "path", + // "pattern": "^datasources/[^/]+$", + // "required": true, // "type": "string" // } // }, - // "path": "v1/settings/datasources", + // "path": "v1/settings/{+name}", + // "request": { + // "$ref": "DataSource" + // }, // "response": { - // "$ref": "ListDataSourceResponse" + // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud_search", @@ -12750,27 +26831,6 @@ func (c *SettingsDatasourcesListCall) Do(opts ...googleapi.CallOption) (*ListDat } -// 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 *SettingsDatasourcesListCall) Pages(ctx context.Context, f func(*ListDataSourceResponse) 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 "cloudsearch.settings.datasources.update": type SettingsDatasourcesUpdateCall struct { @@ -13551,6 +27611,152 @@ func (c *SettingsSearchapplicationsListCall) Pages(ctx context.Context, f func(* } } +// method id "cloudsearch.settings.searchapplications.patch": + +type SettingsSearchapplicationsPatchCall struct { + s *Service + name string + searchapplication *SearchApplication + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a search application. **Note:** This API requires an +// admin account to execute. +// +// - name: The name of the Search Application. Format: +// searchapplications/{application_id}. +func (r *SettingsSearchapplicationsService) Patch(name string, searchapplication *SearchApplication) *SettingsSearchapplicationsPatchCall { + c := &SettingsSearchapplicationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.searchapplication = searchapplication + 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 *SettingsSearchapplicationsPatchCall) Fields(s ...googleapi.Field) *SettingsSearchapplicationsPatchCall { + 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 *SettingsSearchapplicationsPatchCall) Context(ctx context.Context) *SettingsSearchapplicationsPatchCall { + 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 *SettingsSearchapplicationsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SettingsSearchapplicationsPatchCall) 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.searchapplication) + 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/settings/{+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 "cloudsearch.settings.searchapplications.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 *SettingsSearchapplicationsPatchCall) 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, &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, 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": "Updates a search application. **Note:** This API requires an admin account to execute.", + // "flatPath": "v1/settings/searchapplications/{searchapplicationsId}", + // "httpMethod": "PATCH", + // "id": "cloudsearch.settings.searchapplications.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the Search Application. Format: searchapplications/{application_id}.", + // "location": "path", + // "pattern": "^searchapplications/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/settings/{+name}", + // "request": { + // "$ref": "SearchApplication" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud_search", + // "https://www.googleapis.com/auth/cloud_search.settings", + // "https://www.googleapis.com/auth/cloud_search.settings.query" + // ] + // } + +} + // method id "cloudsearch.settings.searchapplications.reset": type SettingsSearchapplicationsResetCall struct { diff --git a/containeranalysis/v1/containeranalysis-api.json b/containeranalysis/v1/containeranalysis-api.json index bd1b806425e..3609a6ed5b3 100644 --- a/containeranalysis/v1/containeranalysis-api.json +++ b/containeranalysis/v1/containeranalysis-api.json @@ -755,7 +755,7 @@ } } }, - "revision": "20220707", + "revision": "20220727", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -2739,8 +2739,8 @@ "ANALYSIS_STATUS_UNSPECIFIED", "PENDING", "SCANNING", - "FINISHED_SUCCESS", "COMPLETE", + "FINISHED_SUCCESS", "FINISHED_FAILED", "FINISHED_UNSUPPORTED" ], @@ -2748,8 +2748,8 @@ "Unknown.", "Resource is known but no action has been taken yet.", "Resource is being analyzed.", - "Analysis has finished successfully.", "Analysis has completed", + "Analysis has finished successfully.", "Analysis has finished unsuccessfully, the analysis itself is in a bad state.", "The resource is known not to be supported." ], diff --git a/containeranalysis/v1/containeranalysis-gen.go b/containeranalysis/v1/containeranalysis-gen.go index a17f02d24f0..2788b287f6b 100644 --- a/containeranalysis/v1/containeranalysis-gen.go +++ b/containeranalysis/v1/containeranalysis-gen.go @@ -3038,8 +3038,8 @@ type DiscoveryOccurrence struct { // "ANALYSIS_STATUS_UNSPECIFIED" - Unknown. // "PENDING" - Resource is known but no action has been taken yet. // "SCANNING" - Resource is being analyzed. - // "FINISHED_SUCCESS" - Analysis has finished successfully. // "COMPLETE" - Analysis has completed + // "FINISHED_SUCCESS" - Analysis has finished successfully. // "FINISHED_FAILED" - Analysis has finished unsuccessfully, the // analysis itself is in a bad state. // "FINISHED_UNSUPPORTED" - The resource is known not to be supported. diff --git a/containeranalysis/v1alpha1/containeranalysis-api.json b/containeranalysis/v1alpha1/containeranalysis-api.json index 055c16efaee..bda2e4733d8 100644 --- a/containeranalysis/v1alpha1/containeranalysis-api.json +++ b/containeranalysis/v1alpha1/containeranalysis-api.json @@ -1229,9 +1229,23 @@ } } }, - "revision": "20220707", + "revision": "20220727", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { + "AnalysisCompleted": { + "description": "Indicates which analysis completed successfully. Multiple types of analysis can be performed on a single resource.", + "id": "AnalysisCompleted", + "properties": { + "analysisType": { + "description": "type of analysis that were completed on a resource.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Artifact": { "description": "Artifact describes a build product.", "id": "Artifact", @@ -3001,12 +3015,24 @@ "description": "Provides information about the scan status of a discovered resource.", "id": "Discovered", "properties": { + "analysisCompleted": { + "$ref": "AnalysisCompleted", + "description": "The list of analysis that were completed for a resource." + }, + "analysisError": { + "description": "Indicates any errors encountered during analysis of a resource. There could be 0 or more of these errors.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, "analysisStatus": { "description": "The status of discovery for the resource.", "enum": [ "ANALYSIS_STATUS_UNSPECIFIED", "PENDING", "SCANNING", + "COMPLETE", "FINISHED_SUCCESS", "FINISHED_FAILED", "FINISHED_UNSUPPORTED" @@ -3015,6 +3041,7 @@ "Unknown", "Resource is known but no action has been taken yet.", "Resource is being analyzed.", + "Analysis has completed", "Analysis has finished successfully.", "Analysis has finished unsuccessfully, the analysis itself is in a bad state.", "The resource is known not to be supported." diff --git a/containeranalysis/v1alpha1/containeranalysis-gen.go b/containeranalysis/v1alpha1/containeranalysis-gen.go index be4ebba4914..93b574abcce 100644 --- a/containeranalysis/v1alpha1/containeranalysis-gen.go +++ b/containeranalysis/v1alpha1/containeranalysis-gen.go @@ -242,6 +242,35 @@ type ProvidersNotesOccurrencesService struct { s *Service } +// AnalysisCompleted: Indicates which analysis completed successfully. +// Multiple types of analysis can be performed on a single resource. +type AnalysisCompleted struct { + // AnalysisType: type of analysis that were completed on a resource. + AnalysisType []string `json:"analysisType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnalysisType") 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. "AnalysisType") 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 *AnalysisCompleted) MarshalJSON() ([]byte, error) { + type NoMethod AnalysisCompleted + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Artifact: Artifact describes a build product. type Artifact struct { // Checksum: Hash or checksum value of a binary, or Docker Registry 2.0 @@ -2881,12 +2910,21 @@ func (s *Digest) MarshalJSON() ([]byte, error) { // Discovered: Provides information about the scan status of a // discovered resource. type Discovered struct { + // AnalysisCompleted: The list of analysis that were completed for a + // resource. + AnalysisCompleted *AnalysisCompleted `json:"analysisCompleted,omitempty"` + + // AnalysisError: Indicates any errors encountered during analysis of a + // resource. There could be 0 or more of these errors. + AnalysisError []*Status `json:"analysisError,omitempty"` + // AnalysisStatus: The status of discovery for the resource. // // Possible values: // "ANALYSIS_STATUS_UNSPECIFIED" - Unknown // "PENDING" - Resource is known but no action has been taken yet. // "SCANNING" - Resource is being analyzed. + // "COMPLETE" - Analysis has completed // "FINISHED_SUCCESS" - Analysis has finished successfully. // "FINISHED_FAILED" - Analysis has finished unsuccessfully, the // analysis itself is in a bad state. @@ -2920,15 +2958,15 @@ type Discovered struct { // current scan. This field is deprecated, do not use. Operation *Operation `json:"operation,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnalysisStatus") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "AnalysisCompleted") + // 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. "AnalysisStatus") to + // NullFields is a list of field names (e.g. "AnalysisCompleted") 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 diff --git a/containeranalysis/v1beta1/containeranalysis-api.json b/containeranalysis/v1beta1/containeranalysis-api.json index 28a541d8c8f..c2e22358225 100644 --- a/containeranalysis/v1beta1/containeranalysis-api.json +++ b/containeranalysis/v1beta1/containeranalysis-api.json @@ -853,7 +853,7 @@ } } }, - "revision": "20220707", + "revision": "20220727", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -2726,8 +2726,8 @@ "ANALYSIS_STATUS_UNSPECIFIED", "PENDING", "SCANNING", - "FINISHED_SUCCESS", "COMPLETE", + "FINISHED_SUCCESS", "FINISHED_FAILED", "FINISHED_UNSUPPORTED" ], @@ -2735,8 +2735,8 @@ "Unknown.", "Resource is known but no action has been taken yet.", "Resource is being analyzed.", - "Analysis has finished successfully.", "Analysis has completed.", + "Analysis has finished successfully.", "Analysis has finished unsuccessfully, the analysis itself is in a bad state.", "The resource is known not to be supported" ], diff --git a/containeranalysis/v1beta1/containeranalysis-gen.go b/containeranalysis/v1beta1/containeranalysis-gen.go index b58dea898b5..d70895c7517 100644 --- a/containeranalysis/v1beta1/containeranalysis-gen.go +++ b/containeranalysis/v1beta1/containeranalysis-gen.go @@ -2848,8 +2848,8 @@ type Discovered struct { // "ANALYSIS_STATUS_UNSPECIFIED" - Unknown. // "PENDING" - Resource is known but no action has been taken yet. // "SCANNING" - Resource is being analyzed. - // "FINISHED_SUCCESS" - Analysis has finished successfully. // "COMPLETE" - Analysis has completed. + // "FINISHED_SUCCESS" - Analysis has finished successfully. // "FINISHED_FAILED" - Analysis has finished unsuccessfully, the // analysis itself is in a bad state. // "FINISHED_UNSUPPORTED" - The resource is known not to be supported diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index e274304e827..b35ca16081a 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -5908,7 +5908,7 @@ } } }, - "revision": "20220720", + "revision": "20220728", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -8065,36 +8065,36 @@ "type": "object" }, "DateTime": { - "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", "id": "DateTime", "properties": { "day": { - "description": "Required. Day of month. Must be from 1 to 31 and valid for the year and month.", + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", "format": "int32", "type": "integer" }, "hours": { - "description": "Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Required. Minutes of hour of day. Must be from 0 to 59.", + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", "format": "int32", "type": "integer" }, "month": { - "description": "Required. Month of year. Must be from 1 to 12.", + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" }, @@ -13258,6 +13258,208 @@ }, "type": "object" }, + "ProductView": { + "description": "Product fields. Values are only set for fields requested explicitly in the request's search query.", + "id": "ProductView", + "properties": { + "aggregatedDestinationStatus": { + "description": "Aggregated destination status.", + "enum": [ + "AGGREGATED_STATUS_UNSPECIFIED", + "NOT_ELIGIBLE_OR_DISAPPROVED", + "PENDING", + "ELIGIBLE_LIMITED", + "ELIGIBLE" + ], + "enumDescriptions": [ + "Undefined aggregated status.", + "Offer isn't eligible, or is disapproved for all destinations.", + "Offer's status is pending in all destinations.", + "Offer is eligible for some (but not all) destinations.", + "Offer is eligible for all destinations." + ], + "type": "string" + }, + "availability": { + "description": "Availability of the product.", + "type": "string" + }, + "brand": { + "description": "Brand of the product.", + "type": "string" + }, + "channel": { + "description": "Channel of the product (online versus local).", + "enum": [ + "CHANNEL_UNSPECIFIED", + "LOCAL", + "ONLINE" + ], + "enumDescriptions": [ + "Indicates that the channel is unspecified.", + "Indicates that the channel is local.", + "Indicates that the channel is online." + ], + "type": "string" + }, + "condition": { + "description": "Condition of the product.", + "type": "string" + }, + "creationTime": { + "description": "The time the merchant created the product in timestamp seconds.", + "format": "google-datetime", + "type": "string" + }, + "currencyCode": { + "description": "Product price currency code (for example, ISO 4217). Absent if product price is not available.", + "type": "string" + }, + "expirationDate": { + "$ref": "Date", + "description": "Expiration date for the product. Specified on insertion." + }, + "gtin": { + "description": "GTIN of the product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The REST ID of the product, in the form of channel:contentLanguage:targetCountry:offerId. Content API methods that operate on products take this as their productId parameter. Should always be included in the SELECT clause.", + "type": "string" + }, + "itemGroupId": { + "description": "Item group ID provided by the merchant for grouping variants together.", + "type": "string" + }, + "itemIssues": { + "description": "List of item issues for the product.", + "items": { + "$ref": "ProductViewItemIssue" + }, + "type": "array" + }, + "languageCode": { + "description": "Language code of the product in BCP 47 format.", + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product.", + "type": "string" + }, + "priceMicros": { + "description": "Product price specified as micros in the product currency. Absent in case the information about the price of the product is not available.", + "format": "int64", + "type": "string" + }, + "shippingLabel": { + "description": "The normalized shipping label specified in the feed", + "type": "string" + }, + "title": { + "description": "Title of the product.", + "type": "string" + } + }, + "type": "object" + }, + "ProductViewItemIssue": { + "description": "Item issue associated with the product.", + "id": "ProductViewItemIssue", + "properties": { + "issueType": { + "$ref": "ProductViewItemIssueItemIssueType", + "description": "Item issue type." + }, + "resolution": { + "description": "Item issue resolution.", + "enum": [ + "UNKNOWN", + "MERCHANT_ACTION", + "PENDING_PROCESSING" + ], + "enumDescriptions": [ + "Unknown resolution type.", + "The merchant has to fix the issue.", + "The issue will be resolved automatically (for example, image crawl), or Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)." + ], + "type": "string" + }, + "severity": { + "$ref": "ProductViewItemIssueItemIssueSeverity", + "description": "Item issue severity." + } + }, + "type": "object" + }, + "ProductViewItemIssueIssueSeverityPerDestination": { + "description": "Issue severity for all affected regions in a destination.", + "id": "ProductViewItemIssueIssueSeverityPerDestination", + "properties": { + "demotedCountries": { + "description": "List of demoted countries in the destination.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destination": { + "description": "Issue destination.", + "type": "string" + }, + "disapprovedCountries": { + "description": "List of disapproved countries in the destination.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProductViewItemIssueItemIssueSeverity": { + "description": "Severity of an issue per destination in a region, and aggregated severity.", + "id": "ProductViewItemIssueItemIssueSeverity", + "properties": { + "aggregatedSeverity": { + "description": "Severity of an issue aggregated for destination.", + "enum": [ + "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED", + "DISAPPROVED", + "DEMOTED", + "PENDING" + ], + "enumDescriptions": [ + "Undefined Issue severity.", + "Issue disapproves the product in at least one of the selected destinations.", + "Issue demotes the product in all selected destinations it affects.", + "Issue resolution is `PENDING_PROCESSING`." + ], + "type": "string" + }, + "severityPerDestination": { + "description": "Item issue severity for every destination.", + "items": { + "$ref": "ProductViewItemIssueIssueSeverityPerDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProductViewItemIssueItemIssueType": { + "description": "Type of the item issue.", + "id": "ProductViewItemIssueItemIssueType", + "properties": { + "canonicalAttribute": { + "description": "Canonical attribute name for attribute-specific issues.", + "type": "string" + } + }, + "type": "object" + }, "ProductWeight": { "id": "ProductWeight", "properties": { @@ -14038,6 +14240,10 @@ "$ref": "Metrics", "description": "Metrics requested by the merchant in the query. Metric values are only set for metrics requested explicitly in the query." }, + "productView": { + "$ref": "ProductView", + "description": "Product fields requested by the merchant in the query. Field values are only set if the merchant queries `ProductView`. `product_view` field is available only to allowlisted users who can query the `ProductView` table." + }, "segments": { "$ref": "Segments", "description": "Segmentation dimensions requested by the merchant in the query. Dimension values are only set for dimensions requested explicitly in the query." diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index 6de8b9a37f9..a8ef6d0f98f 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -4252,38 +4252,40 @@ func (s *Date) MarshalJSON() ([]byte, error) { // utc_offset is unset: a civil time on a calendar day in a particular // time zone. * When neither time_zone nor utc_offset is set: a civil // time on a calendar day in local time. The date is relative to the -// Proleptic Gregorian Calendar. If year is 0, the DateTime is -// considered not to have a specific year. month and day must have -// valid, non-zero values. This type may also be used to represent a -// physical time if all the date and time fields are set and either case -// of the `time_offset` oneof is set. Consider using `Timestamp` message -// for physical time instead. If your use case also would like to store -// the user's timezone, that can be done in another field. This type is -// more flexible than some applications may want. Make sure to document -// and validate your application's limitations. +// Proleptic Gregorian Calendar. If year, month, or day are 0, the +// DateTime is considered not to have a specific year, month, or day +// respectively. This type may also be used to represent a physical time +// if all the date and time fields are set and either case of the +// `time_offset` oneof is set. Consider using `Timestamp` message for +// physical time instead. If your use case also would like to store the +// user's timezone, that can be done in another field. This type is more +// flexible than some applications may want. Make sure to document and +// validate your application's limitations. type DateTime struct { - // Day: Required. Day of month. Must be from 1 to 31 and valid for the - // year and month. + // Day: Optional. Day of month. Must be from 1 to 31 and valid for the + // year and month, or 0 if specifying a datetime without a day. Day int64 `json:"day,omitempty"` - // Hours: Required. Hours of day in 24 hour format. Should be from 0 to - // 23. An API may choose to allow the value "24:00:00" for scenarios - // like business closing time. + // Hours: Optional. Hours of day in 24 hour format. Should be from 0 to + // 23, defaults to 0 (midnight). An API may choose to allow the value + // "24:00:00" for scenarios like business closing time. Hours int64 `json:"hours,omitempty"` - // Minutes: Required. Minutes of hour of day. Must be from 0 to 59. + // Minutes: Optional. Minutes of hour of day. Must be from 0 to 59, + // defaults to 0. Minutes int64 `json:"minutes,omitempty"` - // Month: Required. Month of year. Must be from 1 to 12. + // Month: Optional. Month of year. Must be from 1 to 12, or 0 if + // specifying a datetime without a month. Month int64 `json:"month,omitempty"` - // Nanos: Required. Fractions of seconds in nanoseconds. Must be from 0 - // to 999,999,999. + // Nanos: Optional. Fractions of seconds in nanoseconds. Must be from 0 + // to 999,999,999, defaults to 0. Nanos int64 `json:"nanos,omitempty"` - // Seconds: Required. Seconds of minutes of the time. Must normally be - // from 0 to 59. An API may allow the value 60 if it allows - // leap-seconds. + // Seconds: Optional. Seconds of minutes of the time. Must normally be + // from 0 to 59, defaults to 0. An API may allow the value 60 if it + // allows leap-seconds. Seconds int64 `json:"seconds,omitempty"` // TimeZone: Time zone. @@ -13106,6 +13108,258 @@ func (s *ProductUnitPricingMeasure) UnmarshalJSON(data []byte) error { return nil } +// ProductView: Product fields. Values are only set for fields requested +// explicitly in the request's search query. +type ProductView struct { + // AggregatedDestinationStatus: Aggregated destination status. + // + // Possible values: + // "AGGREGATED_STATUS_UNSPECIFIED" - Undefined aggregated status. + // "NOT_ELIGIBLE_OR_DISAPPROVED" - Offer isn't eligible, or is + // disapproved for all destinations. + // "PENDING" - Offer's status is pending in all destinations. + // "ELIGIBLE_LIMITED" - Offer is eligible for some (but not all) + // destinations. + // "ELIGIBLE" - Offer is eligible for all destinations. + AggregatedDestinationStatus string `json:"aggregatedDestinationStatus,omitempty"` + + // Availability: Availability of the product. + Availability string `json:"availability,omitempty"` + + // Brand: Brand of the product. + Brand string `json:"brand,omitempty"` + + // Channel: Channel of the product (online versus local). + // + // Possible values: + // "CHANNEL_UNSPECIFIED" - Indicates that the channel is unspecified. + // "LOCAL" - Indicates that the channel is local. + // "ONLINE" - Indicates that the channel is online. + Channel string `json:"channel,omitempty"` + + // Condition: Condition of the product. + Condition string `json:"condition,omitempty"` + + // CreationTime: The time the merchant created the product in timestamp + // seconds. + CreationTime string `json:"creationTime,omitempty"` + + // CurrencyCode: Product price currency code (for example, ISO 4217). + // Absent if product price is not available. + CurrencyCode string `json:"currencyCode,omitempty"` + + // ExpirationDate: Expiration date for the product. Specified on + // insertion. + ExpirationDate *Date `json:"expirationDate,omitempty"` + + // Gtin: GTIN of the product. + Gtin []string `json:"gtin,omitempty"` + + // Id: The REST ID of the product, in the form of + // channel:contentLanguage:targetCountry:offerId. Content API methods + // that operate on products take this as their productId parameter. + // Should always be included in the SELECT clause. + Id string `json:"id,omitempty"` + + // ItemGroupId: Item group ID provided by the merchant for grouping + // variants together. + ItemGroupId string `json:"itemGroupId,omitempty"` + + // ItemIssues: List of item issues for the product. + ItemIssues []*ProductViewItemIssue `json:"itemIssues,omitempty"` + + // LanguageCode: Language code of the product in BCP 47 format. + LanguageCode string `json:"languageCode,omitempty"` + + // OfferId: Merchant-provided id of the product. + OfferId string `json:"offerId,omitempty"` + + // PriceMicros: Product price specified as micros in the product + // currency. Absent in case the information about the price of the + // product is not available. + PriceMicros int64 `json:"priceMicros,omitempty,string"` + + // ShippingLabel: The normalized shipping label specified in the feed + ShippingLabel string `json:"shippingLabel,omitempty"` + + // Title: Title of the product. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AggregatedDestinationStatus") 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. + // "AggregatedDestinationStatus") 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 *ProductView) MarshalJSON() ([]byte, error) { + type NoMethod ProductView + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductViewItemIssue: Item issue associated with the product. +type ProductViewItemIssue struct { + // IssueType: Item issue type. + IssueType *ProductViewItemIssueItemIssueType `json:"issueType,omitempty"` + + // Resolution: Item issue resolution. + // + // Possible values: + // "UNKNOWN" - Unknown resolution type. + // "MERCHANT_ACTION" - The merchant has to fix the issue. + // "PENDING_PROCESSING" - The issue will be resolved automatically + // (for example, image crawl), or Google review. No merchant action is + // required now. Resolution might lead to another issue (for example, if + // crawl fails). + Resolution string `json:"resolution,omitempty"` + + // Severity: Item issue severity. + Severity *ProductViewItemIssueItemIssueSeverity `json:"severity,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IssueType") 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. "IssueType") 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 *ProductViewItemIssue) MarshalJSON() ([]byte, error) { + type NoMethod ProductViewItemIssue + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductViewItemIssueIssueSeverityPerDestination: Issue severity for +// all affected regions in a destination. +type ProductViewItemIssueIssueSeverityPerDestination struct { + // DemotedCountries: List of demoted countries in the destination. + DemotedCountries []string `json:"demotedCountries,omitempty"` + + // Destination: Issue destination. + Destination string `json:"destination,omitempty"` + + // DisapprovedCountries: List of disapproved countries in the + // destination. + DisapprovedCountries []string `json:"disapprovedCountries,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DemotedCountries") 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. "DemotedCountries") 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 *ProductViewItemIssueIssueSeverityPerDestination) MarshalJSON() ([]byte, error) { + type NoMethod ProductViewItemIssueIssueSeverityPerDestination + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductViewItemIssueItemIssueSeverity: Severity of an issue per +// destination in a region, and aggregated severity. +type ProductViewItemIssueItemIssueSeverity struct { + // AggregatedSeverity: Severity of an issue aggregated for destination. + // + // Possible values: + // "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED" - Undefined Issue severity. + // "DISAPPROVED" - Issue disapproves the product in at least one of + // the selected destinations. + // "DEMOTED" - Issue demotes the product in all selected destinations + // it affects. + // "PENDING" - Issue resolution is `PENDING_PROCESSING`. + AggregatedSeverity string `json:"aggregatedSeverity,omitempty"` + + // SeverityPerDestination: Item issue severity for every destination. + SeverityPerDestination []*ProductViewItemIssueIssueSeverityPerDestination `json:"severityPerDestination,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AggregatedSeverity") + // 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. "AggregatedSeverity") 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 *ProductViewItemIssueItemIssueSeverity) MarshalJSON() ([]byte, error) { + type NoMethod ProductViewItemIssueItemIssueSeverity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductViewItemIssueItemIssueType: Type of the item issue. +type ProductViewItemIssueItemIssueType struct { + // CanonicalAttribute: Canonical attribute name for attribute-specific + // issues. + CanonicalAttribute string `json:"canonicalAttribute,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CanonicalAttribute") + // 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. "CanonicalAttribute") 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 *ProductViewItemIssueItemIssueType) MarshalJSON() ([]byte, error) { + type NoMethod ProductViewItemIssueItemIssueType + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProductWeight struct { // Unit: Required. The weight unit. Acceptable values are: - "g" - // "kg" - "oz" - "lb" @@ -14273,6 +14527,12 @@ type ReportRow struct { // values are only set for metrics requested explicitly in the query. Metrics *Metrics `json:"metrics,omitempty"` + // ProductView: Product fields requested by the merchant in the query. + // Field values are only set if the merchant queries `ProductView`. + // `product_view` field is available only to allowlisted users who can + // query the `ProductView` table. + ProductView *ProductView `json:"productView,omitempty"` + // Segments: Segmentation dimensions requested by the merchant in the // query. Dimension values are only set for dimensions requested // explicitly in the query.