diff --git a/api-list.json b/api-list.json index 7b13a7d1f6c..b13cb25ed20 100644 --- a/api-list.json +++ b/api-list.json @@ -5092,21 +5092,6 @@ "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", "preferred": false }, - { - "kind": "discovery#directoryItem", - "id": "speech:v2beta1", - "name": "speech", - "version": "v2beta1", - "title": "Cloud Speech-to-Text API", - "description": "Converts audio to text by applying powerful neural network models.", - "discoveryRestUrl": "https://speech.googleapis.com/$discovery/rest?version=v2beta1", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", - "preferred": false - }, { "kind": "discovery#directoryItem", "id": "speech:v1", diff --git a/cloudbuild/v1/cloudbuild-api.json b/cloudbuild/v1/cloudbuild-api.json index 285756f115e..969fefb74ca 100644 --- a/cloudbuild/v1/cloudbuild-api.json +++ b/cloudbuild/v1/cloudbuild-api.json @@ -818,7 +818,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "The maximum number of configs to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" @@ -2011,7 +2011,7 @@ } } }, - "revision": "20220619", + "revision": "20220808", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { diff --git a/cloudbuild/v1/cloudbuild-gen.go b/cloudbuild/v1/cloudbuild-gen.go index 4a949a0d316..f3c0e0cb35a 100644 --- a/cloudbuild/v1/cloudbuild-gen.go +++ b/cloudbuild/v1/cloudbuild-gen.go @@ -7887,8 +7887,7 @@ func (r *ProjectsLocationsBitbucketServerConfigsReposService) List(parent string // PageSize sets the optional parameter "pageSize": The maximum number // of configs to return. The service may return fewer than this value. -// If unspecified, at most 50 configs will be returned. The maximum -// value is 1000; values above 1000 will be coerced to 1000. +// The maximum value is 1000; values above 1000 will be coerced to 1000. func (c *ProjectsLocationsBitbucketServerConfigsReposListCall) PageSize(pageSize int64) *ProjectsLocationsBitbucketServerConfigsReposListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c @@ -8013,7 +8012,7 @@ func (c *ProjectsLocationsBitbucketServerConfigsReposListCall) Do(opts ...google // ], // "parameters": { // "pageSize": { - // "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + // "description": "The maximum number of configs to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", // "format": "int32", // "location": "query", // "type": "integer" diff --git a/cloudsearch/v1/cloudsearch-api.json b/cloudsearch/v1/cloudsearch-api.json index 0a6dd0558a0..3697197cf4b 100644 --- a/cloudsearch/v1/cloudsearch-api.json +++ b/cloudsearch/v1/cloudsearch-api.json @@ -2059,7 +2059,7 @@ } } }, - "revision": "20220725", + "revision": "20220808", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { "AbuseReportingConfig": { @@ -2098,6 +2098,77 @@ }, "type": "object" }, + "AclFixRequest": { + "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": "AclFixRequest", + "properties": { + "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": { + "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" + }, + "AclFixStatus": { + "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": "AclFixStatus", + "properties": { + "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": { + "type": "string" + }, + "type": "array" + }, + "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" + }, "AclInfo": { "description": "Next tag: 4", "id": "AclInfo", @@ -2148,21 +2219,82 @@ }, "type": "object" }, + "AffectedMembership": { + "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": "AffectedMembership", + "properties": { + "affectedMember": { + "$ref": "MemberId" + }, + "priorMembershipRole": { + "enum": [ + "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": [ + "", + "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" + }, "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": { + "Annotation": { "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", + "id": "Annotation", "properties": { "babelPlaceholderMetadata": { - "$ref": "AppsDynamiteBabelPlaceholderMetadata" + "$ref": "BabelPlaceholderMetadata" }, "cardCapabilityMetadata": { - "$ref": "AppsDynamiteCardCapabilityMetadata", + "$ref": "CardCapabilityMetadata", "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" }, "chipRenderType": { @@ -2182,33 +2314,33 @@ "type": "string" }, "consentedAppUnfurlMetadata": { - "$ref": "AppsDynamiteConsentedAppUnfurlMetadata" + "$ref": "ConsentedAppUnfurlMetadata" }, "customEmojiMetadata": { - "$ref": "AppsDynamiteCustomEmojiMetadata" + "$ref": "CustomEmojiMetadata" }, "dataLossPreventionMetadata": { - "$ref": "AppsDynamiteDataLossPreventionMetadata" + "$ref": "DataLossPreventionMetadata" }, "driveMetadata": { - "$ref": "AppsDynamiteDriveMetadata", + "$ref": "DriveMetadata", "description": "Chip annotations" }, "formatMetadata": { - "$ref": "AppsDynamiteFormatMetadata" + "$ref": "FormatMetadata" }, "groupRetentionSettingsUpdated": { - "$ref": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData" + "$ref": "GroupRetentionSettingsUpdatedMetaData" }, "gsuiteIntegrationMetadata": { - "$ref": "AppsDynamiteGsuiteIntegrationMetadata", + "$ref": "GsuiteIntegrationMetadata", "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" + "$ref": "IncomingWebhookChangedMetadata" }, "integrationConfigUpdated": { - "$ref": "AppsDynamiteIntegrationConfigUpdatedMetadata", + "$ref": "IntegrationConfigUpdatedMetadata", "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" }, "length": { @@ -2221,25 +2353,25 @@ "type": "string" }, "membershipChanged": { - "$ref": "AppsDynamiteMembershipChangedMetadata", + "$ref": "MembershipChangedMetadata", "description": "Metadata for system messages. Clients should never set this. LINT.IfChange" }, "readReceiptsSettingsMetadata": { - "$ref": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata" + "$ref": "ReadReceiptsSettingsUpdatedMetadata" }, "requiredMessageFeaturesMetadata": { - "$ref": "AppsDynamiteRequiredMessageFeaturesMetadata", + "$ref": "RequiredMessageFeaturesMetadata", "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" + "$ref": "RoomUpdatedMetadata" }, "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" + "$ref": "SlashCommandMetadata" }, "startIndex": { "description": "Start index (0-indexed) of the Message text the Annotation corresponds to, inclusive.", @@ -2317,27 +2449,27 @@ "type": "string" }, "uploadMetadata": { - "$ref": "AppsDynamiteUploadMetadata" + "$ref": "UploadMetadata" }, "urlMetadata": { - "$ref": "AppsDynamiteUrlMetadata" + "$ref": "UrlMetadata" }, "userMentionMetadata": { - "$ref": "AppsDynamiteUserMentionMetadata", + "$ref": "UserMentionMetadata", "description": "Metadata that clients can set for annotations. LINT.IfChange In-text annotations" }, "videoCallMetadata": { - "$ref": "AppsDynamiteVideoCallMetadata" + "$ref": "VideoCallMetadata" }, "youtubeMetadata": { - "$ref": "AppsDynamiteYoutubeMetadata" + "$ref": "YoutubeMetadata" } }, "type": "object" }, - "AppsDynamiteAppId": { + "AppId": { "description": "Identifier of an App.", - "id": "AppsDynamiteAppId", + "id": "AppId", "properties": { "appType": { "description": "Enum indicating the type of App this is.", @@ -2393,136 +2525,307 @@ }, "type": "object" }, - "AppsDynamiteAttachment": { - "description": "Attachments that follow the message text.", - "id": "AppsDynamiteAttachment", + "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": { - "addOnData": { - "$ref": "GoogleChatV1ContextualAddOnMarkup", - "description": "Revised version of Gmail AddOn attachment approved by API design review." - }, - "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." - }, - "attachmentId": { - "description": "To identify an attachment within repeated in a message", + "function": { + "description": "Apps Script function to invoke when the containing element is clicked/activated.", "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." + "interaction": { + "enum": [ + "INTERACTION_UNSPECIFIED", + "OPEN_DIALOG" + ], + "enumDescriptions": [ + "Default value if interaction is not specified.", + "A dialog opens by clicking the button." + ], + "type": "string" }, - "slackData": { - "$ref": "AppsDynamiteV1ApiCompatV1Attachment", - "description": "Slack attachment." + "loadIndicator": { + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "Displays a spinner to indicate that content is loading.", + "Nothing is displayed." + ], + "type": "string" }, - "slackDataImageUrlHeight": { - "description": "The height of image url as fetched by fife. This field is asynchronously filled.", - "format": "int32", - "type": "integer" + "parameters": { + "description": "List of action parameters.", + "items": { + "$ref": "AppsDynamiteSharedActionActionParameter" + }, + "type": "array" } }, "type": "object" }, - "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", + "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": { - "clientGeneratedId": { - "description": "Babel clients locally generate this ID to dedupe against the async fanout.", - "format": "int64", + "key": { + "description": "The name of the parameter for the action script.", "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).", + "value": { + "description": "The value of the parameter.", "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" }, - "AppsDynamiteBabelPlaceholderMetadata": { - "description": "Annotation metadata for Babel-only items that signals which type of placeholder message should be displayed in Babel clients.", - "id": "AppsDynamiteBabelPlaceholderMetadata", + "AppsDynamiteSharedActivityFeedAnnotationData": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedActivityFeedAnnotationData", "properties": { - "deleteMetadata": { - "$ref": "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata" + "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" }, - "editMetadata": { - "$ref": "AppsDynamiteBabelPlaceholderMetadataEditMetadata" + "chatItem": { + "$ref": "AppsDynamiteSharedChatItem" }, - "hangoutVideoMetadata": { - "$ref": "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata" + "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" }, - "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" - }, - "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", + "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo": { + "description": "UserId of the AF item updater to show and the updater count to show.", + "id": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", "properties": { - "hangoutVideoType": { + "updaterCountDisplayType": { + "description": "Describes how updater_count_to_show should be used.", "enum": [ - "UNKNOWN_HANGOUT_VIDEO_EVENT_TYPE", - "VIDEO_START", - "VIDEO_END" + "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" - } - }, - "type": "object" + }, + "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": "UserId", + "description": "The updater for clients to show." + } + }, + "type": "object" }, - "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", + "AppsDynamiteSharedAppProfile": { + "description": "Optional field for apps overriding display info", + "id": "AppsDynamiteSharedAppProfile", "properties": { - "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.", + "avatarEmoji": { + "description": "Displayed user avatar emoji.", "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" + "avatarUrl": { + "description": "Displayed user avatar url.", + "type": "string" }, - "scanOutcome": { - "description": "The outcome of a DLP Scan. If this is set, scan_not_applicable_for_context should not be true.", + "name": { + "description": "Displayed user name.", + "type": "string" + } + }, + "type": "object" + }, + "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": { + "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" + }, + "AppsDynamiteSharedAssistantDebugContext": { + "description": "Represents info regarding suggestion debug information.", + "id": "AppsDynamiteSharedAssistantDebugContext", + "properties": { + "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": "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" + }, + "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip": { + "description": "Suggestion chips for users to indicate positive or negative feedback", + "id": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip", + "properties": { + "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" + }, + "state": { + "description": "Whether the chip has been selected", + "enum": [ + "FEEDBACK_CHIP_STATE_UNSPECIFIED", + "SELECTED", + "UNSELECTED" + ], + "enumDescriptions": [ + "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", @@ -2576,3236 +2879,2770 @@ "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" - } - }, - "type": "object" - }, - "AppsDynamiteBackendLabelsCommunalLabelTag": { - "description": "An individual instance (or \"tag\") of a label configured as a communal type that's associated with a message.", - "id": "AppsDynamiteBackendLabelsCommunalLabelTag", - "properties": { - "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" }, - "labelId": { - "description": "A string ID representing the label. Possible ID values are documented at go/chat-labels-howto:ids. Example: \"^*t_p\" for \"Pinned\".", + "dlpScanSummary": { + "$ref": "DlpScanSummary", + "description": "Summary of a Data Loss Prevention (DLP) scan of the attachment. Attachments are evaluated in the backend when they are uploaded." + }, + "groupId": { + "$ref": "GroupId", + "description": "GroupId to which this attachment is uploaded." + }, + "originalDimension": { + "$ref": "AppsDynamiteSharedDimension", + "description": "Original dimension of the content. Only set for image attachments." + }, + "quoteReplyMessageId": { + "$ref": "MessageId", + "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" - } - }, - "type": "object" - }, - "AppsDynamiteBackendLabelsPersonalLabelTag": { - "description": "An individual instance (or \"tag\") of a label configured as a personal type that's associated with a message.", - "id": "AppsDynamiteBackendLabelsPersonalLabelTag", - "properties": { - "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\".", + }, + "uploadIp": { + "description": "User IP address at upload time. Ex. \"123.1.2.3\". Used by Ares abuse scanning.", "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" }, - "requiredAction": { + "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_SETUP_TYPE", - "CONFIGURATION", - "AUTHENTICATION" + "UNKNOWN_VIRUS_SCAN_RESULT", + "CLEAN", + "INFECTED", + "ERROR", + "POLICY_VIOLATION" ], "enumDescriptions": [ "", - "Bot requires configuration.", - "Bot requires authentication." + "", + "", + "", + "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" }, - "responseType": { + "strokeColor": { + "$ref": "Color", + "description": "The colors to use when the type is `BORDER_TYPE_STROKE`." + }, + "type": { + "description": "The border type.", "enum": [ - "UNKNOWN_RESPONSE_TYPE", - "ERROR", - "SETUP_REQUIRED", - "DISABLED_BY_ADMIN", - "DISABLED_BY_DEVELOPER", - "PRIVATE" + "BORDER_TYPE_UNSPECIFIED", + "NO_BORDER", + "STROKE" ], "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." + "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" }, - "setupUrl": { - "description": "URL for setting up bot.", + "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" }, - "AppsDynamiteCardCapabilityMetadata": { - "id": "AppsDynamiteCardCapabilityMetadata", + "AppsDynamiteSharedButtonList": { + "description": "A list of buttons layed out horizontally.", + "id": "AppsDynamiteSharedButtonList", "properties": { - "requiredCapabilities": { - "description": "NEXT TAG : 2", + "buttons": { "items": { - "enum": [ - "UNKNOWN", - "SUPPORTS_BASE_CARDS" - ], - "enumDescriptions": [ - "", - "NEXT TAG : 2" - ], - "type": "string" + "$ref": "AppsDynamiteSharedButton" }, "type": "array" } }, "type": "object" }, - "AppsDynamiteConsentedAppUnfurlMetadata": { - "description": "Annotation metadata app unfurl consent.", - "id": "AppsDynamiteConsentedAppUnfurlMetadata", + "AppsDynamiteSharedCalendarEventAnnotationData": { + "id": "AppsDynamiteSharedCalendarEventAnnotationData", "properties": { - "clientSpecifiedAppId": { - "$ref": "AppsDynamiteUserId", - "description": "Client specified AppId, which will not be sanitized and is untrusted." + "calendarEvent": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent" + }, + "eventCreation": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation", + "description": "Notification about the creation of an event." } }, "type": "object" }, - "AppsDynamiteContentReport": { - "id": "AppsDynamiteContentReport", + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent", "properties": { - "reportCreateTimestamp": { - "description": "The time at which the report is generated. Always populated when it is in a response.", - "format": "google-datetime", - "type": "string" - }, - "reportJustification": { - "$ref": "AppsDynamiteContentReportJustification", - "description": "Additional user-provided justification on the report. Optional." + "endTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The end time of the event." }, - "reportType": { - "$ref": "AppsDynamiteSharedContentReportType", - "description": "Type of the report. Always populated when it is in a response." + "eventId": { + "description": "ID of the event.", + "type": "string" }, - "reporterUserId": { - "$ref": "AppsDynamiteUserId", - "description": "User ID of the reporter. Always populated when it is in a response." + "startTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The start time of the event." }, - "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", + "title": { + "description": "Title of the event (at the time the message was generated).", "type": "string" } }, "type": "object" }, - "AppsDynamiteContentReportJustification": { - "id": "AppsDynamiteContentReportJustification", + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", "properties": { - "userJustification": { - "description": "Optional. User-generated free-text justification for the content report.", + "allDay": { + "$ref": "Date", + "description": "All day event." + }, + "timed": { + "description": "Non all day event.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "AppsDynamiteCustomEmojiMetadata": { - "id": "AppsDynamiteCustomEmojiMetadata", + "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": { - "customEmoji": { - "$ref": "AppsDynamiteSharedCustomEmoji" + "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" }, - "AppsDynamiteCustomerId": { - "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", - "id": "AppsDynamiteCustomerId", + "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": { - "customerId": { - "type": "string" + "meetMetadata": { + "$ref": "AppsDynamiteSharedMeetMetadata", + "description": "Metadata specific for the Meet call." } }, "type": "object" }, - "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", + "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": { - "dlpScanSummary": { - "$ref": "AppsDynamiteBackendDlpScanSummary", - "description": "The DLP scan summary that should only be set after the message is scanned in the Chat backend." + "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" }, - "warnAcknowledged": { - "description": "Flag set by client on message resend to bypass WARN violation.", - "type": "boolean" + "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" }, - "AppsDynamiteDmId": { - "id": "AppsDynamiteDmId", + "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": { - "dmId": { - "description": "Unique server assigned Id, per Direct Message Space.", + "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" }, - "AppsDynamiteDriveMetadata": { - "description": "Annotation metadata for Drive artifacts.", - "id": "AppsDynamiteDriveMetadata", + "AppsDynamiteSharedCardCardHeader": { + "id": "AppsDynamiteSharedCardCardHeader", "properties": { - "aclFixRequest": { - "$ref": "AppsDynamiteDriveMetadataAclFixRequest" - }, - "aclFixStatus": { - "$ref": "AppsDynamiteDriveMetadataAclFixStatus" + "imageAltText": { + "description": "The alternative text of this image which is used for accessibility.", + "type": "string" }, - "canEdit": { - "description": "Can the current user edit this resource", - "type": "boolean" - }, - "canShare": { - "description": "Can the current user share this resource", - "type": "boolean" - }, - "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" - }, - "driveState": { + "imageType": { + "description": "The image's type.", "enum": [ - "DRIVE_STATE_UNSPECIFIED", - "IN_MY_DRIVE", - "IN_TEAM_DRIVE", - "SHARED_IN_DRIVE", - "NOT_IN_DRIVE" + "SQUARE", + "CIRCLE" ], "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" + "Applies no cropping to the image.", + "Applies a circular mask to the image." ], "type": "string" }, - "embedUrl": { - "$ref": "TrustedResourceUrlProto", - "description": "Output only. Trusted Resource URL for drive file embedding.", - "readOnly": true - }, - "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" - }, - "externalMimetype": { - "description": "External mimetype of the Drive Resource (Useful for creating Drive URL) See: http://b/35219462", + "imageUrl": { + "description": "The URL of the image in the card header.", "type": "string" }, - "id": { - "description": "Drive resource ID of the artifact.", + "subtitle": { + "description": "The subtitle of the card header.", "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" - }, - "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", + "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" - }, - "organizationDisplayName": { - "description": "The display name of the organization owning the Drive item.", + } + }, + "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" }, - "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.", + "suggestionMessageId": { + "$ref": "MessageId", + "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" }, - "thumbnailHeight": { - "description": "Thumbnail image of the Drive Resource", - "format": "int32", - "type": "integer" - }, - "thumbnailUrl": { - "description": "Thumbnail image of the Drive Resource", + "header": { + "description": "The header of the section. Formatted text is supported.", "type": "string" }, - "thumbnailWidth": { - "description": "Thumbnail image of the Drive Resource", + "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" }, - "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." + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "AppsDynamiteSharedWidget" + }, + "type": "array" } }, "type": "object" }, - "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", + "AppsDynamiteSharedChatItem": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedChatItem", "properties": { - "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.", + "activityInfo": { + "description": "Information needed to render the specific type of feed item.", "items": { - "type": "string" + "$ref": "AppsDynamiteSharedChatItemActivityInfo" }, "type": "array" }, - "role": { + "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": [ - "UNKNOWN", - "READER", - "COMMENTER", - "WRITER" + "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" - }, - "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" }, - "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", + "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": { - "fixability": { + "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": [ - "UNKNOWN", - "ALREADY_ACCESSIBLE", - "CAN_FIX", - "CANNOT_FIX", - "ACL_FIXER_ERROR" + "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" - }, - "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": { - "type": "string" - }, - "type": "array" - }, - "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" }, - "AppsDynamiteDriveMetadataLegacyUploadMetadata": { - "description": "The original UploadMetadata that this DriveMetadata was converted from.", - "id": "AppsDynamiteDriveMetadataLegacyUploadMetadata", + "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention": { + "description": "Existence of this attribute indicates that the AF item is for a user mention item.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention", "properties": { - "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" - }, - "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" - }, - "formatType": { - "description": "LINT.ThenChange(//depot/google3/apps/dynamite/v1/web/datakeys/annotated_span.proto)", + "type": { + "description": "User mention type", "enum": [ "TYPE_UNSPECIFIED", - "BOLD", - "ITALIC", - "STRIKE", - "SOURCE_CODE", - "MONOSPACE", - "HIDDEN", - "MONOSPACE_BLOCK", - "UNDERLINE", - "FONT_COLOR", - "BULLETED_LIST", - "BULLETED_LIST_ITEM", - "CLIENT_HIDDEN" + "DIRECT", + "ALL" ], "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." + "Mention type not specified.", + "Mentioned directly by name.", + "Mentioned by @all." ], "type": "string" } }, "type": "object" }, - "AppsDynamiteFrontendBotInfo": { - "description": "Bot-specific profile information.", - "id": "AppsDynamiteFrontendBotInfo", + "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": { - "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" - }, - "botName": { - "description": "Non-unique, user-defined display name of the Bot. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries.", - "type": "string" - }, - "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.", + "attributeCheckerGroupType": { + "description": "This is needed to determine what type of group the source message came from to support click-to-source.", "enum": [ - "UNKNOWN_STATUS", - "ENABLED", - "DISABLED_BY_DEVELOPER" + "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": [ - "", - "", - "Bot has been disabled by the bot developer. No one can @mention or interact with the bot." + "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" }, - "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." + "groupName": { + "type": "string" }, - "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.", + "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": { - "enum": [ - "UNKNOWN", - "CAN_ADD_TO_DM", - "CAN_ADD_TO_ROOM", - "CAN_ADD_TO_HUMAN_DM" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" + "$ref": "AppsDynamiteSharedColumnsColumn" }, "type": "array" }, - "whitelistStatus": { + "wrapStyle": { + "description": "Controls how the column resizes based on screen width.", "enum": [ - "UNSPECIFIED_STATUS", - "ALLOWED", - "ALL_BOTS_DISABLED_BY_ADMIN", - "BOT_NOT_WHITELISTED_BY_ADMIN" + "WRAP_STYLE_UNSPECIFIED", + "NOWRAP", + "WRAP" ], "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." + "Unspecified.", + "Column widgets don't wrap.", + "Column Widgets wrap." ], "type": "string" } }, "type": "object" }, - "AppsDynamiteFrontendBotInfoSupportUrls": { - "description": "Urls with additional bot related information.", - "id": "AppsDynamiteFrontendBotInfoSupportUrls", + "AppsDynamiteSharedColumnsColumn": { + "description": "Represents a Column that consists of widgets stacked vertically.", + "id": "AppsDynamiteSharedColumnsColumn", "properties": { - "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.", + "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" }, - "setupUrl": { - "description": "Link to the setup webpage for the bot. Configured by Pantheon, may be empty.", + "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" }, - "supportUrl": { - "description": "Link to the support webpage for the developer of the bot. May be empty.", + "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" }, - "tosUrl": { - "description": "Link to the terms of service webpage for the bot. May be empty.", - "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" }, - "AppsDynamiteFrontendMember": { - "id": "AppsDynamiteFrontendMember", + "AppsDynamiteSharedColumnsColumnWidgets": { + "description": "LINT.IfChange The `column` widget can contain these widgets.", + "id": "AppsDynamiteSharedColumnsColumnWidgets", "properties": { - "roster": { - "$ref": "AppsDynamiteFrontendRoster" + "buttonList": { + "$ref": "AppsDynamiteSharedButtonList", + "description": "ButtonList widget." }, - "user": { - "$ref": "AppsDynamiteFrontendUser" + "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" }, - "AppsDynamiteFrontendRoster": { - "description": "Roster profile information.", - "id": "AppsDynamiteFrontendRoster", - "properties": { - "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", + "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": [ - "ROSTER_STATE_UNKNOWN", - "ROSTER_ACTIVE", - "ROSTER_DELETED" + "VIOLATION_UNSPECIFIED", + "HARASSMENT", + "DISCRIMINATION", + "EXPLICIT_CONTENT", + "SPAM", + "CONFIDENTIAL_INFORMATION", + "SENSITIVE_INFORMATION", + "OTHER" ], "enumDescriptions": [ - "", - "Roster is active", - "Roster deleted" + "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" }, - "AppsDynamiteFrontendUser": { - "description": "User profile information. This user is not necessarily member of a space.", - "id": "AppsDynamiteFrontendUser", + "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": { - "avatarUrl": { - "description": "URL for the avatar picture of the User in dynamite", - "type": "string" - }, - "blockRelationship": { - "$ref": "AppsDynamiteSharedUserBlockRelationship", - "description": "Information about whether the user is blocked by requester and/or has blocked requester." - }, - "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", + "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" }, - "firstName": { - "description": "First or given name of the user", + "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" }, - "gender": { - "description": "Gender of the user", + "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" }, - "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" + "creatorUserId": { + "$ref": "UserId", + "description": "This field should *never* be persisted to Spanner." }, - "lastName": { - "description": "Last or family name of the user", + "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" }, - "name": { - "description": "Non-unique, user-defined display name of the User", + "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" }, - "organizationInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfo", - "description": "Information about whether the user is a consumer user, or the GSuite customer that they belong to." + "ownerCustomerId": { + "$ref": "CustomerId", + "description": "This field should *never* be persisted to Spanner." }, - "phoneNumber": { - "description": "Phone number(s) of the user", - "items": { - "$ref": "AppsDynamiteSharedPhoneNumber" - }, - "type": "array" + "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" }, - "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." - ], + "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" }, - "userProfileVisibility": { - "description": "Visibility of user's Profile", + "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": [ - "UNKNOWN_USER_PROFILE_VISIBILITY", - "FULL_PROFILE", - "PRIMARY_MAIL", - "INVITEE_EMAIL", - "DELETED_USER", - "UNKNOWN_USER", - "FAILURE" + "EMOJI_STATE_UNSPECIFIED", + "EMOJI_ENABLED", + "EMOJI_SYSTEM_DISABLED", + "EMOJI_HIDDEN", + "EMOJI_DELETED" ], "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" + "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" - } - }, - "type": "object" - }, - "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": { - "dmId": { - "$ref": "AppsDynamiteDmId", - "description": "Unique, immutable ID of the Direct Message Space" }, - "spaceId": { - "$ref": "AppsDynamiteSpaceId", - "description": "Unique, immutable ID of the Space" - } - }, - "type": "object" - }, - "AppsDynamiteGroupRetentionSettingsUpdatedMetaData": { - "id": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData", - "properties": { - "initiator": { - "$ref": "AppsDynamiteUserId", - "description": "The user who triggered the retention settings update" + "updateTimeMicros": { + "format": "int64", + "type": "string" }, - "retentionSettings": { - "$ref": "AppsDynamiteSharedRetentionSettings", - "description": "The updated space retention settings" + "uuid": { + "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "type": "string" } }, "type": "object" }, - "AppsDynamiteGsuiteIntegrationMetadata": { - "description": "Annotation metadata for an GsuiteIntegration artifact.", - "id": "AppsDynamiteGsuiteIntegrationMetadata", + "AppsDynamiteSharedDateTimePicker": { + "description": "The widget that lets users to specify a date and time.", + "id": "AppsDynamiteSharedDateTimePicker", "properties": { - "activityFeedData": { - "$ref": "AppsDynamiteSharedActivityFeedAnnotationData" + "label": { + "description": "The label for the field that displays to the user.", + "type": "string" }, - "assistantData": { - "$ref": "AppsDynamiteSharedAssistantAnnotationData" + "name": { + "description": "The name of the text input that's used in formInput, and uniquely identifies this input.", + "type": "string" }, - "calendarEventData": { - "$ref": "AppsDynamiteSharedCalendarEventAnnotationData" + "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." }, - "callData": { - "$ref": "AppsDynamiteSharedCallAnnotationData", - "description": "Data used to render call artifacts." + "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" }, - "clientType": { + "type": { + "description": "The type of the date/time picker.", "enum": [ - "UNKNOWN_CLIENT_TYPE", - "MEET", - "TASKS", - "CALENDAR_EVENT", - "ASSISTANT", - "ACTIVITY_FEED_SERVICE" + "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" }, - "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" + "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" }, - "AppsDynamiteIncomingWebhookChangedMetadata": { - "description": "Annotation metadata to display system messages for incoming webhook events. Next Tag: 7", - "id": "AppsDynamiteIncomingWebhookChangedMetadata", + "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": { - "incomingWebhookName": { - "description": "The webhook name at the time of the change. Used in Spanner storage, BE API responses and FE API responses.", + "bottomLabel": { + "description": "The formatted text label that shows below the main text.", "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." + "button": { + "$ref": "AppsDynamiteSharedButton", + "description": "A button that can be clicked to trigger an action." }, - "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.", + "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" }, - "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.", + "topLabel": { + "description": "The formatted text label that shows above the main text.", "type": "string" }, - "type": { - "description": "Used in Spanner storage, BE API responses and FE API responses.", + "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": [ - "UNSPECIFIED", - "ADDED", - "UPDATED", - "REMOVED", - "UPDATED_NAME", - "UPDATED_AVATAR", - "UPDATED_NAME_AND_AVATAR" + "SWITCH", + "CHECKBOX", + "CHECK_BOX" ], "enumDescriptions": [ "", - "", - "TODO (b/154857280): remove UPDATED field.", - "", - "", - "", + "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" }, - "AppsDynamiteIntegrationConfigMutation": { - "id": "AppsDynamiteIntegrationConfigMutation", + "AppsDynamiteSharedDimension": { + "description": "Dimension for the uploaded attachments.", + "id": "AppsDynamiteSharedDimension", "properties": { - "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." + "height": { + "format": "int32", + "type": "integer" }, - "removePinnedItem": { - "$ref": "AppsDynamitePinnedItemId", - "description": "Remove an active pinned tab using its identifier." + "width": { + "format": "int32", + "type": "integer" } }, "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", + "AppsDynamiteSharedDivider": { + "description": "A divider that appears in between widgets.", + "id": "AppsDynamiteSharedDivider", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedDlpMetricsMetadata": { + "description": "LINT.IfChange", + "id": "AppsDynamiteSharedDlpMetricsMetadata", "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": { - "$ref": "AppsDynamiteIntegrationConfigMutation" - }, - "type": "array" + "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" }, - "AppsDynamiteInviteeInfo": { - "description": "Invitee information from a Dynamite invitation. See go/dynamite-invitee-mgmt.", - "id": "AppsDynamiteInviteeInfo", + "AppsDynamiteSharedDocument": { + "description": "Data for rendering a document.", + "id": "AppsDynamiteSharedDocument", "properties": { - "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.", + "fileId": { + "description": "Unique file ID.", "type": "string" }, - "userId": { - "$ref": "AppsDynamiteUserId", - "description": "Unique, immutable ID of the User." + "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" }, - "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", + "AppsDynamiteSharedEmoji": { + "id": "AppsDynamiteSharedEmoji", "properties": { - "rosterId": { - "$ref": "AppsDynamiteRosterId", - "description": "Unique, immutable ID of the Roster." + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji", + "description": "A custom emoji." }, - "userId": { - "$ref": "AppsDynamiteUserId", - "description": "Unique, immutable ID of the User." + "unicode": { + "description": "A basic emoji represented by a unicode string.", + "type": "string" } }, "type": "object" }, - "AppsDynamiteMembershipChangedMetadata": { - "description": "Annotation metadata to display system messages for membership changes.", - "id": "AppsDynamiteMembershipChangedMetadata", + "AppsDynamiteSharedFindDocumentSuggestion": { + "description": "Data for a FindDocument suggestion type.", + "id": "AppsDynamiteSharedFindDocumentSuggestion", "properties": { - "affectedMemberProfiles": { + "documentSuggestions": { + "description": "List of documents to render as suggestions.", "items": { - "$ref": "AppsDynamiteFrontendMember" + "$ref": "AppsDynamiteSharedDocument" }, "type": "array" }, - "affectedMembers": { - "description": "List of users and rosters whose membership status changed.", - "items": { - "$ref": "AppsDynamiteMemberId" - }, - "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." }, - "affectedMemberships": { + "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": "AppsDynamiteMembershipChangedMetadataAffectedMembership" + "$ref": "AppsDynamiteSharedGridGridItem" }, "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." + "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." }, - "type": { - "enum": [ - "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" - ], + "title": { + "description": "The text that displays in the grid header.", "type": "string" } }, "type": "object" }, - "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", + "AppsDynamiteSharedGridGridItem": { + "description": "Represents a single item in the grid layout.", + "id": "AppsDynamiteSharedGridGridItem", "properties": { - "affectedMember": { - "$ref": "AppsDynamiteMemberId" - }, - "priorMembershipRole": { - "enum": [ - "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." - ], + "id": { + "description": "A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters.", "type": "string" }, - "priorMembershipState": { + "image": { + "$ref": "AppsDynamiteSharedImageComponent", + "description": "The image that displays in the grid item." + }, + "layout": { + "description": "The layout to use for the grid item.", "enum": [ - "MEMBER_UNKNOWN", - "MEMBER_INVITED", - "MEMBER_JOINED", - "MEMBER_NOT_A_MEMBER", - "MEMBER_FAILED" + "GRID_ITEM_LAYOUT_UNSPECIFIED", + "TEXT_BELOW", + "TEXT_ABOVE" ], "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." + "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" }, - "targetMembershipRole": { + "subtitle": { + "description": "The grid item's subtitle.", + "type": "string" + }, + "textAlignment": { + "description": "The horizontal alignment of the grid item's text.", "enum": [ - "ROLE_UNKNOWN", - "ROLE_NONE", - "ROLE_INVITEE", - "ROLE_MEMBER", - "ROLE_OWNER" + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" ], "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." + "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" }, - "AppsDynamiteMessage": { - "description": "Message posted to a Space.", - "id": "AppsDynamiteMessage", + "AppsDynamiteSharedGroupDetails": { + "description": "NEXT TAG: 3 A GroupDetails proto will store the information pertaining to single Group.", + "id": "AppsDynamiteSharedGroupDetails", "properties": { - "annotations": { - "description": "Annotations parsed and extracted from the text body.", - "items": { - "$ref": "AppsDynamiteAnnotation" - }, - "type": "array" - }, - "appProfile": { - "$ref": "AppsDynamiteSharedAppProfile", - "description": "Custom display profile info for apps. Leave the field empty for real users." - }, - "attachments": { - "description": "Attachments parsed from incoming webhooks", - "items": { - "$ref": "AppsDynamiteAttachment" - }, - "type": "array" - }, - "attributes": { - "$ref": "AppsDynamiteMessageAttributes", - "description": "Lightweight message attributes which values are calculated and set in the servers." - }, - "botResponses": { - "description": "Responses from bots indicating if extra auth/config is needed.", - "items": { - "$ref": "AppsDynamiteBotResponse" - }, - "type": "array" - }, - "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" - }, - "contentReportSummary": { - "$ref": "AppsDynamiteMessageContentReportSummary", - "readOnly": true - }, - "createTime": { - "description": "Time when the Message was posted in microseconds.", - "format": "int64", + "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" }, - "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).", + "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": [ - "PERMISSION_UNSPECIFIED", - "PERMISSION_NO_ONE", - "PERMISSION_CREATOR", - "PERMISSION_MEMBER" + "UNKNOWN", + "PRIVATE", + "PUBLIC" ], "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." + "Do not use.", + "Explicitly invited users may join the room.", + "Anyone in the domain may join the room." ], "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": "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" }, - "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", + "iconUrl": { + "description": "The icon specified by a URL.", "type": "string" }, - "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" - }, - "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.", + "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": [ - "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" + "SQUARE", + "CIRCLE" ], "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)." + "Applies no cropping to the image.", + "Applies a circular mask to the image." ], "type": "string" }, - "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." - }, - "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." - ], + "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" }, - "fallbackText": { - "description": "A plain-text description of the attachment, used when clients cannot display formatted attachment (e.g. mobile push notifications).", + "imageUrl": { + "description": "An image URL.", "type": "string" }, - "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" - }, - "lastUpdateTime": { - "description": "Time when the Message text was last updated in microseconds.", - "format": "int64", + "onClick": { + "$ref": "AppsDynamiteSharedOnClick" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImageComponent": { + "id": "AppsDynamiteSharedImageComponent", + "properties": { + "altText": { + "description": "The accessibility label for the image.", "type": "string" }, - "localId": { - "description": "A unique id specified on the client side.", - "type": "string" + "borderStyle": { + "$ref": "AppsDynamiteSharedBorderStyle", + "description": "The border style to apply to the image." }, - "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]." + "cropStyle": { + "$ref": "AppsDynamiteSharedImageCropStyle", + "description": "The crop style to apply to the image." }, - "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.", - "" - ], + "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" }, - "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.", + "type": { + "description": "The crop type.", "enum": [ - "PUBLIC", - "PRIVATE" + "IMAGE_CROP_TYPE_UNSPECIFIED", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" ], "enumDescriptions": [ - "Default - visible to the room / DM.", - "Private state - only visible to the message creator, and the private_message_viewer if set." + "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" }, - "originAppSuggestions": { - "description": "Indicates if this message contains any suggestions that were provided by any Apps.", - "items": { - "$ref": "AppsDynamiteSharedOriginAppSuggestion" - }, - "type": "array" - }, - "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.", + "actionType": { + "description": "Type of action performed on the document.", "enum": [ - "QUOTED_BY_STATE_UNSPECIFIED", - "QUOTED_BY_STATE_HAS_BEEN_QUOTED", - "QUOTED_BY_STATE_HAS_NOT_BEEN_QUOTED" + "ACTION_TYPE_UNSPECIFIED", + "COMMENTED", + "CREATED", + "EDITED", + "PRESENTED", + "SHARED", + "VIEWED", + "COMMENT_RESOLVED", + "SENT" ], "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." + "Unspecified action.", + "Commented on document.", + "Created document.", + "Edited document.", + "Presented document.", + "Shared document.", + "Viewed document.", + "Resolved comment on document.", + "Sent document over chat/email." ], - "readOnly": true, - "type": "string" - }, - "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": { - "$ref": "AppsDynamiteSharedReaction" - }, - "type": "array" - }, - "reports": { - "description": "Output only. Details of content reports. Set only when the request asks for it.", - "items": { - "$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." + "documentOwner": { + "$ref": "AppsDynamiteSharedJustificationPerson", + "description": "Owner of the document." }, - "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.", + "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": { - "$ref": "AppsDynamiteUploadMetadata" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AppsDynamiteMessageAttributes": { - "description": "Stores tombstone message attributes: go/tombstone-message-attributes-overview", - "id": "AppsDynamiteMessageAttributes", + "AppsDynamiteSharedJustificationPerson": { + "description": "Data for rendering a person associated with a document.", + "id": "AppsDynamiteSharedJustificationPerson", "properties": { - "isTombstone": { - "description": "If true: message is a tombstone in the client. Default false.", + "isRecipient": { + "description": "Whether the person is the recipient of the suggestions.", "type": "boolean" + }, + "user": { + "$ref": "UserId", + "description": "Obfuscated user ID." } }, "type": "object" }, - "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", + "AppsDynamiteSharedMeetMetadata": { + "description": "Metadata specific for a Meet call that are required to generate call artifacts.", + "id": "AppsDynamiteSharedMeetMetadata", "properties": { - "numberReports": { - "description": "Total number of reports attached to this (revision of) message.", - "format": "int32", - "type": "integer" + "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" }, - "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" + "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" }, - "AppsDynamiteMessageId": { - "description": "Primary key for Message resource.", - "id": "AppsDynamiteMessageId", + "AppsDynamiteSharedMessageInfo": { + "description": "Information that references a Dynamite chat message.", + "id": "AppsDynamiteSharedMessageInfo", "properties": { "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" + "$ref": "MessageId", + "description": "Id of the source chat message. This is kept here because the top-level message ID to refers the AF message ID." }, - "parentId": { - "$ref": "AppsDynamiteMessageParentId", - "description": "ID of the Message's immediate parent." + "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" }, - "AppsDynamiteMessageInfo": { - "id": "AppsDynamiteMessageInfo", + "AppsDynamiteSharedMessageIntegrationPayload": { + "description": "The payload(restricted to 1P applications) to be stored with a specific message.", + "id": "AppsDynamiteSharedMessageIntegrationPayload", "properties": { - "message": { - "$ref": "AppsDynamiteMessage", - "description": "The content of a matching message." + "projectNumber": { + "description": "Pantheon project number used to identify the calling app.", + "format": "int64", + "type": "string" }, - "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" + "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": [ - "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" }, - "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": { - "topicId": { - "$ref": "AppsDynamiteTopicId", - "description": "ID of the Topic this Message is posted to. NEXT TAG : 5" - } - }, - "type": "object" - }, - "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": { - "babelProps": { - "$ref": "AppsDynamiteBabelMessageProps" - } - }, - "type": "object" - }, - "AppsDynamitePinnedItemId": { - "id": "AppsDynamitePinnedItemId", - "properties": { - "driveId": { - "description": "Identifier for a Drive file (e.g. Docs, Sheets, Slides).", - "type": "string" - } - }, - "type": "object" - }, - "AppsDynamitePrivateMessageInfo": { - "description": "Private message information specific to a given user.", - "id": "AppsDynamitePrivateMessageInfo", + "AppsDynamiteSharedOnClick": { + "id": "AppsDynamiteSharedOnClick", "properties": { - "annotations": { - "description": "Annotations private to {@code userId}.", - "items": { - "$ref": "AppsDynamiteAnnotation" - }, - "type": "array" - }, - "attachments": { - "description": "Attachments private to {@code userId}.", - "items": { - "$ref": "AppsDynamiteAttachment" - }, - "type": "array" - }, - "contextualAddOnMarkup": { - "items": { - "$ref": "GoogleChatV1ContextualAddOnMarkup" - }, - "type": "array" - }, - "gsuiteIntegrationMetadata": { - "items": { - "$ref": "AppsDynamiteGsuiteIntegrationMetadata" - }, - "type": "array" + "action": { + "$ref": "AppsDynamiteSharedAction", + "description": "If specified, an action is triggered by this onClick." }, - "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" + "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." }, - "userId": { - "$ref": "AppsDynamiteUserId", - "description": "Required. The elements in this struct are visible to this user." + "openLink": { + "$ref": "AppsDynamiteSharedOpenLink", + "description": "If specified, this onClick triggers an open link action." } }, "type": "object" }, - "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", + "AppsDynamiteSharedOpenLink": { + "id": "AppsDynamiteSharedOpenLink", "properties": { - "annotations": { - "description": "Output only. Snapshot of the annotations of the quoted message.", - "items": { - "$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 + "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." }, - "botAttachmentState": { - "description": "Output only. The bot attachment state of the quoted message. Used by clients to display a bot attachment indicator in the UI.", + "onClose": { "enum": [ - "BOT_ATTACHMENT_STATE_UNSPECIFIED", - "BOT_ATTACHMENT_STATE_HAS_BOT_ATTACHMENT", - "BOT_ATTACHMENT_STATE_NO_BOT_ATTACHMENT" + "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.", "" ], - "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.", + "openAs": { "enum": [ - "MESSAGE_STATE_UNSPECIFIED", - "MESSAGE_STATE_ACTIVE", - "MESSAGE_STATE_DELETED" + "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." ], - "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, + "url": { + "description": "The URL to open.", "type": "string" - }, - "uploadMetadata": { - "description": "Output only. Upload metadata of the quoted message. NEXT TAG: 11", - "items": { - "$ref": "AppsDynamiteUploadMetadata" - }, - "readOnly": true, - "type": "array" } }, "type": "object" }, - "AppsDynamiteReadReceiptsSettingsUpdatedMetadata": { - "id": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata", + "AppsDynamiteSharedOpenLinkAppUri": { + "description": "Represents the platform specific uri/intent to open for each client.", + "id": "AppsDynamiteSharedOpenLinkAppUri", "properties": { - "readReceiptsEnabled": { - "description": "The new read receipts state.", - "type": "boolean" + "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" }, - "AppsDynamiteRequiredMessageFeaturesMetadata": { - "description": "A list of capabilities that are used in this message.", - "id": "AppsDynamiteRequiredMessageFeaturesMetadata", + "AppsDynamiteSharedOpenLinkAppUriIntent": { + "description": "Android intent.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntent", "properties": { - "requiredFeatures": { + "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": { - "enum": [ - "REQUIRED_FEATURE_UNSPECIFIED", - "REQUIRED_FEATURE_MESSAGE_QUOTING" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" + "$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" }, - "AppsDynamiteRoomUpdatedMetadata": { - "id": "AppsDynamiteRoomUpdatedMetadata", + "AppsDynamiteSharedOpenLinkAppUriIntentExtraData": { + "description": "Extra data for an android intent. Valid keys are defined in the hosting app contract.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData", "properties": { - "groupDetailsMetadata": { - "$ref": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata" - }, - "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": [ - "", - "", - "" - ], + "key": { + "description": "A key for the intent extra data.", "type": "string" }, - "name": { - "description": "What was updated in the room.", + "value": { + "description": "Value for the given extra data key.", "type": "string" - }, - "renameMetadata": { - "$ref": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata" - }, - "visibility": { - "$ref": "AppsDynamiteSharedGroupVisibility", - "description": "DEPRECATED: See GroupVisibility proto definition." } }, "type": "object" }, - "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata": { - "id": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata", + "AppsDynamiteSharedOrganizationInfo": { + "description": "Contains info about the entity that something is, or is owned by.", + "id": "AppsDynamiteSharedOrganizationInfo", "properties": { - "newGroupDetails": { - "$ref": "AppsDynamiteSharedGroupDetails" + "consumerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoConsumerInfo" }, - "prevGroupDetails": { - "$ref": "AppsDynamiteSharedGroupDetails" + "customerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoCustomerInfo" } }, "type": "object" }, - "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata": { - "id": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata", + "AppsDynamiteSharedOrganizationInfoConsumerInfo": { + "description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.", + "id": "AppsDynamiteSharedOrganizationInfoConsumerInfo", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfoCustomerInfo": { + "id": "AppsDynamiteSharedOrganizationInfoCustomerInfo", "properties": { - "newName": { - "type": "string" - }, - "prevName": { - "description": "NEXT_TAG: 3", - "type": "string" + "customerId": { + "$ref": "CustomerId" } }, "type": "object" }, - "AppsDynamiteRosterId": { - "description": "Primary key for Roster resource.", - "id": "AppsDynamiteRosterId", - "properties": { - "id": { - "description": "Opaque, server-assigned ID of the Roster.", - "type": "string" - } - }, - "type": "object" - }, - "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", + "AppsDynamiteSharedOriginAppSuggestion": { + "description": "Stores the suggestion provided by apps/bots.", + "id": "AppsDynamiteSharedOriginAppSuggestion", "properties": { - "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" + "appId": { + "$ref": "AppId" }, - "parameters": { - "description": "List of action parameters.", - "items": { - "$ref": "AppsDynamiteSharedActionActionParameter" - }, - "type": "array" + "cardClickSuggestion": { + "$ref": "AppsDynamiteSharedCardClickSuggestion" } }, "type": "object" }, - "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", + "AppsDynamiteSharedPhoneNumber": { + "id": "AppsDynamiteSharedPhoneNumber", "properties": { - "key": { - "description": "The name of the parameter for the action script.", + "type": { + "description": "The phone number type, e.g., work, mobile, etc.", "type": "string" }, "value": { - "description": "The value of the parameter.", + "description": "The actual phone number.", "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedActivityFeedAnnotationData": { - "description": "Next Id: 5", - "id": "AppsDynamiteSharedActivityFeedAnnotationData", + "AppsDynamiteSharedReaction": { + "id": "AppsDynamiteSharedReaction", "properties": { - "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" + "count": { + "description": "The total number of users who have reacted.", + "format": "int32", + "type": "integer" }, - "chatItem": { - "$ref": "AppsDynamiteSharedChatItem" + "createTimestamp": { + "description": "When the first emoji of this type was added.", + "format": "int64", + "type": "string" }, - "sharedUserInfo": { - "$ref": "UserInfo", - "description": "Only populated on read path and should not be persisted in storage." + "currentUserParticipated": { + "description": "Whether the current user reacted using this emoji. Note: Unlike most properties of messages, this is different per-user.", + "type": "boolean" }, - "userInfo": { - "$ref": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", - "description": "Use shared_user_info instead." + "emoji": { + "$ref": "AppsDynamiteSharedEmoji" } }, "type": "object" }, - "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo": { - "description": "UserId of the AF item updater to show and the updater count to show.", - "id": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", + "AppsDynamiteSharedRetentionSettings": { + "description": "The settings of retention period of a message or topic.", + "id": "AppsDynamiteSharedRetentionSettings", "properties": { - "updaterCountDisplayType": { - "description": "Describes how updater_count_to_show should be used.", + "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": [ - "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED", - "EXACT_COUNT", - "NONZERO_COUNT" + "UNKNOWN_RETENTION_STATE", + "PERMANENT", + "EPHEMERAL_ONE_DAY" ], "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." + "The message/topic should be kept permanently.", + "The message/topic should be kept with a 24-hour TTL." ], "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", + "AppsDynamiteSharedSelectionInput": { + "description": "A widget that creates a UI item (for example, a drop-down list) with options for users to select.", + "id": "AppsDynamiteSharedSelectionInput", "properties": { - "avatarEmoji": { - "description": "Displayed user avatar emoji.", - "type": "string" + "items": { + "items": { + "$ref": "AppsDynamiteSharedSelectionInputSelectionItem" + }, + "type": "array" }, - "avatarUrl": { - "description": "Displayed user avatar url.", + "label": { + "description": "The label displayed ahead of the switch control.", "type": "string" }, "name": { - "description": "Displayed user name.", + "description": "The name of the text input which is used in formInput.", "type": "string" - } - }, - "type": "object" - }, - "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": { - "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." + "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" }, - "AppsDynamiteSharedAssistantDebugContext": { - "description": "Represents info regarding suggestion debug information.", - "id": "AppsDynamiteSharedAssistantDebugContext", + "AppsDynamiteSharedSelectionInputSelectionItem": { + "description": "The item in the switch control. A radio button, at most one of the items is selected.", + "id": "AppsDynamiteSharedSelectionInputSelectionItem", "properties": { - "query": { - "description": "The query that triggered the resulting suggestion.", + "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" }, - "AppsDynamiteSharedAssistantFeedbackContext": { - "description": "Data needed to render feedback on the Assistant card", - "id": "AppsDynamiteSharedAssistantFeedbackContext", + "AppsDynamiteSharedSpaceInfo": { + "description": "Defines the representation of a single matching space.", + "id": "AppsDynamiteSharedSpaceInfo", "properties": { - "feedbackChips": { - "description": "Specifies a list of feedback chips to show", - "items": { - "$ref": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip" - }, - "type": "array" + "avatarInfo": { + "$ref": "AppsDynamiteSharedAvatarInfo" }, - "thumbsFeedback": { - "description": "Whether the thumbs feedback is provided", + "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": { + "format": "int32", + "type": "integer" + }, + "userMembershipState": { + "description": "searching user's membership state in this space", "enum": [ - "THUMBS_FEEDBACK_UNSPECIFIED", - "NONE_SELECTED", - "UP", - "DOWN" + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" ], "enumDescriptions": [ - "Unspecified thumbs state", - "Thumbs are not selected", - "Thumbs up selected", - "Thumbs down selected" + "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" }, - "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip": { - "description": "Suggestion chips for users to indicate positive or negative feedback", - "id": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip", + "AppsDynamiteSharedSuggestions": { + "description": "A container wrapping elements necessary for showing suggestion items used in text input autocomplete.", + "id": "AppsDynamiteSharedSuggestions", "properties": { - "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" - }, - "state": { - "description": "Whether the chip has been selected", - "enum": [ - "FEEDBACK_CHIP_STATE_UNSPECIFIED", - "SELECTED", - "UNSELECTED" - ], - "enumDescriptions": [ - "Unspecified selection state", - "Chip is selected", - "Chip is not selected" - ], - "type": "string" + "items": { + "description": "A list of suggestions items which will be used in are used in autocomplete.", + "items": { + "$ref": "AppsDynamiteSharedSuggestionsSuggestionItem" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedAssistantSessionContext": { - "description": "Session context specific for Assistant suggestions.", - "id": "AppsDynamiteSharedAssistantSessionContext", + "AppsDynamiteSharedSuggestionsSuggestionItem": { + "description": "A suggestion item. Only supports text for now.", + "id": "AppsDynamiteSharedSuggestionsSuggestionItem", "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).", + "text": { "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedAssistantSuggestion": { - "description": "Data for an Assistant suggestion.", - "id": "AppsDynamiteSharedAssistantSuggestion", + "AppsDynamiteSharedTasksAnnotationData": { + "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto", + "id": "AppsDynamiteSharedTasksAnnotationData", "properties": { - "debugContext": { - "$ref": "AppsDynamiteSharedAssistantDebugContext", - "description": "Info regarding suggestion debug information." + "assigneeChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange" }, - "feedbackContext": { - "$ref": "AppsDynamiteSharedAssistantFeedbackContext", - "description": "Data for rendering feedback." + "completionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCompletionChange" }, - "findDocumentSuggestion": { - "$ref": "AppsDynamiteSharedFindDocumentSuggestion", - "description": "Suggestion type that suggests documents (docs, slides, sheets)." + "creation": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCreation" }, - "serializedSuggestions": { - "description": "String representation of the suggestions provided.", + "deletionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataDeletionChange" + }, + "taskId": { + "description": "ID of task. Will be used to create deep links to Tasks.", "type": "string" }, - "sessionContext": { - "$ref": "AppsDynamiteSharedAssistantSessionContext", - "description": "Session context specific to the Assistant suggestion." + "taskProperties": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "description": "Task properties after the update has been applied." + }, + "userDefinedMessage": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage" } }, "type": "object" }, - "AppsDynamiteSharedAssistantUnfulfillableRequest": { - "description": "Data for a response to an unfulfillable request.", - "id": "AppsDynamiteSharedAssistantUnfulfillableRequest", + "AppsDynamiteSharedTasksAnnotationDataAssigneeChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange", + "properties": { + "oldAssignee": { + "$ref": "UserId", + "description": "Obfuscated user ID of previous assignee. Not set if the task was originally not assigned." + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataCompletionChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataCompletionChange", "properties": {}, "type": "object" }, - "AppsDynamiteSharedAvatarInfo": { - "id": "AppsDynamiteSharedAvatarInfo", + "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": { - "emoji": { - "$ref": "AppsDynamiteSharedEmoji" + "assignee": { + "$ref": "UserId", + "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" }, - "AppsDynamiteSharedBackendUploadMetadata": { - "description": "Metadata used only in Dynamite backend for uploaded attachments.", - "id": "AppsDynamiteSharedBackendUploadMetadata", + "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": { - "blobPath": { - "description": "Blobstore path for the uploaded attachment", - "type": "string" + "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." }, - "contentName": { - "description": "The original file name for the content, not the full path.", + "hintText": { + "description": "The hint text.", "type": "string" }, - "contentSize": { - "description": "Scotty reported content size by default. http://google3/uploader/agent/scotty_agent.proto?l=101\u0026rcl=140889785", - "format": "int64", + "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" }, - "contentType": { - "description": "Type is from Scotty's best_guess by default: http://google3/uploader/agent/scotty_agent.proto?l=51\u0026rcl=140889785", + "name": { + "description": "The name of the text input which is used in formInput.", "type": "string" }, - "dlpScanOutcome": { - "description": "The results of the Data Loss Prevention (DLP) scan of the attachment. DEPRECATED: use dlp_scan_summary instead.", + "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": [ - "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" + "SINGLE_LINE", + "MULTIPLE_LINE" ], "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)." + "The text is put into a single line.", + "The text is put into multiple lines." ], "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", + "value": { + "description": "The default value when there is no input from the user.", "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": "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" }, - "videoThumbnailBlobId": { - "description": "Full Blobstore ID for the video thumbnail.", - "type": "string" + "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" }, - "virusScanResult": { - "description": "Result for a virus scan.", + "status": { + "description": "Transcode status", "enum": [ - "UNKNOWN_VIRUS_SCAN_RESULT", - "CLEAN", - "INFECTED", + "UNKNOWN_STATUS", + "SUCCESS", "ERROR", - "POLICY_VIOLATION" + "NOT_APPLICABLE" ], "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", + "AppsDynamiteSharedWidget": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "AppsDynamiteSharedWidget", "properties": { - "cornerRadius": { - "description": "The corner radius for the border.", - "format": "int32", - "type": "integer" + "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\" } } }, ] } ```" }, - "strokeColor": { - "$ref": "Color", - "description": "The colors to use when the type is `BORDER_TYPE_STROKE`." + "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\", } } ] }, ] } } ```" }, - "type": { - "description": "The border type.", + "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": [ - "BORDER_TYPE_UNSPECIFIED", - "NO_BORDER", - "STROKE" + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" ], "enumDescriptions": [ - "No value specified.", - "No border.", - "Outline." + "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" }, - "AppsDynamiteSharedButton": { - "description": "A button. Can be a text button or an image button.", - "id": "AppsDynamiteSharedButton", + "AppsDynamiteV1ApiCompatV1Action": { + "description": "Interactive objects inside a message. Documentation: - https://api.slack.com/docs/message-buttons", + "id": "AppsDynamiteV1ApiCompatV1Action", "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" + "confirm": { + "$ref": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "description": "Confirmation dialog config." }, - "icon": { - "$ref": "AppsDynamiteSharedIcon", - "description": "The icon image." + "name": { + "description": "Unique identifier for this action.", + "type": "string" }, - "onClick": { - "$ref": "AppsDynamiteSharedOnClick", - "description": "The action to perform when the button is clicked." + "style": { + "description": "Button style (\"default\", \"primary\", or \"danger\").", + "type": "string" }, "text": { - "description": "The text of the button.", + "description": "User-facing label for the action.", "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": { + "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" }, - "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent": { - "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent", + "AppsDynamiteV1ApiCompatV1ActionConfirm": { + "description": "Confirmation dialog config.", + "id": "AppsDynamiteV1ApiCompatV1ActionConfirm", "properties": { - "endTime": { - "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", - "description": "The end time of the event." + "dismiss_text": { + "description": "\"Cancel\" button label.", + "type": "string" }, - "eventId": { - "description": "ID of the event.", + "ok_text": { + "description": "\"OK\" button label.", "type": "string" }, - "startTime": { - "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", - "description": "The start time of the event." + "text": { + "description": "Confirmation dialog body text.", + "type": "string" }, "title": { - "description": "Title of the event (at the time the message was generated).", + "description": "Confirmation dialog title.", "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime": { - "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "AppsDynamiteV1ApiCompatV1Attachment": { + "description": "Richly formatted attachments. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Attachment", "properties": { - "allDay": { - "$ref": "Date", - "description": "All day event." + "actions": { + "description": "Array of actions (currently only buttons).", + "items": { + "$ref": "AppsDynamiteV1ApiCompatV1Action" + }, + "type": "array" }, - "timed": { - "description": "Non all day event.", - "format": "google-datetime", + "attachment_type": { + "description": "Undocumented - used in interactive button examples. The only valid value appears to be \"default\".", "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", + }, + "author_icon": { + "description": "Avatar URL for the user.", "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." + "author_link": { + "description": "URL that the user name should link to.", + "type": "string" }, - "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." - ], + "author_name": { + "description": "User name to display as the author of the message.", "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\" } } } ] ```", + }, + "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": "AppsDynamiteSharedCardCardAction" + "$ref": "AppsDynamiteV1ApiCompatV1Field" }, "type": "array" }, - "header": { - "$ref": "AppsDynamiteSharedCardCardHeader", - "description": "The header of the card. A header usually contains a title and an image." + "footer": { + "description": "A string displayed at the bottom of the attachment.", + "type": "string" }, - "name": { - "description": "Name of the card, which is used as a identifier for the card in card navigation.", + "footer_icon": { + "description": "Avatar URL displayed to the left of the footer.", "type": "string" }, - "sections": { - "description": "Sections are separated by a line divider.", + "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": { - "$ref": "AppsDynamiteSharedCardSection" + "type": "string" }, "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.", + "pretext": { + "description": "A string to show above the attachment.", "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." - ], + "text": { + "description": "Main text.", "type": "string" }, - "imageUrl": { - "description": "The URL of the image in the card header.", + "thumb_url": { + "description": "URL of a thumbnail image to display to the right of the attachment body.", "type": "string" }, - "subtitle": { - "description": "The subtitle of the card header.", + "title": { + "description": "Title string of this attachment.", "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.", + "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" }, - "AppsDynamiteSharedCardClickSuggestion": { - "description": "Card click which identifies one suggestion provided by the app/bot.", - "id": "AppsDynamiteSharedCardClickSuggestion", + "AppsDynamiteV1ApiCompatV1Field": { + "description": "A column of text in an attachment. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Field", "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.", + "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" }, - "suggestionMessageId": { - "$ref": "AppsDynamiteMessageId", - "description": "The message_id for the message that was posted by the app/bot." + "value": { + "description": "The text value of the field.", + "type": "string" } }, "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", + "Attachment": { + "description": "Attachments that follow the message text.", + "id": "Attachment", "properties": { - "collapsible": { - "description": "Indicates whether this section is collapsible. If a section is collapsible, the description must be given.", - "type": "boolean" + "addOnData": { + "$ref": "GoogleChatV1ContextualAddOnMarkup", + "description": "Revised version of Gmail AddOn attachment approved by API design review." }, - "header": { - "description": "The header of the section. Formatted text is supported.", + "appId": { + "$ref": "UserId", + "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." + }, + "attachmentId": { + "description": "To identify an attachment within repeated in a message", "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" + "cardAddOnData": { + "$ref": "AppsDynamiteSharedCard", + "description": "Card AddOn attachment with the possibility for specifying editable widgets." }, - "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" + "deprecatedAddOnData": { + "$ref": "ContextualAddOnMarkup", + "description": "Deprecated version of Gmail AddOn attachment." }, - "groupInfo": { - "$ref": "AppsDynamiteSharedChatItemGroupInfo", - "description": "Only populated on read path and should not be persisted in storage." + "slackData": { + "$ref": "AppsDynamiteV1ApiCompatV1Attachment", + "description": "Slack attachment." }, - "messageInfo": { - "$ref": "AppsDynamiteSharedMessageInfo", - "description": "Additional information about the original chat message that isn't captured in the top-level message proto." + "slackDataImageUrlHeight": { + "description": "The height of image url as fetched by fife. This field is asynchronously filled.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "AppsDynamiteSharedChatItemActivityInfo": { - "id": "AppsDynamiteSharedChatItemActivityInfo", + "AuditLoggingSettings": { + "description": "Represents the settings for Cloud audit logging", + "id": "AuditLoggingSettings", "properties": { - "feedItemNudge": { - "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge" + "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" }, - "feedItemReactions": { - "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions" + "logDataReadActions": { + "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", + "type": "boolean" }, - "feedItemThreadReply": { - "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply" + "logDataWriteActions": { + "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", + "type": "boolean" }, - "feedItemUserMention": { - "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention" + "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" }, - "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge": { - "description": "Existence of this attribute indicates that the AF item is for a message nudge item.", - "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge", + "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": { - "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." - ], + "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" }, - "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", + "AutoComplete": { + "id": "AutoComplete", "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" + "items": { + "items": { + "$ref": "AutoCompleteItem" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention": { - "description": "Existence of this attribute indicates that the AF item is for a user mention item.", - "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention", + "AutoCompleteItem": { + "id": "AutoCompleteItem", "properties": { - "type": { - "description": "User mention type", - "enum": [ - "TYPE_UNSPECIFIED", - "DIRECT", - "ALL" - ], - "enumDescriptions": [ - "Mention type not specified.", - "Mentioned directly by name.", - "Mentioned by @all." - ], + "text": { "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", + "BabelMessageProps": { + "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": "BabelMessageProps", "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)" - ], + "clientGeneratedId": { + "description": "Babel clients locally generate this ID to dedupe against the async fanout.", + "format": "int64", "type": "string" }, - "groupName": { - "type": "string" + "contentExtension": { + "$ref": "ChatContentExtension", + "description": "Stores additional Babel-specific properties (such as event metadata)." }, - "groupReadTimeUsec": { - "description": "Timestamp of when the group containing the message has been read by the user.", - "format": "int64", + "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" }, - "inlineThreadingEnabled": { - "description": "Indicates whether the group has inline replies enabled. If enabled, clients will render the space with inline replies.", + "messageContent": { + "$ref": "ChatConserverMessageContent", + "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" }, - "AppsDynamiteSharedColumns": { - "description": "Represents a Columns widget that displays a single row of columns.", - "id": "AppsDynamiteSharedColumns", + "BabelPlaceholderMetadata": { + "description": "Annotation metadata for Babel-only items that signals which type of placeholder message should be displayed in Babel clients.", + "id": "BabelPlaceholderMetadata", "properties": { - "columnItems": { - "description": "Each card supports up to 2 columns.", - "items": { - "$ref": "AppsDynamiteSharedColumnsColumn" - }, - "type": "array" + "deleteMetadata": { + "$ref": "DeleteMetadata" }, - "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" + "editMetadata": { + "$ref": "EditMetadata" + }, + "hangoutVideoMetadata": { + "$ref": "HangoutVideoEventMetadata" } }, "type": "object" }, - "AppsDynamiteSharedColumnsColumn": { - "description": "Represents a Column that consists of widgets stacked vertically.", - "id": "AppsDynamiteSharedColumnsColumn", + "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": { - "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." - ], + "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" }, - "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." - ], + "strokeColor": { + "description": "The colors to use when the type is STROKE.", "type": "string" }, - "verticalAlignment": { - "description": "The vertical alignment of the column.", + "type": { + "description": "The border type.", "enum": [ - "VERTICAL_ALIGNMENT_UNSPECIFIED", - "CENTER", - "TOP", - "BOTTOM" + "BORDER_TYPE_NOT_SET", + "NO_BORDER", + "STROKE" ], "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." + "No value specified.", + "No border.", + "Outline." ], "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", + "BotInfo": { + "description": "Bot-specific profile information.", + "id": "BotInfo", "properties": { - "buttonList": { - "$ref": "AppsDynamiteSharedButtonList", - "description": "ButtonList widget." + "appId": { + "$ref": "AppId", + "description": "Identifier of the application associated with the bot." }, - "dateTimePicker": { - "$ref": "AppsDynamiteSharedDateTimePicker", - "description": "DateTimePicker widget." + "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" }, - "decoratedText": { - "$ref": "AppsDynamiteSharedDecoratedText", - "description": "DecoratedText widget." + "botName": { + "description": "Non-unique, user-defined display name of the Bot. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries.", + "type": "string" }, - "image": { - "$ref": "AppsDynamiteSharedImage", - "description": "Image widget." + "description": { + "description": "Short description for the bot.", + "type": "string" }, - "selectionInput": { - "$ref": "AppsDynamiteSharedSelectionInput", - "description": "SelectionInput widget." + "developerName": { + "description": "Name of bot developer.", + "type": "string" }, - "textInput": { - "$ref": "AppsDynamiteSharedTextInput", - "description": "TextInput widget." + "marketPlaceBannerUrl": { + "description": "URL for the banner image in GSuite Market Place. The banner will be 220x140.", + "type": "string" }, - "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.", + "status": { + "description": "Indicates whether bot is enabled/disabled.", "enum": [ - "VIOLATION_UNSPECIFIED", - "HARASSMENT", - "DISCRIMINATION", - "EXPLICIT_CONTENT", - "SPAM", - "CONFIDENTIAL_INFORMATION", - "SENSITIVE_INFORMATION", - "OTHER" + "UNKNOWN_STATUS", + "ENABLED", + "DISABLED_BY_DEVELOPER" ], "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\"" + "", + "", + "Bot has been disabled by the bot developer. No one can @mention or interact with the bot." + ], + "type": "string" + }, + "supportUrls": { + "$ref": "SupportUrls", + "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" }, - "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", + "BotResponse": { + "description": "Information about a bot response, branched from shared/bot_response.proto without frontend User proto as we never store it.", + "id": "BotResponse", "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" + "botId": { + "$ref": "UserId" }, - "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" }, - "AppsDynamiteSharedDateTimePicker": { - "description": "The widget that lets users to specify a date and time.", - "id": "AppsDynamiteSharedDateTimePicker", + "BroadcastAccess": { + "description": "Broadcast access information of a meeting space.", + "id": "BroadcastAccess", "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.", + "accessPolicy": { + "description": "The policy that controls the broadcast's viewer access.", "enum": [ - "DATE_AND_TIME", - "DATE_ONLY", - "TIME_ONLY" + "BROADCASTING_ACCESS_POLICY_UNSPECIFIED", + "ORGANIZATION", + "PUBLIC" ], "enumDescriptions": [ - "The user can select a date and time.", - "The user can only select a date.", - "The user can only select a time." + "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" }, - "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", + "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" }, - "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", + "BroadcastSessionInfo": { + "description": "Information about a broadcast session.", + "id": "BroadcastSessionInfo", "properties": { - "bottomLabel": { - "description": "The formatted text label that shows below the main text.", + "broadcastSessionId": { + "description": "A unique server-generated ID for the broadcast session.", "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." + "broadcastStats": { + "$ref": "BroadcastStats", + "description": "Output only. Current broadcast session's statistics.", + "readOnly": true }, - "text": { - "description": "Required. The main widget formatted text. See Text formatting for details.", + "ingestionId": { + "description": "Input only. Deprecated field, should not be used.", "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" + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Broadcast session's state information." } }, "type": "object" }, - "AppsDynamiteSharedDecoratedTextSwitchControl": { - "id": "AppsDynamiteSharedDecoratedTextSwitchControl", + "BroadcastStats": { + "description": "Statistics of the broadcast session.", + "id": "BroadcastStats", "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.", + "estimatedViewerCount": { + "description": "Estimated concurrent viewer count.", + "format": "int64", "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedDimension": { - "description": "Dimension for the uploaded attachments.", - "id": "AppsDynamiteSharedDimension", + "Button": { + "id": "Button", "properties": { - "height": { - "format": "int32", - "type": "integer" + "imageButton": { + "$ref": "ImageButton" }, - "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" + "textButton": { + "$ref": "TextButton" } }, "type": "object" }, - "AppsDynamiteSharedDocument": { - "description": "Data for rendering a document.", - "id": "AppsDynamiteSharedDocument", + "CallInfo": { + "description": "Contains information regarding an ongoing conference (aka call) for a meeting space.", + "id": "CallInfo", "properties": { - "fileId": { - "description": "Unique file ID.", - "type": "string" + "abuseReportingConfig": { + "$ref": "AbuseReportingConfig", + "description": "Abuse reporting configuration for the ongoing conference." }, - "justification": { - "$ref": "AppsDynamiteSharedJustification", - "description": "Justification to explain why this document is being suggested." + "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 }, - "lastModifiedTime": { - "description": "Time the document was last modified.", - "format": "google-datetime", - "type": "string" + "attachedDocuments": { + "description": "Output only. Documents attached to an ongoing conference.", + "items": { + "$ref": "DocumentInfo" + }, + "readOnly": true, + "type": "array" }, - "mimeType": { - "description": "Used to determine which icon to render (e.g. docs, slides, sheets)", - "type": "string" + "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" }, - "title": { - "description": "Title of the document.", + "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" }, - "url": { - "description": "URL of the document.", + "chatConfig": { + "$ref": "ChatConfig", + "description": "Configuration for the chat for this conference." + }, + "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" - } - }, - "type": "object" - }, - "AppsDynamiteSharedEmoji": { - "id": "AppsDynamiteSharedEmoji", - "properties": { - "customEmoji": { - "$ref": "AppsDynamiteSharedCustomEmoji", - "description": "A custom emoji." }, - "unicode": { - "description": "A basic emoji represented by a unicode 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" - } - }, - "type": "object" - }, - "AppsDynamiteSharedFindDocumentSuggestion": { - "description": "Data for a FindDocument suggestion type.", - "id": "AppsDynamiteSharedFindDocumentSuggestion", - "properties": { - "documentSuggestions": { - "description": "List of documents to render as suggestions.", + }, + "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": "AppsDynamiteSharedDocument" + "$ref": "StreamingSessionInfo" }, + "readOnly": true, "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." + "supportedCaptionLanguages": { + "description": "Supported caption languages in BCP 47 language code format, e.g.'en-US'.", + "items": { + "type": "string" + }, + "type": "array" }, - "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).", + "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" }, - "items": { - "description": "The items to display in the grid.", + "youTubeBroadcastSessionInfos": { + "description": "Information about active YouTube broadcast sessions in the ongoing conference.", "items": { - "$ref": "AppsDynamiteSharedGridGridItem" + "$ref": "YouTubeBroadcastSessionInfo" }, "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", + "CallSettings": { + "description": "Effective settings of the ongoing conference.", + "id": "CallSettings", "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" + "accessLock": { + "description": "Indicates whether the access lock is currently on or off.", + "type": "boolean" }, - "image": { - "$ref": "AppsDynamiteSharedImageComponent", - "description": "The image that displays in the grid item." + "attendanceReportEnabled": { + "description": "Indicates whether the attendance report is currently enabled or disabled.", + "type": "boolean" }, - "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" + "audioLock": { + "description": "Indicates whether the audio lock is currently on or off.", + "type": "boolean" }, - "subtitle": { - "description": "The grid item's subtitle.", - "type": "string" + "chatLock": { + "description": "Indicates whether the chat lock is currently on or off.", + "type": "boolean" }, - "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" + "cseEnabled": { + "description": "Whether Client-side Encryption is enabled for this conference.", + "type": "boolean" }, - "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" + "moderationEnabled": { + "description": "Indicates whether the current call is moderated. go/meet-multimod-dd", + "type": "boolean" }, - "guidelines": { - "description": "A simple text describing the rules and expectations from members when participating in conversation.", - "type": "string" + "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" }, - "AppsDynamiteSharedGroupVisibility": { - "id": "AppsDynamiteSharedGroupVisibility", + "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": { - "state": { - "enum": [ - "UNKNOWN", - "PRIVATE", - "PUBLIC" - ], - "enumDescriptions": [ - "Do not use.", - "Explicitly invited users may join the room.", - "Anyone in the domain may join the room." - ], + "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" }, - "AppsDynamiteSharedIcon": { - "id": "AppsDynamiteSharedIcon", + "Card": { + "id": "Card", "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" + "cardActions": { + "items": { + "$ref": "CardAction" + }, + "type": "array" }, - "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.", + "displayStyle": { "enum": [ - "SQUARE", - "CIRCLE" + "DISPLAY_STYLE_UNSPECIFIED", + "PEEK", + "REPLACE" ], "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", + "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" }, - "AppsDynamiteSharedImage": { - "description": "An image that is specified by a URL and can have an onClick action.", - "id": "AppsDynamiteSharedImage", + "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": { - "altText": { - "description": "The alternative text of this image, used for accessibility.", - "type": "string" - }, - "imageUrl": { - "description": "An image URL.", + "actionLabel": { + "description": "The label used to be displayed in the action menu item.", "type": "string" }, "onClick": { - "$ref": "AppsDynamiteSharedOnClick" + "$ref": "OnClick" } }, "type": "object" }, - "AppsDynamiteSharedImageComponent": { - "id": "AppsDynamiteSharedImageComponent", + "CardCapabilityMetadata": { + "id": "CardCapabilityMetadata", "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" + "requiredCapabilities": { + "description": "NEXT TAG : 2", + "items": { + "enum": [ + "UNKNOWN", + "SUPPORTS_BASE_CARDS" + ], + "enumDescriptions": [ + "", + "NEXT TAG : 2" + ], + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedImageCropStyle": { - "description": "Represents the crop style applied to an image.", - "id": "AppsDynamiteSharedImageCropStyle", + "CardHeader": { + "id": "CardHeader", "properties": { - "aspectRatio": { - "description": "The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.", - "format": "double", - "type": "number" + "imageAltText": { + "description": "The alternative text of this image which will be used for accessibility.", + "type": "string" }, - "type": { - "description": "The crop type.", + "imageStyle": { "enum": [ - "IMAGE_CROP_TYPE_UNSPECIFIED", + "CROP_TYPE_NOT_SET", "SQUARE", "CIRCLE", "RECTANGLE_CUSTOM", @@ -5819,2782 +5656,1482 @@ "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" }, - "AppsDynamiteSharedJustification": { - "description": "Data for rendering a justification for a document.", - "id": "AppsDynamiteSharedJustification", + "ChatConfig": { + "description": "Configuration of the in meeting chat.", + "id": "ChatConfig", "properties": { - "actionTime": { - "description": "Time the action took place.", - "format": "google-datetime", + "chatType": { + "description": "The Type of chat this Conference is currently using.", + "enum": [ + "CHAT_TYPE_UNSPECIFIED", + "MEET_CHAT", + "GOOGLE_CHAT" + ], + "enumDescriptions": [ + "Chat Type has not been specified.", + "Meets native chat.", + "Google Chat." + ], "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." - ], + "googleChatConfig": { + "$ref": "GoogleChatConfig", + "description": "The configuration of Google Chat when selected." + } + }, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadata": { + "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": "ChatConserverDynamitePlaceholderMetadata", + "properties": { + "attachmentMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataAttachmentMetadata" + }, + "botMessageMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataBotMessageMetadata" + }, + "calendarEventMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata" + }, + "deleteMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataDeleteMetadata" + }, + "editMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataEditMetadata" + }, + "spaceUrl": { + "description": "The space URL embedded in the localized string.", "type": "string" }, - "documentOwner": { - "$ref": "AppsDynamiteSharedJustificationPerson", - "description": "Owner of the document." + "tasksMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataTasksMetadata" }, - "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" + "videoCallMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadataVideoCallMetadata" } }, "type": "object" }, - "AppsDynamiteSharedJustificationPerson": { - "description": "Data for rendering a person associated with a document.", - "id": "AppsDynamiteSharedJustificationPerson", + "ChatConserverDynamitePlaceholderMetadataAttachmentMetadata": { + "description": "An attachment uploaded in Dynamite and its filename.", + "id": "ChatConserverDynamitePlaceholderMetadataAttachmentMetadata", "properties": { - "isRecipient": { - "description": "Whether the person is the recipient of the suggestions.", - "type": "boolean" - }, - "user": { - "$ref": "AppsDynamiteUserId", - "description": "Obfuscated user ID." + "filename": { + "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedMeetMetadata": { - "description": "Metadata specific for a Meet call that are required to generate call artifacts.", - "id": "AppsDynamiteSharedMeetMetadata", + "ChatConserverDynamitePlaceholderMetadataBotMessageMetadata": { + "description": "A bot sent a message in Dynamite.", + "id": "ChatConserverDynamitePlaceholderMetadataBotMessageMetadata", + "properties": {}, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata": { + "description": "A Calendar event message in Dynamite.", + "id": "ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata", + "properties": {}, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadataDeleteMetadata": { + "description": "A message was deleted in Dynamite.", + "id": "ChatConserverDynamitePlaceholderMetadataDeleteMetadata", + "properties": {}, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadataEditMetadata": { + "description": "An edit was made in Dynamite.", + "id": "ChatConserverDynamitePlaceholderMetadataEditMetadata", + "properties": {}, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadataTasksMetadata": { + "description": "A Tasks message in Dynamite.", + "id": "ChatConserverDynamitePlaceholderMetadataTasksMetadata", + "properties": {}, + "type": "object" + }, + "ChatConserverDynamitePlaceholderMetadataVideoCallMetadata": { + "description": "A Meet initiated in Dynamite and its URL.", + "id": "ChatConserverDynamitePlaceholderMetadataVideoCallMetadata", "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", + "ChatConserverMessageContent": { + "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": "ChatConserverMessageContent", "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." + "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": "SocialCommonAttachmentAttachment" + }, + "type": "array" }, - "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" + "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" }, - "AppsDynamiteSharedMessageIntegrationPayload": { - "description": "The payload(restricted to 1P applications) to be stored with a specific message.", - "id": "AppsDynamiteSharedMessageIntegrationPayload", + "ChatContentExtension": { + "description": "NEXT ID: 12", + "id": "ChatContentExtension", "properties": { - "projectNumber": { - "description": "Pantheon project number used to identify the calling app.", - "format": "int64", - "type": "string" + "annotation": { + "description": "Annotations to decorate this event.", + "items": { + "$ref": "EventAnnotation" + }, + "type": "array" }, - "tasksMessageIntegrationPayload": { - "$ref": "AppsDynamiteSharedTasksMessageIntegrationPayload" + "dynamitePlaceholderMetadata": { + "$ref": "ChatConserverDynamitePlaceholderMetadata", + "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." }, - "type": { - "description": "An enum indicating which 1P application's payload this is. This field is required to add 1P payload.", + "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": [ - "PAYLOAD_TYPE_UNSPECIFIED", - "TASKS" + "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" }, - "AppsDynamiteSharedOnClick": { - "id": "AppsDynamiteSharedOnClick", + "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": { - "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." + "chatId": { + "description": "Chat IDs consist of alphanumeric characters and colons. Currently required.", + "type": "string" }, - "openLink": { - "$ref": "AppsDynamiteSharedOpenLink", - "description": "If specified, this onClick triggers an open link action." + "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" }, - "AppsDynamiteSharedOpenLink": { - "id": "AppsDynamiteSharedOpenLink", + "CheckAccessResponse": { + "id": "CheckAccessResponse", "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" + "hasAccess": { + "description": "Returns true if principal has access. Returns false otherwise.", + "type": "boolean" } }, "type": "object" }, - "AppsDynamiteSharedOpenLinkAppUri": { - "description": "Represents the platform specific uri/intent to open for each client.", - "id": "AppsDynamiteSharedOpenLinkAppUri", + "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": { - "androidIntent": { - "$ref": "AppsDynamiteSharedOpenLinkAppUriIntent", - "description": "An intent object to be opened in the corresponding android hosting app." + "circleId": { + "description": "Circle ID is unique only relative to the owner's Gaia ID. Currently required.", + "format": "int64", + "type": "string" }, - "companionUri": { - "description": "A companion uri string to be opened in the chat companion window. on the web.", + "ownerGaiaId": { + "description": "The owner of the circle. Currently required.", + "format": "int64", "type": "string" }, - "iosUri": { - "description": "A uri string to be opened in the corresponding iOS hosting app.", + "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" }, - "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.", + "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" }, - "AppsDynamiteSharedOpenLinkAppUriIntentExtraData": { - "description": "Extra data for an android intent. Valid keys are defined in the hosting app contract.", - "id": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData", + "CoActivity": { + "description": "Metadata about a co-activity session.", + "id": "CoActivity", "properties": { - "key": { - "description": "A key for the intent extra data.", + "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" }, - "value": { - "description": "Value for the given extra data key.", + "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" }, - "AppsDynamiteSharedOrganizationInfo": { - "description": "Contains info about the entity that something is, or is owned by.", - "id": "AppsDynamiteSharedOrganizationInfo", + "Collaboration": { + "description": "Information about a collaboration session.", + "id": "Collaboration", "properties": { - "consumerInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfoConsumerInfo" + "attachmentId": { + "description": "The attachment being collaborated on.", + "type": "string" }, - "customerInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfoCustomerInfo" + "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" }, - "AppsDynamiteSharedOrganizationInfoConsumerInfo": { - "description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.", - "id": "AppsDynamiteSharedOrganizationInfoConsumerInfo", - "properties": {}, - "type": "object" - }, - "AppsDynamiteSharedOrganizationInfoCustomerInfo": { - "id": "AppsDynamiteSharedOrganizationInfoCustomerInfo", + "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": { - "customerId": { - "$ref": "AppsDynamiteCustomerId" + "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" }, - "AppsDynamiteSharedOriginAppSuggestion": { - "description": "Stores the suggestion provided by apps/bots.", - "id": "AppsDynamiteSharedOriginAppSuggestion", + "CommunalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a communal type that's associated with a message.", + "id": "CommunalLabelTag", "properties": { - "appId": { - "$ref": "AppsDynamiteAppId" + "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" }, - "cardClickSuggestion": { - "$ref": "AppsDynamiteSharedCardClickSuggestion" + "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" }, - "AppsDynamiteSharedPhoneNumber": { - "id": "AppsDynamiteSharedPhoneNumber", + "CompositeFilter": { + "id": "CompositeFilter", "properties": { - "type": { - "description": "The phone number type, e.g., work, mobile, etc.", + "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" }, - "value": { - "description": "The actual phone number.", - "type": "string" + "subFilters": { + "description": "Sub filters.", + "items": { + "$ref": "Filter" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedReaction": { - "id": "AppsDynamiteSharedReaction", + "ConsentedAppUnfurlMetadata": { + "description": "Annotation metadata app unfurl consent.", + "id": "ConsentedAppUnfurlMetadata", "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" + "clientSpecifiedAppId": { + "$ref": "UserId", + "description": "Client specified AppId, which will not be sanitized and is untrusted." } }, "type": "object" }, - "AppsDynamiteSharedRetentionSettings": { - "description": "The settings of retention period of a message or topic.", - "id": "AppsDynamiteSharedRetentionSettings", + "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": { - "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.", + "groupId": { + "description": "Group ID is unique only relative to the owner's Gaia ID.", "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." - ], + "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" }, - "AppsDynamiteSharedSelectionInput": { - "description": "A widget that creates a UI item (for example, a drop-down list) with options for users to select.", - "id": "AppsDynamiteSharedSelectionInput", + "ContentReport": { + "id": "ContentReport", "properties": { - "items": { - "items": { - "$ref": "AppsDynamiteSharedSelectionInputSelectionItem" - }, - "type": "array" - }, - "label": { - "description": "The label displayed ahead of the switch control.", + "reportCreateTimestamp": { + "description": "The time at which the report is generated. Always populated when it is in a response.", + "format": "google-datetime", "type": "string" }, - "name": { - "description": "The name of the text input which is used in formInput.", - "type": "string" + "reportJustification": { + "$ref": "ContentReportJustification", + "description": "Additional user-provided justification on the report. Optional." }, - "onChangeAction": { - "$ref": "AppsDynamiteSharedAction", - "description": "If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button." + "reportType": { + "$ref": "AppsDynamiteSharedContentReportType", + "description": "Type of the report. Always populated when it is in a response." }, - "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." - ], + "reporterUserId": { + "$ref": "UserId", + "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" }, - "AppsDynamiteSharedSelectionInputSelectionItem": { - "description": "The item in the switch control. A radio button, at most one of the items is selected.", - "id": "AppsDynamiteSharedSelectionInputSelectionItem", + "ContentReportJustification": { + "id": "ContentReportJustification", "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.", + "userJustification": { + "description": "Optional. User-generated free-text justification for the content report.", "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedSpaceInfo": { - "description": "Defines the representation of a single matching space.", - "id": "AppsDynamiteSharedSpaceInfo", + "ContentReportSummary": { + "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": "ContentReportSummary", "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": { + "numberReports": { + "description": "Total number of reports attached to this (revision of) message.", "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" + "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" } }, "type": "object" }, - "AppsDynamiteSharedSuggestions": { - "description": "A container wrapping elements necessary for showing suggestion items used in text input autocomplete.", - "id": "AppsDynamiteSharedSuggestions", + "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": { - "items": { - "description": "A list of suggestions items which will be used in are used in autocomplete.", + "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": { - "$ref": "AppsDynamiteSharedSuggestionsSuggestionItem" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedSuggestionsSuggestionItem": { - "description": "A suggestion item. Only supports text for now.", - "id": "AppsDynamiteSharedSuggestionsSuggestionItem", + "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": { - "text": { - "type": "string" + "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" }, - "AppsDynamiteSharedTasksAnnotationData": { - "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto", - "id": "AppsDynamiteSharedTasksAnnotationData", + "CseInfo": { + "description": "Information needed for Client-side Encryption.", + "id": "CseInfo", "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.", + "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" }, - "taskProperties": { - "$ref": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", - "description": "Task properties after the update has been applied." - }, - "userDefinedMessage": { - "$ref": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage" + "wrappedKey": { + "description": "The wrapped CSE key used by this conference.", + "format": "byte", + "type": "string" } }, "type": "object" }, - "AppsDynamiteSharedTasksAnnotationDataAssigneeChange": { - "id": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange", + "CustomEmojiMetadata": { + "id": "CustomEmojiMetadata", "properties": { - "oldAssignee": { - "$ref": "AppsDynamiteUserId", - "description": "Obfuscated user ID of previous assignee. Not set if the task was originally not assigned." + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji" } }, "type": "object" }, - "AppsDynamiteSharedTasksAnnotationDataCompletionChange": { - "id": "AppsDynamiteSharedTasksAnnotationDataCompletionChange", - "properties": {}, + "CustomerId": { + "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", + "id": "CustomerId", + "properties": { + "customerId": { + "type": "string" + } + }, "type": "object" }, - "AppsDynamiteSharedTasksAnnotationDataCreation": { - "id": "AppsDynamiteSharedTasksAnnotationDataCreation", - "properties": {}, + "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" }, - "AppsDynamiteSharedTasksAnnotationDataDeletionChange": { - "id": "AppsDynamiteSharedTasksAnnotationDataDeletionChange", - "properties": {}, + "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" }, - "AppsDynamiteSharedTasksAnnotationDataTaskProperties": { - "description": "All relevant task properties for a Chat message.", - "id": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "CustomerSearchApplicationStats": { + "description": "Search application stats for a customer for the given date.", + "id": "CustomerSearchApplicationStats", "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.", + "count": { + "description": "The count of search applications for the date.", + "format": "int64", "type": "string" }, - "startDate": { + "date": { "$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" + "description": "The date for which search application stats were calculated." } }, "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": {}, + "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" }, - "AppsDynamiteSharedTasksMessageIntegrationPayload": { - "description": "A payload containing Tasks metadata for rendering a live card. Currently not used by the Tasks integration.", - "id": "AppsDynamiteSharedTasksMessageIntegrationPayload", - "properties": {}, + "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" }, - "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", + "CustomerUserStats": { + "id": "CustomerUserStats", "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." + "date": { + "$ref": "Date", + "description": "The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." }, - "label": { - "description": "At least one of label and hintText must be specified.", + "oneDayActiveUsersCount": { + "description": "The count of unique active users in the past one day", + "format": "int64", "type": "string" }, - "name": { - "description": "The name of the text input which is used in formInput.", + "sevenDaysActiveUsersCount": { + "description": "The count of unique active users in the past seven days", + "format": "int64", "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.", + "thirtyDaysActiveUsersCount": { + "description": "The count of unique active users in the past thirty days", + "format": "int64", "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", + "DataLossPreventionMetadata": { + "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": "DataLossPreventionMetadata", "properties": { - "text": { - "description": "The text that's shown in the widget.", - "type": "string" + "dlpScanSummary": { + "$ref": "DlpScanSummary", + "description": "The DLP scan summary that should only be set after the message is scanned in the Chat backend." + }, + "warnAcknowledged": { + "description": "Flag set by client on message resend to bypass WARN violation.", + "type": "boolean" } }, "type": "object" }, - "AppsDynamiteSharedUserBlockRelationship": { - "description": "User-block relationship", - "id": "AppsDynamiteSharedUserBlockRelationship", + "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": { - "hasBlockedRequester": { + "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" }, - "isBlockedByRequester": { + "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" }, - "AppsDynamiteSharedVideoReference": { - "description": "Reference to a transcoded video attachment.", - "id": "AppsDynamiteSharedVideoReference", + "DataSourceIndexStats": { + "description": "Aggregation of items by status code as of the specified date.", + "id": "DataSourceIndexStats", "properties": { - "format": { - "description": "Available transcode format. Value is defined in video/storage/proto/content_header.proto", + "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": { - "format": "int32", - "type": "integer" + "$ref": "ItemCountByStatus" }, "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", + "DataSourceRestriction": { + "description": "Restriction on Datasource.", + "id": "DataSourceRestriction", "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\" } ```" + "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" }, - "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 } ] } ```" + "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" }, - "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\" } ] } } ```" + "month": { + "description": "Month of date. Must be from 1 to 12.", + "format": "int32", + "type": "integer" }, - "textParagraph": { - "$ref": "AppsDynamiteSharedTextParagraph", - "description": "Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" + "year": { + "description": "Year of date. Must be from 1 to 9999.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "AppsDynamiteSlashCommandMetadata": { - "description": "Annotation metadata for slash commands (/).", - "id": "AppsDynamiteSlashCommandMetadata", + "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": { - "argumentsHint": { - "description": "Hint string for the arguments expected by the slash command.", - "type": "string" - }, - "commandId": { - "description": "Unique id for the slash command.", - "format": "int64", + "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" }, - "commandName": { - "description": "Name of the slash command.", + "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" }, - "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." - ], + "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" }, - "AppsDynamiteSpaceId": { - "description": "Primary key for Space resource.", - "id": "AppsDynamiteSpaceId", + "DatePropertyOptions": { + "description": "The options for date properties.", + "id": "DatePropertyOptions", "properties": { - "spaceId": { - "description": "Unique, immutable ID of the Space", - "type": "string" + "operatorOptions": { + "$ref": "DateOperatorOptions", + "description": "If set, describes how the date should be used as a search operator." } }, "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", + "DateTimePicker": { + "id": "DateTimePicker", "properties": { - "tombstoneType": { - "description": "Indicates the type of Tombstone.", + "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": [ - "TOMBSTONE_UNSPECIFIED", - "CREATOR", - "ROOM_OWNER", - "ADMIN", - "APP_MESSAGE_EXPIRY", - "CREATOR_VIA_APP", - "ROOM_OWNER_VIA_APP" + "UNSPECIFIED_TYPE", + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" ], "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" + }, + "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" }, - "AppsDynamiteTopicId": { - "id": "AppsDynamiteTopicId", + "DateValues": { + "description": "List of date values.", + "id": "DateValues", "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" + "values": { + "items": { + "$ref": "Date" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteUploadMetadata": { - "description": "Annotation metadata for user Upload artifacts.", - "id": "AppsDynamiteUploadMetadata", + "DebugOptions": { + "description": "Shared request debug options for all cloudsearch RPC methods.", + "id": "DebugOptions", "properties": { - "attachmentToken": { - "description": "Opaque token. Clients shall simply pass it back to the Backend. This field will NOT be saved into storage.", + "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" }, - "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" + "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" }, - "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.", + "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" }, - "contentName": { - "description": "The original file name for the content, not the full path.", + "url": { + "description": "Analogous web presence. Used as desktop fallback or when no native link data is present.", "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": "object" + }, + "DeleteMetadata": { + "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": "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" }, - "dlpMetricsMetadata": { - "$ref": "AppsDynamiteSharedDlpMetricsMetadata", - "description": "The metrics metadata of the Data Loss Prevention attachment scan." + "debugOptions": { + "$ref": "DebugOptions", + "description": "Common debug options." }, - "localId": { - "description": "A copy of the LocalId in Annotation. This field is supposed to be filled by server only.", + "queue": { + "description": "The name of a queue to delete items from.", "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", + } + }, + "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_VIRUS_SCAN_RESULT", - "CLEAN", - "INFECTED", - "ERROR", - "POLICY_VIOLATION" + "UNKNOWN_MEDIUM", + "BABEL_MEDIUM", + "GOOGLE_VOICE_MEDIUM", + "LOCAL_SMS_MEDIUM" ], "enumDescriptions": [ "", "", "", - "", - "The document violates Google's policy for executables and archives." + "" ], "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" }, - "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", + "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": { - "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.", + "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" - }, - "url": { - "$ref": "SafeUrlProto", - "description": "The original URL." } }, "type": "object" }, - "AppsDynamiteUserId": { - "description": "Primary key for User resource.", - "id": "AppsDynamiteUserId", + "Divider": { + "id": "Divider", + "properties": {}, + "type": "object" + }, + "DlpScanSummary": { + "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": "DlpScanSummary", "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.", + "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" }, - "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)." + "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" }, - "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.", + "scanOutcome": { + "description": "The outcome of a DLP Scan. If this is set, scan_not_applicable_for_context should not be true.", "enum": [ - "HUMAN", - "BOT" + "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": [ - "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);", - "" + "", + "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" } }, "type": "object" }, - "AppsDynamiteUserMentionMetadata": { - "description": "Annotation metadata for user mentions (+/@/-).", - "id": "AppsDynamiteUserMentionMetadata", + "DmId": { + "id": "DmId", "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.", + "dmId": { + "description": "Unique server assigned Id, per Direct Message Space.", "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": "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" - }, - "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": "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": [ - "TYPE_UNSPECIFIED", - "INVITE", - "UNINVITE", - "MENTION", - "MENTION_ALL", - "FAILED_TO_ADD" + "UNSPECIFIED", + "FOLLOWUP_SUGGESTIONS", + "FOLLOWUP_ACTION_ITEMS" ], "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", + "DriveLocationRestrict": { + "description": "Drive location search restricts (e.g. \"is:starred\").", + "id": "DriveLocationRestrict", "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.", + "enum": [ + "UNSPECIFIED", + "TRASHED", + "STARRED" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" } }, "type": "object" }, - "AppsDynamiteV1ApiCompatV1ActionConfirm": { - "description": "Confirmation dialog config.", - "id": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "DriveMetadata": { + "description": "Annotation metadata for Drive artifacts.", + "id": "DriveMetadata", "properties": { - "dismiss_text": { - "description": "\"Cancel\" button label.", - "type": "string" - }, - "ok_text": { - "description": "\"OK\" button label.", - "type": "string" + "aclFixRequest": { + "$ref": "AclFixRequest" }, - "text": { - "description": "Confirmation dialog body text.", - "type": "string" + "aclFixStatus": { + "$ref": "AclFixStatus" }, - "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" + "canEdit": { + "description": "Can the current user edit this resource", + "type": "boolean" }, - "attachment_type": { - "description": "Undocumented - used in interactive button examples. The only valid value appears to be \"default\".", - "type": "string" + "canShare": { + "description": "Can the current user share this resource", + "type": "boolean" }, - "author_icon": { - "description": "Avatar URL for the user.", - "type": "string" + "canView": { + "description": "Can the current user view this resource", + "type": "boolean" }, - "author_link": { - "description": "URL that the user name should link to.", + "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" }, - "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.", + "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" }, - "fallback": { - "description": "Fallback plain-text string for clients that don't support attachments.", - "type": "string" + "embedUrl": { + "$ref": "TrustedResourceUrlProto", + "description": "Output only. Trusted Resource URL for drive file embedding.", + "readOnly": true }, - "fields": { - "description": "Columns of text inside the attachment body.", - "items": { - "$ref": "AppsDynamiteV1ApiCompatV1Field" - }, - "type": "array" + "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" }, - "footer": { - "description": "A string displayed at the bottom of the attachment.", + "encryptedResourceKey": { + "description": "This is deprecated and unneeded. TODO (b/182479059): Remove this.", "type": "string" }, - "footer_icon": { - "description": "Avatar URL displayed to the left of the footer.", + "externalMimetype": { + "description": "External mimetype of the Drive Resource (Useful for creating Drive URL) See: http://b/35219462", "type": "string" }, - "image_url": { - "description": "URL of an image to display in an image chip.", + "id": { + "description": "Drive resource ID of the artifact.", "type": "string" }, - "mrkdwn_in": { - "description": "List of fields to apply formatting to.", - "items": { - "type": "string" - }, - "type": "array" + "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" }, - "pretext": { - "description": "A string to show above the attachment.", - "type": "string" + "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" }, - "text": { - "description": "Main text.", - "type": "string" + "legacyUploadMetadata": { + "$ref": "LegacyUploadMetadata", + "description": "Only present if this DriveMetadata is converted from an UploadMetadata." }, - "thumb_url": { - "description": "URL of a thumbnail image to display to the right of the attachment body.", + "mimetype": { + "description": "Mimetype of the Drive Resource", "type": "string" }, - "title": { - "description": "Title string of this attachment.", + "organizationDisplayName": { + "description": "The display name of the organization owning the Drive item.", "type": "string" }, - "title_link": { - "description": "URL that the title string should link to.", - "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." }, - "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.", + "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" }, - "title": { - "description": "The heading text, shown in bold.", - "type": "string" + "thumbnailHeight": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" }, - "value": { - "description": "The text value of the field.", + "thumbnailUrl": { + "description": "Thumbnail image of the Drive Resource", "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" + "thumbnailWidth": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" }, - "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.", + "title": { + "description": "Title of the Drive Resource", "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" + "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" }, - "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" + "wrappedResourceKey": { + "$ref": "WrappedResourceKey", + "description": "This is considered SPII and should not be logged." } }, "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", + "DriveMimeTypeRestrict": { + "description": "Drive mime-type search restricts (e.g. \"type:pdf\").", + "id": "DriveMimeTypeRestrict", "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": { + "enum": [ + "UNSPECIFIED", + "PDF", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "FORM", + "DRAWING", + "SCRIPT", + "MAP", + "IMAGE", + "AUDIO", + "VIDEO", + "FOLDER", + "ARCHIVE", + "SITE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "type": "string" } }, "type": "object" }, - "AttachmentMetadata": { - "description": "An attachment uploaded in Dynamite and its filename.", - "id": "AttachmentMetadata", + "DriveTimeSpanRestrict": { + "description": "The time span search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").", + "id": "DriveTimeSpanRestrict", "properties": { - "filename": { + "type": { + "enum": [ + "UNSPECIFIED", + "TODAY", + "YESTERDAY", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_90_DAYS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "Not Enabled", + "Not Enabled" + ], "type": "string" } }, "type": "object" }, - "AuditLoggingSettings": { - "description": "Represents the settings for Cloud audit logging", - "id": "AuditLoggingSettings", + "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": { - "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" + "affinityScore": { + "format": "double", + "type": "number" }, - "logDataReadActions": { - "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", - "type": "boolean" + "commonContactCountAffinityScore": { + "format": "double", + "type": "number" }, - "logDataWriteActions": { - "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", - "type": "boolean" + "contactsIntersectionCount": { + "format": "double", + "type": "number" }, - "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" + "finalScore": { + "format": "double", + "type": "number" }, - "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": { + "freshnessScore": { + "format": "double", + "type": "number" + }, + "joinedSpacesAffinityScore": { + "format": "double", + "type": "number" + }, + "lastMessagePostedTimestampSecs": { + "format": "int64", "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.", + }, + "lastReadTimestampSecs": { + "format": "int64", "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.", + "memberMetadataCount": { + "format": "double", + "type": "number" + }, + "messageScore": { + "format": "double", + "type": "number" + }, + "numAucContacts": { + "format": "int64", "type": "string" }, - "type": { - "description": "The border type.", - "enum": [ - "BORDER_TYPE_NOT_SET", - "NO_BORDER", - "STROKE" - ], - "enumDescriptions": [ - "No value specified.", - "No border.", - "Outline." - ], + "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" }, - "BotMessageMetadata": { - "description": "A bot sent a message in Dynamite.", - "id": "BotMessageMetadata", + "EditMetadata": { + "description": "A message edit in Dynamite inserts a Babel-only item containing this field.", + "id": "EditMetadata", "properties": {}, "type": "object" }, - "BroadcastAccess": { - "description": "Broadcast access information of a meeting space.", - "id": "BroadcastAccess", + "EmailAddress": { + "description": "A person's email address.", + "id": "EmailAddress", "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." - ], + "customType": { + "description": "If the value of type is custom, this property contains the custom type string.", "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.", + "emailAddress": { + "description": "The email address.", "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.", + }, + "emailUrl": { + "description": "The URL to send email.", "type": "string" }, - "broadcastStats": { - "$ref": "BroadcastStats", - "description": "Output only. Current broadcast session's statistics.", - "readOnly": true + "primary": { + "description": "Indicates if this is the user's primary email. Only one entry can be marked as primary.", + "type": "boolean" }, - "ingestionId": { - "description": "Input only. Deprecated field, should not be used.", + "type": { + "description": "The type of the email account. Acceptable values are: \"custom\", \"home\", \"other\", \"work\".", "type": "string" - }, - "sessionStateInfo": { - "$ref": "SessionStateInfo", - "description": "Broadcast session's state information." } }, "type": "object" }, - "BroadcastStats": { - "description": "Statistics of the broadcast session.", - "id": "BroadcastStats", + "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": { - "estimatedViewerCount": { - "description": "Estimated concurrent viewer count.", - "format": "int64", + "email": { "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", + "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": { - "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 + "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" }, - "attachedDocuments": { - "description": "Output only. Documents attached to an ongoing conference.", - "items": { - "$ref": "DocumentInfo" - }, - "readOnly": true, - "type": "array" + "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." }, - "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" + "id": { + "description": "The ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.", + "type": "string" }, - "broadcastSessionInfo": { - "$ref": "BroadcastSessionInfo", - "description": "Information about active broadcast session in the ongoing conference." + "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)." }, - "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, + "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" }, - "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." + "signature": { + "description": "Signature of the embed, used for verification.", + "type": "string" }, - "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." + "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.", @@ -9744,16 +8281,62 @@ "" ], "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" + }, + "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" + }, + "FormatMetadata": { + "description": "Annotation metadata for markup formatting", + "id": "FormatMetadata", + "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" + }, + "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" @@ -10019,6 +8602,17 @@ }, "type": "object" }, + "GoogleChatConfig": { + "description": "Configuration of the Google Chat in Meet.", + "id": "GoogleChatConfig", + "properties": { + "chatGroupId": { + "description": "ID of the Chat group.", + "type": "string" + } + }, + "type": "object" + }, "GoogleChatV1ContextualAddOnMarkup": { "description": "The markup for developers to specify the contents of a contextual AddOn.", "id": "GoogleChatV1ContextualAddOnMarkup", @@ -10646,6 +9240,33 @@ }, "type": "object" }, + "GroupDetailsUpdatedMetadata": { + "id": "GroupDetailsUpdatedMetadata", + "properties": { + "newGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + }, + "prevGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + } + }, + "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", + "properties": { + "dmId": { + "$ref": "DmId", + "description": "Unique, immutable ID of the Direct Message Space" + }, + "spaceId": { + "$ref": "SpaceId", + "description": "Unique, immutable ID of the Space" + } + }, + "type": "object" + }, "GroupLinkSharingModificationEvent": { "id": "GroupLinkSharingModificationEvent", "properties": { @@ -10667,6 +9288,69 @@ }, "type": "object" }, + "GroupRetentionSettingsUpdatedMetaData": { + "id": "GroupRetentionSettingsUpdatedMetaData", + "properties": { + "initiator": { + "$ref": "UserId", + "description": "The user who triggered the retention settings update" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "The updated space retention settings" + } + }, + "type": "object" + }, + "GsuiteIntegrationMetadata": { + "description": "Annotation metadata for an GsuiteIntegration artifact.", + "id": "GsuiteIntegrationMetadata", + "properties": { + "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" + }, "HangoutEvent": { "id": "HangoutEvent", "properties": { @@ -10715,6 +9399,26 @@ }, "type": "object" }, + "HangoutVideoEventMetadata": { + "description": "A message representing the Hangout video start/end events in Babel", + "id": "HangoutVideoEventMetadata", + "properties": { + "hangoutVideoType": { + "enum": [ + "UNKNOWN_HANGOUT_VIDEO_EVENT_TYPE", + "VIDEO_START", + "VIDEO_END" + ], + "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", @@ -10780,13 +9484,158 @@ }, "type": "object" }, - "IconImage": { - "id": "IconImage", + "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": { - "altText": { - "description": "The alternative text of this icon_url which will be used for accessibility.", - "type": "string" - }, "icon": { "enum": [ "NONE", @@ -10865,72 +9714,67 @@ "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." - ], + "name": { "type": "string" + }, + "onClick": { + "$ref": "OnClick" } }, "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", + "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": { - "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", + "altText": { "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" + "borderStyle": { + "$ref": "BorderStyle" }, - "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" + "cropStyle": { + "$ref": "ImageCropStyle" + }, + "imageUrl": { + "type": "string" } }, "type": "object" }, - "Image": { - "id": "Image", + "ImageCropStyle": { + "description": "Represents a crop style that can be applied to an image.", + "id": "ImageCropStyle", "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).", + "description": "The aspect ratio to use if the crop type is RECTANGLE_CUSTOM.", "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": { + "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" - }, - "onClick": { - "$ref": "OnClick" } }, "type": "object" }, - "ImageButton": { - "id": "ImageButton", + "ImageKeyValue": { + "description": "This is deprecated and please use KeyValue.", + "id": "ImageKeyValue", "properties": { "icon": { "enum": [ @@ -11007,1182 +9851,1627 @@ ], "type": "string" }, - "iconUrl": { - "type": "string" + "iconUrl": { + "type": "string" + }, + "onClick": { + "$ref": "OnClick" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "IncomingWebhookChangedMetadata": { + "description": "Annotation metadata to display system messages for incoming webhook events. Next Tag: 7", + "id": "IncomingWebhookChangedMetadata", + "properties": { + "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": "UserId", + "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": "User", + "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" + }, + "IndexItemOptions": { + "id": "IndexItemOptions", + "properties": { + "allowUnknownGsuitePrincipals": { + "description": "Specifies if the index request should allow Google Workspace principals that do not exist or are deleted.", + "type": "boolean" + } + }, + "type": "object" + }, + "IndexItemRequest": { + "id": "IndexItemRequest", + "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." + }, + "indexItemOptions": { + "$ref": "IndexItemOptions" + }, + "item": { + "$ref": "Item", + "description": "The name of the item. Format: datasources/{source_id}/items/{item_id}" + }, + "mode": { + "description": "Required. The RequestMode for this request.", + "enum": [ + "UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The priority is not specified in the update request. Leaving priority unspecified results in an update failure.", + "For real-time updates.", + "For changes that are executed after the response is sent back to the caller." + ], + "type": "string" + } + }, + "type": "object" + }, + "InitializeCustomerRequest": { + "description": "Request message for `InitializeCustomer` method.", + "id": "InitializeCustomerRequest", + "properties": {}, + "type": "object" + }, + "IntegerOperatorOptions": { + "description": "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.", + "id": "IntegerOperatorOptions", + "properties": { + "greaterThanOperatorName": { + "description": "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:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* is greater 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 integer property using the less-than operator. For example, if lessThanOperatorName is *prioritybelow* and the property's name is *priorityVal*, then queries like *prioritybelow:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* is less 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 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:\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" + }, + "IntegerPropertyOptions": { + "description": "The options for integer properties.", + "id": "IntegerPropertyOptions", + "properties": { + "maximumValue": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "minimumValue": { + "description": "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.", + "format": "int64", + "type": "string" + }, + "operatorOptions": { + "$ref": "IntegerOperatorOptions", + "description": "If set, describes how the integer should be used as a search operator." + }, + "orderedRanking": { + "description": "Used to specify the ordered ranking for the integer. Can only be used if isRepeatable is false.", + "enum": [ + "NO_ORDER", + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "There is no ranking order for the property. Results are not 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" + } + }, + "type": "object" + }, + "IntegerValues": { + "description": "List of integer values.", + "id": "IntegerValues", + "properties": { + "values": { + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "IntegrationConfigMutation": { + "id": "IntegrationConfigMutation", + "properties": { + "addApp": { + "$ref": "AppId", + "description": "Add an app using its identifier." + }, + "addPinnedItem": { + "$ref": "PinnedItemId", + "description": "Add a pinned tab using its identifier." }, - "name": { - "type": "string" + "removeApp": { + "$ref": "AppId", + "description": "Remove an active app using its identifier." }, - "onClick": { - "$ref": "OnClick" + "removePinnedItem": { + "$ref": "PinnedItemId", + "description": "Remove an active pinned tab using its identifier." } }, "type": "object" }, - "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", + "IntegrationConfigUpdatedMetadata": { + "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": "IntegrationConfigUpdatedMetadata", "properties": { - "altText": { - "type": "string" + "initiatorId": { + "$ref": "UserId", + "description": "The user whose action triggered this system message." }, - "borderStyle": { - "$ref": "BorderStyle" + "mutations": { + "description": "A list of updates applied on the integration config.", + "items": { + "$ref": "IntegrationConfigMutation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Interaction": { + "description": "Represents an interaction between a user and an item.", + "id": "Interaction", + "properties": { + "interactionTime": { + "description": "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.", + "format": "google-datetime", + "type": "string" }, - "cropStyle": { - "$ref": "ImageCropStyle" + "principal": { + "$ref": "Principal", + "description": "The user that acted on the item." }, - "imageUrl": { + "type": { + "enum": [ + "UNSPECIFIED", + "VIEW", + "EDIT" + ], + "enumDescriptions": [ + "Invalid value.", + "This interaction indicates the user viewed the item.", + "This interaction indicates the user edited the item." + ], "type": "string" } }, "type": "object" }, - "ImageCropStyle": { - "description": "Represents a crop style that can be applied to an image.", - "id": "ImageCropStyle", + "InviteAcceptedEvent": { + "id": "InviteAcceptedEvent", "properties": { - "aspectRatio": { - "description": "The aspect ratio to use if the crop type is RECTANGLE_CUSTOM.", - "format": "double", - "type": "number" + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + } + }, + "type": "object" + }, + "InviteeInfo": { + "description": "Invitee information from a Dynamite invitation. See go/dynamite-invitee-mgmt.", + "id": "InviteeInfo", + "properties": { + "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" }, - "type": { - "description": "The crop type.", + "userId": { + "$ref": "UserId", + "description": "Unique, immutable ID of the User." + } + }, + "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", + "properties": { + "acl": { + "$ref": "ItemAcl", + "description": "Access control list for this item." + }, + "content": { + "$ref": "ItemContent", + "description": "Item content to be indexed and made text searchable." + }, + "itemType": { + "description": "The type for this item.", "enum": [ - "CROP_TYPE_NOT_SET", - "SQUARE", - "CIRCLE", - "RECTANGLE_CUSTOM", - "RECTANGLE_4_3" + "UNSPECIFIED", + "CONTENT_ITEM", + "CONTAINER_ITEM", + "VIRTUAL_CONTAINER_ITEM" ], "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." + "", + "An item that is indexed for the only purpose of serving information. These items cannot be referred in containerName or inheritAclFrom fields.", + "An item that gets indexed and whose purpose is to supply other items with ACLs and/or contain other items.", + "An item that does not get indexed, but otherwise has the same purpose as CONTAINER_ITEM." ], "type": "string" + }, + "metadata": { + "$ref": "ItemMetadata", + "description": "The metadata information." + }, + "name": { + "description": "The name of the Item. Format: datasources/{source_id}/items/{item_id} This is a required field. The maximum length is 1536 characters.", + "type": "string" + }, + "payload": { + "description": "Additional state connector can store for this item. The maximum length is 10000 bytes.", + "format": "byte", + "type": "string" + }, + "queue": { + "description": "Queue this item belongs to. The maximum length is 100 characters.", + "type": "string" + }, + "status": { + "$ref": "ItemStatus", + "description": "Status of the item. Output only field." + }, + "structuredData": { + "$ref": "ItemStructuredData", + "description": "The structured data for the item that should conform to a registered object definition in the schema for the data source." + }, + "version": { + "description": "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).", + "format": "byte", + "type": "string" } }, "type": "object" }, - "ImageKeyValue": { - "description": "This is deprecated and please use KeyValue.", - "id": "ImageKeyValue", + "ItemAcl": { + "description": "Access control list information for the item. For more information see [Map ACLs](https://developers.google.com/cloud-search/docs/guides/acls).", + "id": "ItemAcl", "properties": { - "icon": { + "aclInheritanceType": { + "description": "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.", "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" + "NOT_APPLICABLE", + "CHILD_OVERRIDE", + "PARENT_OVERRIDE", + "BOTH_PERMIT" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Add new items in alphabetical order. Next Available ID: 34" + "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.", + "During an authorization conflict, the ACL of the child item determines its read access.", + "During an authorization conflict, the ACL of the parent item specified in the inheritAclFrom field determines read access.", + "Access is granted only if this item and the parent item specified in the inheritAclFrom field both permit read access." ], "type": "string" }, - "iconUrl": { + "deniedReaders": { + "description": "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.", + "items": { + "$ref": "Principal" + }, + "type": "array" + }, + "inheritAclFrom": { + "description": "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.", "type": "string" }, - "onClick": { - "$ref": "OnClick" + "owners": { + "description": "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.", + "items": { + "$ref": "Principal" + }, + "type": "array" }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "IndexItemOptions": { - "id": "IndexItemOptions", - "properties": { - "allowUnknownGsuitePrincipals": { - "description": "Specifies if the index request should allow Google Workspace principals that do not exist or are deleted.", - "type": "boolean" + "readers": { + "description": "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.", + "items": { + "$ref": "Principal" + }, + "type": "array" } }, "type": "object" }, - "IndexItemRequest": { - "id": "IndexItemRequest", + "ItemContent": { + "description": "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.", + "id": "ItemContent", "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." - }, - "indexItemOptions": { - "$ref": "IndexItemOptions" - }, - "item": { - "$ref": "Item", - "description": "The name of the item. Format: datasources/{source_id}/items/{item_id}" + "contentDataRef": { + "$ref": "UploadItemRef", + "description": "Upload reference ID of a previously uploaded content via write method." }, - "mode": { - "description": "Required. The RequestMode for this request.", + "contentFormat": { "enum": [ "UNSPECIFIED", - "SYNCHRONOUS", - "ASYNCHRONOUS" + "HTML", + "TEXT", + "RAW" ], "enumDescriptions": [ - "The priority is not specified in the update request. Leaving priority unspecified results in an update failure.", - "For real-time updates.", - "For changes that are executed after the response is sent back to the caller." + "Invalid value.", + "contentFormat is HTML.", + "contentFormat is free text.", + "contentFormat is raw bytes." ], "type": "string" - } - }, - "type": "object" - }, - "InitializeCustomerRequest": { - "description": "Request message for `InitializeCustomer` method.", - "id": "InitializeCustomerRequest", - "properties": {}, - "type": "object" - }, - "IntegerOperatorOptions": { - "description": "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.", - "id": "IntegerOperatorOptions", - "properties": { - "greaterThanOperatorName": { - "description": "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:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* is greater 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 integer property using the less-than operator. For example, if lessThanOperatorName is *prioritybelow* and the property's name is *priorityVal*, then queries like *prioritybelow:\u003cvalue\u003e* show results only where the value of the property named *priorityVal* is less than *\u003cvalue\u003e*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "hash": { + "description": "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.", "type": "string" }, - "operatorName": { - "description": "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:\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.", + "inlineContent": { + "description": "Content that is supplied inlined within the update method. The maximum length is 102400 bytes (100 KiB).", + "format": "byte", "type": "string" } }, "type": "object" }, - "IntegerPropertyOptions": { - "description": "The options for integer properties.", - "id": "IntegerPropertyOptions", + "ItemCountByStatus": { + "id": "ItemCountByStatus", "properties": { - "maximumValue": { - "description": "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.", + "count": { + "description": "Number of items matching the status code.", "format": "int64", "type": "string" }, - "minimumValue": { - "description": "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.", + "indexedItemsCount": { + "description": "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.", "format": "int64", "type": "string" }, - "operatorOptions": { - "$ref": "IntegerOperatorOptions", - "description": "If set, describes how the integer should be used as a search operator." - }, - "orderedRanking": { - "description": "Used to specify the ordered ranking for the integer. Can only be used if isRepeatable is false.", + "statusCode": { + "description": "Status of the items.", "enum": [ - "NO_ORDER", - "ASCENDING", - "DESCENDING" + "CODE_UNSPECIFIED", + "ERROR", + "MODIFIED", + "NEW_ITEM", + "ACCEPTED" ], "enumDescriptions": [ - "There is no ranking order for the property. Results are not 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." + "Input-only value. Used with Items.list to list all items in the queue, regardless of status.", + "Error encountered by Cloud Search while processing this item. Details of the error are in repositoryError.", + "Item has been modified in the repository, and is out of date with the version previously accepted into Cloud Search.", + "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.", + "API has accepted the up-to-date data of this item." ], "type": "string" } }, "type": "object" }, - "IntegerValues": { - "description": "List of integer values.", - "id": "IntegerValues", + "ItemMetadata": { + "description": "Available metadata fields for the item.", + "id": "ItemMetadata", "properties": { - "values": { + "containerName": { + "description": "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.", + "type": "string" + }, + "contentLanguage": { + "description": "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.", + "type": "string" + }, + "contextAttributes": { + "description": "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.", + "items": { + "$ref": "ContextAttribute" + }, + "type": "array" + }, + "createTime": { + "description": "The time when the item was created in the source repository.", + "format": "google-datetime", + "type": "string" + }, + "hash": { + "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" + }, + "interactions": { + "description": "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.", + "items": { + "$ref": "Interaction" + }, + "type": "array" + }, + "keywords": { + "description": "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.", "items": { - "format": "int64", "type": "string" }, "type": "array" + }, + "mimeType": { + "description": "The original mime-type of ItemContent.content in the source repository. The maximum length is 256 characters.", + "type": "string" + }, + "objectType": { + "description": "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.", + "type": "string" + }, + "searchQualityMetadata": { + "$ref": "SearchQualityMetadata", + "description": "Additional search quality metadata of the item" + }, + "sourceRepositoryUrl": { + "description": "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.", + "type": "string" + }, + "title": { + "description": "The title of the item. If given, this will be the displayed title of the Search result. The maximum length is 2048 characters.", + "type": "string" + }, + "updateTime": { + "description": "The time when the item was last modified in the source repository.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "Interaction": { - "description": "Represents an interaction between a user and an item.", - "id": "Interaction", + "ItemStatus": { + "description": "This contains item's status and any errors.", + "id": "ItemStatus", "properties": { - "interactionTime": { - "description": "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.", - "format": "google-datetime", - "type": "string" - }, - "principal": { - "$ref": "Principal", - "description": "The user that acted on the item." - }, - "type": { + "code": { + "description": "Status code.", "enum": [ - "UNSPECIFIED", - "VIEW", - "EDIT" + "CODE_UNSPECIFIED", + "ERROR", + "MODIFIED", + "NEW_ITEM", + "ACCEPTED" ], "enumDescriptions": [ - "Invalid value.", - "This interaction indicates the user viewed the item.", - "This interaction indicates the user edited the item." + "Input-only value. Used with Items.list to list all items in the queue, regardless of status.", + "Error encountered by Cloud Search while processing this item. Details of the error are in repositoryError.", + "Item has been modified in the repository, and is out of date with the version previously accepted into Cloud Search.", + "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.", + "API has accepted the up-to-date data of this item." ], "type": "string" - } - }, - "type": "object" - }, - "InviteAcceptedEvent": { - "id": "InviteAcceptedEvent", - "properties": { - "participantId": { + }, + "processingErrors": { + "description": "Error details in case the item is in ERROR state.", "items": { - "$ref": "StoredParticipantId" + "$ref": "ProcessingError" + }, + "type": "array" + }, + "repositoryErrors": { + "description": "Repository error reported by connector.", + "items": { + "$ref": "RepositoryError" }, "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", + "ItemStructuredData": { + "description": "Available structured data fields for the item.", + "id": "ItemStructuredData", "properties": { - "acl": { - "$ref": "ItemAcl", - "description": "Access control list for this item." + "hash": { + "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." + } + }, + "type": "object" + }, + "KeyValue": { + "id": "KeyValue", + "properties": { + "bottomLabel": { + "description": "Formatted text supported.", + "type": "string" + }, + "button": { + "$ref": "Button" }, "content": { - "$ref": "ItemContent", - "description": "Item content to be indexed and made text searchable." + "description": "Formatted text supported and always required.", + "type": "string" }, - "itemType": { - "description": "The type for this item.", + "contentMultiline": { + "type": "boolean" + }, + "endIcon": { + "$ref": "IconImage" + }, + "icon": { "enum": [ - "UNSPECIFIED", - "CONTENT_ITEM", - "CONTAINER_ITEM", - "VIRTUAL_CONTAINER_ITEM" + "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": [ "", - "An item that is indexed for the only purpose of serving information. These items cannot be referred in containerName or inheritAclFrom fields.", - "An item that gets indexed and whose purpose is to supply other items with ACLs and/or contain other items.", - "An item that does not get indexed, but otherwise has the same purpose as CONTAINER_ITEM." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" ], "type": "string" }, - "metadata": { - "$ref": "ItemMetadata", - "description": "The metadata information." - }, - "name": { - "description": "The name of the Item. Format: datasources/{source_id}/items/{item_id} This is a required field. The maximum length is 1536 characters.", + "iconAltText": { + "description": "The alternative text of this icon_url which will be used for accessibility.", "type": "string" }, - "payload": { - "description": "Additional state connector can store for this item. The maximum length is 10000 bytes.", - "format": "byte", + "iconUrl": { "type": "string" }, - "queue": { - "description": "Queue this item belongs to. The maximum length is 100 characters.", + "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" }, - "status": { - "$ref": "ItemStatus", - "description": "Status of the item. Output only field." + "onClick": { + "$ref": "OnClick", + "description": "Only the top/bottom label + content region is clickable." }, - "structuredData": { - "$ref": "ItemStructuredData", - "description": "The structured data for the item that should conform to a registered object definition in the schema for the data source." + "startIcon": { + "$ref": "IconImage", + "description": "The optional icon to display before the text content." }, - "version": { - "description": "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).", - "format": "byte", + "switchWidget": { + "$ref": "SwitchWidget" + }, + "topLabel": { + "description": "Formatted text supported.", "type": "string" } }, "type": "object" }, - "ItemAcl": { - "description": "Access control list information for the item. For more information see [Map ACLs](https://developers.google.com/cloud-search/docs/guides/acls).", - "id": "ItemAcl", + "LanguageConfig": { + "description": "The language configuration for the session.", + "id": "LanguageConfig", "properties": { - "aclInheritanceType": { - "description": "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.", - "enum": [ - "NOT_APPLICABLE", - "CHILD_OVERRIDE", - "PARENT_OVERRIDE", - "BOTH_PERMIT" - ], - "enumDescriptions": [ - "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.", - "During an authorization conflict, the ACL of the child item determines its read access.", - "During an authorization conflict, the ACL of the parent item specified in the inheritAclFrom field determines read access.", - "Access is granted only if this item and the parent item specified in the inheritAclFrom field both permit read access." - ], - "type": "string" - }, - "deniedReaders": { - "description": "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.", + "spokenLanguages": { + "description": "The spoken language(s) in BCP47 language code.", "items": { - "$ref": "Principal" + "type": "string" }, "type": "array" - }, - "inheritAclFrom": { - "description": "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.", + } + }, + "type": "object" + }, + "LdapGroupProto": { + "id": "LdapGroupProto", + "properties": { + "groupName": { "type": "string" - }, - "owners": { - "description": "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.", - "items": { - "$ref": "Principal" - }, - "type": "array" - }, - "readers": { - "description": "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.", - "items": { - "$ref": "Principal" - }, - "type": "array" } }, "type": "object" }, - "ItemContent": { - "description": "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.", - "id": "ItemContent", + "LdapUserProto": { + "id": "LdapUserProto", "properties": { - "contentDataRef": { - "$ref": "UploadItemRef", - "description": "Upload reference ID of a previously uploaded content via write method." - }, - "contentFormat": { - "enum": [ - "UNSPECIFIED", - "HTML", - "TEXT", - "RAW" - ], - "enumDescriptions": [ - "Invalid value.", - "contentFormat is HTML.", - "contentFormat is free text.", - "contentFormat is raw bytes." - ], + "userName": { "type": "string" - }, - "hash": { - "description": "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.", + } + }, + "type": "object" + }, + "LegacyUploadMetadata": { + "description": "The original UploadMetadata that this DriveMetadata was converted from.", + "id": "LegacyUploadMetadata", + "properties": { + "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" }, - "inlineContent": { - "description": "Content that is supplied inlined within the update method. The maximum length is 102400 bytes (100 KiB).", - "format": "byte", - "type": "string" + "uploadMetadata": { + "$ref": "UploadMetadata", + "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" }, - "ItemCountByStatus": { - "id": "ItemCountByStatus", + "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": { - "count": { - "description": "Number of items matching the status code.", - "format": "int64", + "attachment": { + "$ref": "SocialCommonAttachmentAttachment", + "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" }, - "indexedItemsCount": { - "description": "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.", - "format": "int64", + "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" }, - "statusCode": { - "description": "Status of the items.", + "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": [ - "CODE_UNSPECIFIED", - "ERROR", - "MODIFIED", - "NEW_ITEM", - "ACCEPTED" + "UNKNOWN_LINK_TYPE", + "SELF_LINK" ], "enumDescriptions": [ - "Input-only value. Used with Items.list to list all items in the queue, regardless of status.", - "Error encountered by Cloud Search while processing this item. Details of the error are in repositoryError.", - "Item has been modified in the repository, and is out of date with the version previously accepted into Cloud Search.", - "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.", - "API has accepted the up-to-date data of this item." + "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" }, - "ItemMetadata": { - "description": "Available metadata fields for the item.", - "id": "ItemMetadata", + "ListDataSourceResponse": { + "id": "ListDataSourceResponse", "properties": { - "containerName": { - "description": "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.", - "type": "string" - }, - "contentLanguage": { - "description": "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.", + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, - "contextAttributes": { - "description": "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.", + "sources": { "items": { - "$ref": "ContextAttribute" + "$ref": "DataSource" }, "type": "array" - }, - "createTime": { - "description": "The time when the item was created in the source repository.", - "format": "google-datetime", - "type": "string" - }, - "hash": { - "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" - }, - "interactions": { - "description": "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.", + } + }, + "type": "object" + }, + "ListItemNamesForUnmappedIdentityResponse": { + "id": "ListItemNamesForUnmappedIdentityResponse", + "properties": { + "itemNames": { "items": { - "$ref": "Interaction" + "type": "string" }, "type": "array" }, - "keywords": { - "description": "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.", + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "ListItemsResponse": { + "id": "ListItemsResponse", + "properties": { + "items": { "items": { - "type": "string" + "$ref": "Item" }, "type": "array" }, - "mimeType": { - "description": "The original mime-type of ItemContent.content in the source repository. The maximum length is 256 characters.", - "type": "string" - }, - "objectType": { - "description": "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.", + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" - }, - "searchQualityMetadata": { - "$ref": "SearchQualityMetadata", - "description": "Additional search quality metadata of the item" - }, - "sourceRepositoryUrl": { - "description": "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.", + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", "type": "string" }, - "title": { - "description": "The title of the item. If given, this will be the displayed title of the Search result. The maximum length is 2048 characters.", + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListQuerySourcesResponse": { + "description": "List sources response.", + "id": "ListQuerySourcesResponse", + "properties": { + "nextPageToken": { "type": "string" }, - "updateTime": { - "description": "The time when the item was last modified in the source repository.", - "format": "google-datetime", - "type": "string" + "sources": { + "items": { + "$ref": "QuerySource" + }, + "type": "array" } }, "type": "object" }, - "ItemStatus": { - "description": "This contains item's status and any errors.", - "id": "ItemStatus", + "ListSearchApplicationsResponse": { + "id": "ListSearchApplicationsResponse", "properties": { - "code": { - "description": "Status code.", - "enum": [ - "CODE_UNSPECIFIED", - "ERROR", - "MODIFIED", - "NEW_ITEM", - "ACCEPTED" - ], - "enumDescriptions": [ - "Input-only value. Used with Items.list to list all items in the queue, regardless of status.", - "Error encountered by Cloud Search while processing this item. Details of the error are in repositoryError.", - "Item has been modified in the repository, and is out of date with the version previously accepted into Cloud Search.", - "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.", - "API has accepted the up-to-date data of this item." - ], + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, - "processingErrors": { - "description": "Error details in case the item is in ERROR state.", + "searchApplications": { "items": { - "$ref": "ProcessingError" + "$ref": "SearchApplication" }, "type": "array" + } + }, + "type": "object" + }, + "ListUnmappedIdentitiesResponse": { + "id": "ListUnmappedIdentitiesResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" }, - "repositoryErrors": { - "description": "Repository error reported by connector.", + "unmappedIdentities": { "items": { - "$ref": "RepositoryError" + "$ref": "UnmappedIdentity" }, "type": "array" } }, "type": "object" }, - "ItemStructuredData": { - "description": "Available structured data fields for the item.", - "id": "ItemStructuredData", + "MatchRange": { + "description": "Matched range of a snippet [start, end).", + "id": "MatchRange", "properties": { - "hash": { - "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.", + "end": { + "description": "End of the match in the snippet.", + "format": "int32", + "type": "integer" + }, + "start": { + "description": "Starting position of the match in the snippet.", + "format": "int32", + "type": "integer" + } + }, + "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", + "properties": { + "resourceName": { + "description": "Name of the media resource.", "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." } }, "type": "object" }, - "KeyValue": { - "id": "KeyValue", + "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": { - "bottomLabel": { - "description": "Formatted text supported.", - "type": "string" + "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" }, - "button": { - "$ref": "Button" + "broadcastAccess": { + "$ref": "BroadcastAccess", + "description": "Broadcast access information for this meeting space." }, - "content": { - "description": "Formatted text supported and always required.", - "type": "string" + "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." }, - "contentMultiline": { - "type": "boolean" + "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." }, - "endIcon": { - "$ref": "IconImage" + "gatewaySipAccess": { + "description": "The SIP based access methods that can be used to join the conference.", + "items": { + "$ref": "GatewaySipAccess" + }, + "type": "array" }, - "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" - ], + "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" }, - "iconAltText": { - "description": "The alternative text of this icon_url which will be used for accessibility.", + "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" }, - "iconUrl": { + "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" }, - "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." - ], + "meetingUrl": { + "description": "A URL to identify and access the meeting space. Output only.", "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.", + "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" - } - }, - "type": "object" - }, - "LanguageConfig": { - "description": "The language configuration for the session.", - "id": "LanguageConfig", - "properties": { - "spokenLanguages": { - "description": "The spoken language(s) in BCP47 language code.", + }, + "phoneAccess": { + "description": "All regional phone access methods for this meeting space. Can be empty.", "items": { - "type": "string" + "$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" }, - "LdapGroupProto": { - "id": "LdapGroupProto", + "Member": { + "id": "Member", "properties": { - "groupName": { - "type": "string" + "roster": { + "$ref": "Roster" + }, + "user": { + "$ref": "User" } }, "type": "object" }, - "LdapUserProto": { - "id": "LdapUserProto", + "MemberId": { + "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": "MemberId", "properties": { - "userName": { - "type": "string" + "rosterId": { + "$ref": "RosterId", + "description": "Unique, immutable ID of the Roster." + }, + "userId": { + "$ref": "UserId", + "description": "Unique, immutable ID of the User." } }, "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", + "MembershipChangeEvent": { + "id": "MembershipChangeEvent", "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.", + "leaveReason": { + "description": "This should only be set when MembershipChange type is LEAVE.", "enum": [ - "ATTACHMENT_RENDER_HINT_UNKNOWN", - "ATTACHMENT_RENDER_HINT_AFTER", - "ATTACHMENT_RENDER_HINT_INTERLEAVED" + "LEAVE_REASON_UNKNOWN", + "FORCE_HISTORY_POLICY_CHANGE", + "USER_INITIATED" ], "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" + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" }, - "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.", + "type": { "enum": [ - "UNKNOWN_LINK_TYPE", - "SELF_LINK" + "JOIN", + "LEAVE" ], "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" }, - "ListDataSourceResponse": { - "id": "ListDataSourceResponse", + "MembershipChangedMetadata": { + "description": "Annotation metadata to display system messages for membership changes.", + "id": "MembershipChangedMetadata", "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" + "affectedMemberProfiles": { + "items": { + "$ref": "Member" + }, + "type": "array" }, - "sources": { + "affectedMembers": { + "description": "List of users and rosters whose membership status changed.", "items": { - "$ref": "DataSource" + "$ref": "MemberId" }, "type": "array" - } - }, - "type": "object" - }, - "ListItemNamesForUnmappedIdentityResponse": { - "id": "ListItemNamesForUnmappedIdentityResponse", - "properties": { - "itemNames": { + }, + "affectedMemberships": { "items": { - "type": "string" + "$ref": "AffectedMembership" }, "type": "array" }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "initiator": { + "$ref": "UserId", + "description": "The user whose action triggered this system message." + }, + "initiatorProfile": { + "$ref": "User", + "description": "Complete member profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in." + }, + "type": { + "enum": [ + "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" }, - "ListItemsResponse": { - "id": "ListItemsResponse", + "Menu": { + "description": "This is deprecated and please use SelectionControl by setting type to DROPDOWN.", + "id": "Menu", "properties": { "items": { "items": { - "$ref": "Item" + "$ref": "MenuItem" }, "type": "array" }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "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" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "MenuItem": { + "id": "MenuItem", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "selected": { + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", "type": "string" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" + "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" }, - "ListQuerySourcesResponse": { - "description": "List sources response.", - "id": "ListQuerySourcesResponse", + "Message": { + "description": "Message posted to a Space.", + "id": "Message", "properties": { - "nextPageToken": { + "annotations": { + "description": "Annotations parsed and extracted from the text body.", + "items": { + "$ref": "Annotation" + }, + "type": "array" + }, + "appProfile": { + "$ref": "AppsDynamiteSharedAppProfile", + "description": "Custom display profile info for apps. Leave the field empty for real users." + }, + "attachments": { + "description": "Attachments parsed from incoming webhooks", + "items": { + "$ref": "Attachment" + }, + "type": "array" + }, + "attributes": { + "$ref": "MessageAttributes", + "description": "Lightweight message attributes which values are calculated and set in the servers." + }, + "botResponses": { + "description": "Responses from bots indicating if extra auth/config is needed.", + "items": { + "$ref": "BotResponse" + }, + "type": "array" + }, + "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": "CommunalLabelTag" + }, + "type": "array" + }, + "contentReportSummary": { + "$ref": "ContentReportSummary", + "readOnly": true + }, + "createTime": { + "description": "Time when the Message was posted in microseconds.", + "format": "int64", + "type": "string" + }, + "creatorId": { + "$ref": "UserId", + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "dlpScanSummary": { + "$ref": "DlpScanSummary", + "description": "Data Loss Prevention scan information for this message. Messages are evaluated in the backend on create message/topic and edit message actions." + }, + "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" }, - "sources": { - "items": { - "$ref": "QuerySource" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListSearchApplicationsResponse": { - "id": "ListSearchApplicationsResponse", - "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "fallbackText": { + "description": "A plain-text description of the attachment, used when clients cannot display formatted attachment (e.g. mobile push notifications).", "type": "string" }, - "searchApplications": { - "items": { - "$ref": "SearchApplication" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListUnmappedIdentitiesResponse": { - "id": "ListUnmappedIdentitiesResponse", - "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" + "id": { + "$ref": "MessageId", + "description": "ID of the resource." }, - "unmappedIdentities": { - "items": { - "$ref": "UnmappedIdentity" - }, - "type": "array" - } - }, - "type": "object" - }, - "MatchRange": { - "description": "Matched range of a snippet [start, end).", - "id": "MatchRange", - "properties": { - "end": { - "description": "End of the match in the snippet.", - "format": "int32", - "type": "integer" + "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" }, - "start": { - "description": "Starting position of the match in the snippet.", - "format": "int32", - "type": "integer" - } - }, - "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.", + "lastEditTime": { + "description": "If the message was edited by a user, timestamp of the last edit, in microseconds.", "format": "int64", "type": "string" }, - "userName": { + "lastUpdateTime": { + "description": "Time when the Message text was last updated in microseconds.", + "format": "int64", "type": "string" - } - }, - "type": "object" - }, - "Media": { - "description": "Media resource.", - "id": "Media", - "properties": { - "resourceName": { - "description": "Name of the media resource.", + }, + "localId": { + "description": "A unique id specified on the client side.", "type": "string" - } - }, - "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." + "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]." }, - "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." + "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" }, - "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." + "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": [ + "PUBLIC", + "PRIVATE" + ], + "enumDescriptions": [ + "Default - visible to the room / DM.", + "Private state - only visible to the message creator, and the private_message_viewer if set." + ], + "type": "string" }, - "gatewaySipAccess": { - "description": "The SIP based access methods that can be used to join the conference.", + "originAppSuggestions": { + "description": "Indicates if this message contains any suggestions that were provided by any Apps.", "items": { - "$ref": "GatewaySipAccess" + "$ref": "AppsDynamiteSharedOriginAppSuggestion" }, "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" + "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": "PersonalLabelTag" + }, + "type": "array" }, - "phoneAccess": { - "description": "All regional phone access methods for this meeting space. Can be empty.", + "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": "PhoneAccess" + "$ref": "PrivateMessageInfo" }, "type": "array" }, - "settings": { - "$ref": "Settings", - "description": "Settings of the meeting space." + "privateMessageViewer": { + "$ref": "UserId", + "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." }, - "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.", + "props": { + "$ref": "MessageProps", + "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": [ - "LEAVE_REASON_UNKNOWN", - "FORCE_HISTORY_POLICY_CHANGE", - "USER_INITIATED" + "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" }, - "participantId": { + "quotedMessageMetadata": { + "$ref": "QuotedMessageMetadata", + "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": { + "$ref": "AppsDynamiteSharedReaction" + }, + "type": "array" + }, + "reports": { + "description": "Output only. Details of content reports. Set only when the request asks for it.", "items": { - "$ref": "StoredParticipantId" + "$ref": "ContentReport" }, + "readOnly": true, "type": "array" }, - "type": { - "enum": [ - "JOIN", - "LEAVE" - ], - "enumDescriptions": [ - "", - "" - ], + "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": "TombstoneMetadata", + "description": "Information for the stoning of a Message." + }, + "updaterId": { + "$ref": "UserId", + "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": "UploadMetadata" + }, + "type": "array" } }, "type": "object" }, - "Menu": { - "description": "This is deprecated and please use SelectionControl by setting type to DROPDOWN.", - "id": "Menu", + "MessageAttributes": { + "description": "Stores tombstone message attributes: go/tombstone-message-attributes-overview", + "id": "MessageAttributes", "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.", + "isTombstone": { + "description": "If true: message is a tombstone in the client. Default false.", + "type": "boolean" + } + }, + "type": "object" + }, + "MessageId": { + "description": "Primary key for Message resource.", + "id": "MessageId", + "properties": { + "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" }, - "onChange": { - "$ref": "FormAction", - "description": "If specified, form is submitted when selection changed. If not specified, developer will need to specify a separate button." + "parentId": { + "$ref": "MessageParentId", + "description": "ID of the Message's immediate parent." } }, "type": "object" }, - "MenuItem": { - "id": "MenuItem", + "MessageInfo": { + "id": "MessageInfo", "properties": { - "selected": { - "type": "boolean" - }, - "text": { - "description": "The text to be displayed.", - "type": "string" + "message": { + "$ref": "Message", + "description": "The content of a matching message." }, - "value": { - "description": "The value associated with this item which will be sent back to app scripts. Client should use as a form input value.", + "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" }, - "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", + "MessageParentId": { + "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": "MessageParentId", "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" + "topicId": { + "$ref": "TopicId", + "description": "ID of the Topic this Message is posted to. NEXT TAG : 5" + } + }, + "type": "object" + }, + "MessageProps": { + "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": "MessageProps", + "properties": { + "babelProps": { + "$ref": "BabelMessageProps" } }, "type": "object" @@ -12678,6 +11967,17 @@ }, "type": "object" }, + "PersonalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a personal type that's associated with a message.", + "id": "PersonalLabelTag", + "properties": { + "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" + }, "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", @@ -12740,6 +12040,16 @@ }, "type": "object" }, + "PinnedItemId": { + "id": "PinnedItemId", + "properties": { + "driveId": { + "description": "Identifier for a Drive file (e.g. Docs, Sheets, Slides).", + "type": "string" + } + }, + "type": "object" + }, "PollItemsRequest": { "id": "PollItemsRequest", "properties": { @@ -13024,6 +12334,47 @@ }, "type": "object" }, + "PrivateMessageInfo": { + "description": "Private message information specific to a given user.", + "id": "PrivateMessageInfo", + "properties": { + "annotations": { + "description": "Annotations private to {@code userId}.", + "items": { + "$ref": "Annotation" + }, + "type": "array" + }, + "attachments": { + "description": "Attachments private to {@code userId}.", + "items": { + "$ref": "Attachment" + }, + "type": "array" + }, + "contextualAddOnMarkup": { + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkup" + }, + "type": "array" + }, + "gsuiteIntegrationMetadata": { + "items": { + "$ref": "GsuiteIntegrationMetadata" + }, + "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": "UserId", + "description": "Required. The elements in this struct are visible to this user." + } + }, + "type": "object" + }, "ProcessingError": { "id": "ProcessingError", "properties": { @@ -13413,42 +12764,124 @@ "" ], "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": "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" + }, + "QuotedMessageMetadata": { + "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": "QuotedMessageMetadata", + "properties": { + "annotations": { + "description": "Output only. Snapshot of the annotations of the quoted message.", + "items": { + "$ref": "Annotation" + }, + "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": "UserId", + "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": "MessageId", + "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" }, - "operators": { - "description": "List of all operators applicable for this source.", + "uploadMetadata": { + "description": "Output only. Upload metadata of the quoted message. NEXT TAG: 11", "items": { - "$ref": "QueryOperator" + "$ref": "UploadMetadata" }, + "readOnly": true, "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", @@ -13492,6 +12925,16 @@ }, "type": "object" }, + "ReadReceiptsSettingsUpdatedMetadata": { + "id": "ReadReceiptsSettingsUpdatedMetadata", + "properties": { + "readReceiptsEnabled": { + "description": "The new read receipts state.", + "type": "boolean" + } + }, + "type": "object" + }, "RecordingEvent": { "description": "A recording event is something that happens to the recording in a conference.", "id": "RecordingEvent", @@ -13686,6 +13129,27 @@ }, "type": "object" }, + "RequiredMessageFeaturesMetadata": { + "description": "A list of capabilities that are used in this message.", + "id": "RequiredMessageFeaturesMetadata", + "properties": { + "requiredFeatures": { + "items": { + "enum": [ + "REQUIRED_FEATURE_UNSPECIFIED", + "REQUIRED_FEATURE_MESSAGE_QUOTING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ResetSearchApplicationRequest": { "id": "ResetSearchApplicationRequest", "properties": { @@ -13720,6 +13184,14 @@ "description": "Debugging information about the response.", "id": "ResponseDebugInfo", "properties": { + "enabledExperiments": { + "description": "Experiments enabled in QAPI.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, "formattedDebugInfo": { "description": "General debug info formatted for display.", "type": "string" @@ -13849,6 +13321,109 @@ }, "type": "object" }, + "RoomRenameMetadata": { + "id": "RoomRenameMetadata", + "properties": { + "newName": { + "type": "string" + }, + "prevName": { + "description": "NEXT_TAG: 3", + "type": "string" + } + }, + "type": "object" + }, + "RoomUpdatedMetadata": { + "id": "RoomUpdatedMetadata", + "properties": { + "groupDetailsMetadata": { + "$ref": "GroupDetailsUpdatedMetadata" + }, + "groupLinkSharingEnabled": { + "type": "boolean" + }, + "initiator": { + "$ref": "User", + "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": "RoomRenameMetadata" + }, + "visibility": { + "$ref": "AppsDynamiteSharedGroupVisibility", + "description": "DEPRECATED: See GroupVisibility proto definition." + } + }, + "type": "object" + }, + "Roster": { + "description": "Roster profile information.", + "id": "Roster", + "properties": { + "avatarUrl": { + "type": "string" + }, + "id": { + "$ref": "RosterId" + }, + "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" + }, + "RosterId": { + "description": "Primary key for Roster resource.", + "id": "RosterId", + "properties": { + "id": { + "description": "Opaque, server-assigned ID of the Roster.", + "type": "string" + } + }, + "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", @@ -14599,6 +14174,49 @@ }, "type": "object" }, + "SlashCommandMetadata": { + "description": "Annotation metadata for slash commands (/).", + "id": "SlashCommandMetadata", + "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": "UserId", + "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" + }, "Snippet": { "description": "Snippet of the search result, which summarizes the content of the resulting page.", "id": "Snippet", @@ -14617,6 +14235,21 @@ }, "type": "object" }, + "SocialCommonAttachmentAttachment": { + "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": "SocialCommonAttachmentAttachment", + "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" + }, "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", @@ -14772,6 +14405,17 @@ }, "type": "object" }, + "SpaceId": { + "description": "Primary key for Space resource.", + "id": "SpaceId", + "properties": { + "spaceId": { + "description": "Unique, immutable ID of the Space", + "type": "string" + } + }, + "type": "object" + }, "SpellResult": { "id": "SpellResult", "properties": { @@ -15020,6 +14664,37 @@ }, "type": "object" }, + "SupportUrls": { + "description": "Urls with additional bot related information.", + "id": "SupportUrls", + "properties": { + "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" + }, "SwitchWidget": { "id": "SwitchWidget", "properties": { @@ -15053,12 +14728,6 @@ }, "type": "object" }, - "TasksMetadata": { - "description": "A Tasks message in Dynamite.", - "id": "TasksMetadata", - "properties": {}, - "type": "object" - }, "TextButton": { "id": "TextButton", "properties": { @@ -15260,6 +14929,35 @@ }, "type": "object" }, + "TombstoneMetadata": { + "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": "TombstoneMetadata", + "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" + }, "Toolbar": { "description": "The Toolbar markup has been deprecated. The information is now specified in the manifest.", "id": "Toolbar", @@ -15277,6 +14975,20 @@ }, "type": "object" }, + "TopicId": { + "id": "TopicId", + "properties": { + "groupId": { + "$ref": "GroupId", + "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" + }, "TranscriptionSessionInfo": { "description": "Information about a transcription session.", "id": "TranscriptionSessionInfo", @@ -15342,84 +15054,335 @@ "$ref": "Principal", "description": "The resource name for an external user." }, - "resolutionStatusCode": { - "description": "The resolution status for the external identity.", - "enum": [ - "CODE_UNSPECIFIED", - "NOT_FOUND", - "IDENTITY_SOURCE_NOT_FOUND", - "IDENTITY_SOURCE_MISCONFIGURED", - "TOO_MANY_MAPPINGS_FOUND", - "INTERNAL_ERROR" - ], - "enumDescriptions": [ - "Input-only value. Used to list all unmapped identities regardless of status.", - "The unmapped identity was not found in IDaaS, and needs to be provided by the user.", - "The identity source associated with the identity was either not found or deleted.", - "IDaaS does not understand the identity source, probably because the schema was modified in a non compatible way.", - "The number of users associated with the external identity is too large.", - "Internal error." - ], + "resolutionStatusCode": { + "description": "The resolution status for the external identity.", + "enum": [ + "CODE_UNSPECIFIED", + "NOT_FOUND", + "IDENTITY_SOURCE_NOT_FOUND", + "IDENTITY_SOURCE_MISCONFIGURED", + "TOO_MANY_MAPPINGS_FOUND", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "Input-only value. Used to list all unmapped identities regardless of status.", + "The unmapped identity was not found in IDaaS, and needs to be provided by the user.", + "The identity source associated with the identity was either not found or deleted.", + "IDaaS does not understand the identity source, probably because the schema was modified in a non compatible way.", + "The number of users associated with the external identity is too large.", + "Internal error." + ], + "type": "string" + } + }, + "type": "object" + }, + "UnreserveItemsRequest": { + "id": "UnreserveItemsRequest", + "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 unreserve items from.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateDataSourceRequest": { + "id": "UpdateDataSourceRequest", + "properties": { + "debugOptions": { + "$ref": "DebugOptions", + "description": "Common debug options." + }, + "source": { + "$ref": "DataSource" + } + }, + "type": "object" + }, + "UpdateSchemaRequest": { + "id": "UpdateSchemaRequest", + "properties": { + "debugOptions": { + "$ref": "DebugOptions", + "description": "Common debug options." + }, + "schema": { + "$ref": "Schema", + "description": "The new schema for the source." + }, + "validateOnly": { + "description": "If true, the schema will be checked for validity, but will not be registered with the data source, even if valid.", + "type": "boolean" + } + }, + "type": "object" + }, + "UploadItemRef": { + "description": "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.", + "id": "UploadItemRef", + "properties": { + "name": { + "description": "The name of the content reference. The maximum length is 2048 characters.", + "type": "string" + } + }, + "type": "object" + }, + "UploadMetadata": { + "description": "Annotation metadata for user Upload artifacts.", + "id": "UploadMetadata", + "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" + }, + "UrlMetadata": { + "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": "UrlMetadata", + "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" }, - "UnreserveItemsRequest": { - "id": "UnreserveItemsRequest", + "User": { + "description": "User profile information. This user is not necessarily member of a space.", + "id": "User", "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 unreserve items from.", + "botInfo": { + "$ref": "BotInfo", + "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" - } - }, - "type": "object" - }, - "UpdateDataSourceRequest": { - "id": "UpdateDataSourceRequest", - "properties": { - "debugOptions": { - "$ref": "DebugOptions", - "description": "Common debug options." }, - "source": { - "$ref": "DataSource" - } - }, - "type": "object" - }, - "UpdateSchemaRequest": { - "id": "UpdateSchemaRequest", - "properties": { - "debugOptions": { - "$ref": "DebugOptions", - "description": "Common debug options." + "firstName": { + "description": "First or given name of the user", + "type": "string" }, - "schema": { - "$ref": "Schema", - "description": "The new schema for the source." + "gender": { + "description": "Gender of the user", + "type": "string" }, - "validateOnly": { - "description": "If true, the schema will be checked for validity, but will not be registered with the data source, even if valid.", + "id": { + "$ref": "UserId", + "description": "UserId" + }, + "isAnonymous": { + "description": "Set to true if none of the depending services (Gaia, PeopleApi) returns any info for this user.", "type": "boolean" - } - }, - "type": "object" - }, - "UploadItemRef": { - "description": "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.", - "id": "UploadItemRef", - "properties": { + }, + "lastName": { + "description": "Last or family name of the user", + "type": "string" + }, "name": { - "description": "The name of the content reference. The maximum length is 2048 characters.", + "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" } }, @@ -15440,6 +15403,37 @@ }, "type": "object" }, + "UserId": { + "description": "Primary key for User resource.", + "id": "UserId", + "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": "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.", + "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" + }, "UserInfo": { "description": "Contains info regarding the updater of an Activity Feed item. Next Id: 6", "id": "UserInfo", @@ -15473,7 +15467,7 @@ "type": "string" }, "updaterToShowUserId": { - "$ref": "AppsDynamiteUserId", + "$ref": "UserId", "description": "The updater for clients to show used for Dynamite Chat items." } }, @@ -15502,6 +15496,48 @@ }, "type": "object" }, + "UserMentionMetadata": { + "description": "Annotation metadata for user mentions (+/@/-).", + "id": "UserMentionMetadata", + "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": "UserId", + "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": "InviteeInfo", + "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" + }, "VPCSettings": { "id": "VPCSettings", "properties": { @@ -15555,11 +15591,19 @@ "type": "object" }, "VideoCallMetadata": { - "description": "A Meet initiated in Dynamite and its URL.", "id": "VideoCallMetadata", "properties": { - "meetingUrl": { - "type": "string" + "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" @@ -15793,6 +15837,26 @@ }, "type": "object" }, + "YoutubeMetadata": { + "description": "Annotation metadata for YouTube artifact.", + "id": "YoutubeMetadata", + "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" + }, "YoutubeUserProto": { "id": "YoutubeUserProto", "properties": { diff --git a/cloudsearch/v1/cloudsearch-gen.go b/cloudsearch/v1/cloudsearch-gen.go index 598336924b9..49a96d0dabf 100644 --- a/cloudsearch/v1/cloudsearch-gen.go +++ b/cloudsearch/v1/cloudsearch-gen.go @@ -575,6 +575,107 @@ func (s *AckInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AclFixRequest: 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 AclFixRequest 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 + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AclFixRequest) MarshalJSON() ([]byte, error) { + type NoMethod AclFixRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AclFixStatus: 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 AclFixStatus 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AclFixStatus) MarshalJSON() ([]byte, error) { + type NoMethod AclFixStatus + 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 @@ -654,6 +755,84 @@ func (s *ActionParameter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AffectedMembership: 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 AffectedMembership struct { + AffectedMember *MemberId `json:"affectedMember,omitempty"` + + // 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"` + + // 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. + PriorMembershipState string `json:"priorMembershipState,omitempty"` + + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 *AffectedMembership) MarshalJSON() ([]byte, error) { + type NoMethod AffectedMembership + 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 @@ -665,16 +844,16 @@ func (s *ActionParameter) MarshalJSON() ([]byte, error) { 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"` +// Annotation: 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 Annotation struct { + BabelPlaceholderMetadata *BabelPlaceholderMetadata `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"` + CardCapabilityMetadata *CardCapabilityMetadata `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 @@ -690,32 +869,32 @@ type AppsDynamiteAnnotation struct { // chip. ChipRenderType string `json:"chipRenderType,omitempty"` - ConsentedAppUnfurlMetadata *AppsDynamiteConsentedAppUnfurlMetadata `json:"consentedAppUnfurlMetadata,omitempty"` + ConsentedAppUnfurlMetadata *ConsentedAppUnfurlMetadata `json:"consentedAppUnfurlMetadata,omitempty"` - CustomEmojiMetadata *AppsDynamiteCustomEmojiMetadata `json:"customEmojiMetadata,omitempty"` + CustomEmojiMetadata *CustomEmojiMetadata `json:"customEmojiMetadata,omitempty"` - DataLossPreventionMetadata *AppsDynamiteDataLossPreventionMetadata `json:"dataLossPreventionMetadata,omitempty"` + DataLossPreventionMetadata *DataLossPreventionMetadata `json:"dataLossPreventionMetadata,omitempty"` // DriveMetadata: Chip annotations - DriveMetadata *AppsDynamiteDriveMetadata `json:"driveMetadata,omitempty"` + DriveMetadata *DriveMetadata `json:"driveMetadata,omitempty"` - FormatMetadata *AppsDynamiteFormatMetadata `json:"formatMetadata,omitempty"` + FormatMetadata *FormatMetadata `json:"formatMetadata,omitempty"` - GroupRetentionSettingsUpdated *AppsDynamiteGroupRetentionSettingsUpdatedMetaData `json:"groupRetentionSettingsUpdated,omitempty"` + GroupRetentionSettingsUpdated *GroupRetentionSettingsUpdatedMetaData `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"` + GsuiteIntegrationMetadata *GsuiteIntegrationMetadata `json:"gsuiteIntegrationMetadata,omitempty"` - IncomingWebhookChangedMetadata *AppsDynamiteIncomingWebhookChangedMetadata `json:"incomingWebhookChangedMetadata,omitempty"` + IncomingWebhookChangedMetadata *IncomingWebhookChangedMetadata `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"` + IntegrationConfigUpdated *IntegrationConfigUpdatedMetadata `json:"integrationConfigUpdated,omitempty"` // Length: Length of the text_body substring beginning from start_index // the Annotation corresponds to. @@ -728,9 +907,9 @@ type AppsDynamiteAnnotation struct { // MembershipChanged: Metadata for system messages. Clients should never // set this. LINT.IfChange - MembershipChanged *AppsDynamiteMembershipChangedMetadata `json:"membershipChanged,omitempty"` + MembershipChanged *MembershipChangedMetadata `json:"membershipChanged,omitempty"` - ReadReceiptsSettingsMetadata *AppsDynamiteReadReceiptsSettingsUpdatedMetadata `json:"readReceiptsSettingsMetadata,omitempty"` + ReadReceiptsSettingsMetadata *ReadReceiptsSettingsUpdatedMetadata `json:"readReceiptsSettingsMetadata,omitempty"` // RequiredMessageFeaturesMetadata: Metadata that defines all of the // required features that must be rendered in the message. Clients can @@ -743,16 +922,16 @@ type AppsDynamiteAnnotation struct { // /SystemMessageHelper.java, // //depot/google3/java/com/google/caribou/eli/mediation/chat/AnnotationT // ranslator.java ) - RequiredMessageFeaturesMetadata *AppsDynamiteRequiredMessageFeaturesMetadata `json:"requiredMessageFeaturesMetadata,omitempty"` + RequiredMessageFeaturesMetadata *RequiredMessageFeaturesMetadata `json:"requiredMessageFeaturesMetadata,omitempty"` - RoomUpdated *AppsDynamiteRoomUpdatedMetadata `json:"roomUpdated,omitempty"` + RoomUpdated *RoomUpdatedMetadata `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"` + SlashCommandMetadata *SlashCommandMetadata `json:"slashCommandMetadata,omitempty"` // StartIndex: Start index (0-indexed) of the Message text the // Annotation corresponds to, inclusive. @@ -802,17 +981,17 @@ type AppsDynamiteAnnotation struct { // helpful in matching annotation objects when fetched from service. UniqueId string `json:"uniqueId,omitempty"` - UploadMetadata *AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` + UploadMetadata *UploadMetadata `json:"uploadMetadata,omitempty"` - UrlMetadata *AppsDynamiteUrlMetadata `json:"urlMetadata,omitempty"` + UrlMetadata *UrlMetadata `json:"urlMetadata,omitempty"` // UserMentionMetadata: Metadata that clients can set for annotations. // LINT.IfChange In-text annotations - UserMentionMetadata *AppsDynamiteUserMentionMetadata `json:"userMentionMetadata,omitempty"` + UserMentionMetadata *UserMentionMetadata `json:"userMentionMetadata,omitempty"` - VideoCallMetadata *AppsDynamiteVideoCallMetadata `json:"videoCallMetadata,omitempty"` + VideoCallMetadata *VideoCallMetadata `json:"videoCallMetadata,omitempty"` - YoutubeMetadata *AppsDynamiteYoutubeMetadata `json:"youtubeMetadata,omitempty"` + YoutubeMetadata *YoutubeMetadata `json:"youtubeMetadata,omitempty"` // ForceSendFields is a list of field names (e.g. // "BabelPlaceholderMetadata") to unconditionally include in API @@ -833,14 +1012,14 @@ type AppsDynamiteAnnotation struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteAnnotation) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteAnnotation +func (s *Annotation) MarshalJSON() ([]byte, error) { + type NoMethod Annotation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteAppId: Identifier of an App. -type AppsDynamiteAppId struct { +// AppId: Identifier of an App. +type AppId struct { // AppType: Enum indicating the type of App this is. // // Possible values: @@ -891,41 +1070,35 @@ type AppsDynamiteAppId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteAppId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteAppId +func (s *AppId) MarshalJSON() ([]byte, error) { + type NoMethod AppId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` - - // AttachmentId: To identify an attachment within repeated in a message - AttachmentId string `json:"attachmentId,omitempty"` - - // CardAddOnData: Card AddOn attachment with the possibility for - // specifying editable widgets. - CardAddOnData *AppsDynamiteSharedCard `json:"cardAddOnData,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"` - // DeprecatedAddOnData: Deprecated version of Gmail AddOn attachment. - DeprecatedAddOnData *ContextualAddOnMarkup `json:"deprecatedAddOnData,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"` - // SlackData: Slack attachment. - SlackData *AppsDynamiteV1ApiCompatV1Attachment `json:"slackData,omitempty"` + // Possible values: + // "SPINNER" - Displays a spinner to indicate that content is loading. + // "NONE" - Nothing is displayed. + LoadIndicator string `json:"loadIndicator,omitempty"` - // SlackDataImageUrlHeight: The height of image url as fetched by fife. - // This field is asynchronously filled. - SlackDataImageUrlHeight int64 `json:"slackDataImageUrlHeight,omitempty"` + // Parameters: List of action parameters. + Parameters []*AppsDynamiteSharedActionActionParameter `json:"parameters,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddOnData") to + // 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 @@ -933,7 +1106,7 @@ type AppsDynamiteAttachment struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AddOnData") to include in + // 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 @@ -942,83 +1115,77 @@ type AppsDynamiteAttachment struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteAttachment) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteAttachment +func (s *AppsDynamiteSharedAction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` +// 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"` - // WasUpdatedByBackfill: Whether or not these message properties were - // backfilled by go/dinnertrain. - WasUpdatedByBackfill bool `json:"wasUpdatedByBackfill,omitempty"` + // Value: The value of the parameter. + Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientGeneratedId") - // 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. "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 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 *AppsDynamiteBabelMessageProps) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBabelMessageProps +func (s *AppsDynamiteSharedActionActionParameter) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActionActionParameter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - 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 - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. +// 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"` + + ChatItem *AppsDynamiteSharedChatItem `json:"chatItem,omitempty"` + + // 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. + // "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. "DeleteMetadata") to + // 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 @@ -1028,152 +1195,73 @@ type AppsDynamiteBabelPlaceholderMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteBabelPlaceholderMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBabelPlaceholderMetadata +func (s *AppsDynamiteSharedActivityFeedAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActivityFeedAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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 { -} +// 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"` -// AppsDynamiteBabelPlaceholderMetadataEditMetadata: A message edit in -// Dynamite inserts a Babel-only item containing this field. -type AppsDynamiteBabelPlaceholderMetadataEditMetadata struct { -} + // 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"` -// 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"` + // UpdaterToShow: The updater for clients to show. + UpdaterToShow *UserId `json:"updaterToShow,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 - // sent 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. + // "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. "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 + // 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 // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } -func (s *AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata +func (s *AppsDynamiteSharedActivityFeedAnnotationDataUserInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedActivityFeedAnnotationDataUserInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// AppsDynamiteSharedAppProfile: Optional field for apps overriding +// display info +type AppsDynamiteSharedAppProfile struct { + // AvatarEmoji: Displayed user avatar emoji. + AvatarEmoji string `json:"avatarEmoji,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"` + // AvatarUrl: Displayed user avatar url. + AvatarUrl string `json:"avatarUrl,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"` + // Name: Displayed user name. + Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "ScanId") 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 @@ -1181,35 +1269,37 @@ type AppsDynamiteBackendDlpScanSummary struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteBackendDlpScanSummary) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBackendDlpScanSummary +func (s *AppsDynamiteSharedAppProfile) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAppProfile raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // 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"` + // 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. "CreatorUserId") to + // 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 @@ -1217,31 +1307,28 @@ type AppsDynamiteBackendLabelsCommunalLabelTag struct { // 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 + // 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 *AppsDynamiteBackendLabelsCommunalLabelTag) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBackendLabelsCommunalLabelTag +func (s *AppsDynamiteSharedAssistantAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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. "LabelId") 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 @@ -1249,8 +1336,8 @@ type AppsDynamiteBackendLabelsPersonalLabelTag struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 // null. It is an error if a field in this list has a non-empty value. @@ -1258,40 +1345,28 @@ type AppsDynamiteBackendLabelsPersonalLabelTag struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteBackendLabelsPersonalLabelTag) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBackendLabelsPersonalLabelTag +func (s *AppsDynamiteSharedAssistantDebugContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantDebugContext 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"` +// 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"` + // ThumbsFeedback: Whether the thumbs feedback is provided + // // Possible values: - // "UNKNOWN_SETUP_TYPE" - // "CONFIGURATION" - Bot requires configuration. - // "AUTHENTICATION" - Bot requires authentication. - RequiredAction string `json:"requiredAction,omitempty"` + // "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"` - // 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 + // 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 @@ -1299,118 +1374,54 @@ type AppsDynamiteBotResponse struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteBotResponse) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteBotResponse +func (s *AppsDynamiteSharedAssistantFeedbackContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantFeedbackContext raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteCardCapabilityMetadata struct { - // RequiredCapabilities: NEXT TAG : 2 +// AppsDynamiteSharedAssistantFeedbackContextFeedbackChip: Suggestion +// chips for users to indicate positive or negative feedback +type AppsDynamiteSharedAssistantFeedbackContextFeedbackChip struct { + // FeedbackChipType: What type of chip to display // // Possible values: - // "UNKNOWN" - // "SUPPORTS_BASE_CARDS" - NEXT TAG : 2 - RequiredCapabilities []string `json:"requiredCapabilities,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:"-"` - - // 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:"-"` -} - -func (s *AppsDynamiteCardCapabilityMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteCardCapabilityMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// 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"` - - // 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:"-"` - - // 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:"-"` -} - -func (s *AppsDynamiteConsentedAppUnfurlMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteConsentedAppUnfurlMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -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"` - - // ReportJustification: Additional user-provided justification on the - // report. Optional. - ReportJustification *AppsDynamiteContentReportJustification `json:"reportJustification,omitempty"` - - // ReportType: Type of the report. Always populated when it is in a - // response. - ReportType *AppsDynamiteSharedContentReportType `json:"reportType,omitempty"` - - // ReporterUserId: User ID of the reporter. Always populated when it is - // in a response. - ReporterUserId *AppsDynamiteUserId `json:"reporterUserId,omitempty"` + // "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"` - // 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"` + // 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"` - // 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 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:"-"` - // NullFields is a list of field names (e.g. "ReportCreateTimestamp") to + // 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 @@ -1420,18 +1431,22 @@ type AppsDynamiteContentReport struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteContentReport) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteContentReport +func (s *AppsDynamiteSharedAssistantFeedbackContextFeedbackChip) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantFeedbackContextFeedbackChip raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteContentReportJustification struct { - // UserJustification: Optional. User-generated free-text justification - // for the content report. - UserJustification string `json:"userJustification,omitempty"` +// 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. "UserJustification") + // 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 @@ -1439,7 +1454,7 @@ type AppsDynamiteContentReportJustification struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "UserJustification") to + // 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 @@ -1449,44 +1464,33 @@ type AppsDynamiteContentReportJustification struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteContentReportJustification) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteContentReportJustification +func (s *AppsDynamiteSharedAssistantSessionContext) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantSessionContext raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteCustomEmojiMetadata struct { - CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` +// AppsDynamiteSharedAssistantSuggestion: Data for an Assistant +// suggestion. +type AppsDynamiteSharedAssistantSuggestion struct { + // DebugContext: Info regarding suggestion debug information. + DebugContext *AppsDynamiteSharedAssistantDebugContext `json:"debugContext,omitempty"` - // 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 - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` + // FeedbackContext: Data for rendering feedback. + FeedbackContext *AppsDynamiteSharedAssistantFeedbackContext `json:"feedbackContext,omitempty"` - // 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:"-"` -} + // FindDocumentSuggestion: Suggestion type that suggests documents + // (docs, slides, sheets). + FindDocumentSuggestion *AppsDynamiteSharedFindDocumentSuggestion `json:"findDocumentSuggestion,omitempty"` -func (s *AppsDynamiteCustomEmojiMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteCustomEmojiMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // SerializedSuggestions: String representation of the suggestions + // provided. + SerializedSuggestions string `json:"serializedSuggestions,omitempty"` -// AppsDynamiteCustomerId: Represents a GSuite customer ID. Obfuscated -// with CustomerIdObfuscator. -type AppsDynamiteCustomerId struct { - CustomerId string `json:"customerId,omitempty"` + // SessionContext: Session context specific to the Assistant suggestion. + SessionContext *AppsDynamiteSharedAssistantSessionContext `json:"sessionContext,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomerId") to + // 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 @@ -1494,64 +1498,30 @@ type AppsDynamiteCustomerId struct { // 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 + // 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 *AppsDynamiteCustomerId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteCustomerId +func (s *AppsDynamiteSharedAssistantSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAssistantSuggestion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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. "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 - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // 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 *AppsDynamiteDataLossPreventionMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDataLossPreventionMetadata - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +// AppsDynamiteSharedAssistantUnfulfillableRequest: Data for a response +// to an unfulfillable request. +type AppsDynamiteSharedAssistantUnfulfillableRequest struct { } -type AppsDynamiteDmId struct { - // DmId: Unique server assigned Id, per Direct Message Space. - DmId string `json:"dmId,omitempty"` +type AppsDynamiteSharedAvatarInfo struct { + Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` - // ForceSendFields is a list of field names (e.g. "DmId") 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 @@ -1559,7 +1529,7 @@ type AppsDynamiteDmId 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. "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 @@ -1568,131 +1538,157 @@ type AppsDynamiteDmId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteDmId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDmId +func (s *AppsDynamiteSharedAvatarInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedAvatarInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteDriveMetadata: Annotation metadata for Drive artifacts. -type AppsDynamiteDriveMetadata struct { - AclFixRequest *AppsDynamiteDriveMetadataAclFixRequest `json:"aclFixRequest,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"` - AclFixStatus *AppsDynamiteDriveMetadataAclFixStatus `json:"aclFixStatus,omitempty"` + // ContentName: The original file name for the content, not the full + // path. + ContentName string `json:"contentName,omitempty"` - // CanEdit: Can the current user edit this resource - CanEdit bool `json:"canEdit,omitempty"` + // ContentSize: Scotty reported content size by default. + // http://google3/uploader/agent/scotty_agent.proto?l=101&rcl=140889785 + ContentSize int64 `json:"contentSize,omitempty,string"` - // CanShare: Can the current user share this resource - CanShare bool `json:"canShare,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"` - // 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. + // DlpScanOutcome: The results of the Data Loss Prevention (DLP) scan of + // the attachment. DEPRECATED: use dlp_scan_summary instead. // // 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"` + // "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"` - // Mimetype: Mimetype of the Drive Resource - Mimetype string `json:"mimetype,omitempty"` + // DlpScanSummary: Summary of a Data Loss Prevention (DLP) scan of the + // attachment. Attachments are evaluated in the backend when they are + // uploaded. + DlpScanSummary *DlpScanSummary `json:"dlpScanSummary,omitempty"` - // OrganizationDisplayName: The display name of the organization owning - // the Drive item. - OrganizationDisplayName string `json:"organizationDisplayName,omitempty"` + // GroupId: GroupId to which this attachment is uploaded. + GroupId *GroupId `json:"groupId,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"` + // OriginalDimension: Original dimension of the content. Only set for + // image attachments. + OriginalDimension *AppsDynamiteSharedDimension `json:"originalDimension,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"` + // 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 *MessageId `json:"quoteReplyMessageId,omitempty"` - // ThumbnailHeight: Thumbnail image of the Drive Resource - ThumbnailHeight int64 `json:"thumbnailHeight,omitempty"` + // Sha256: The SHA256 hash of the attachment bytes. + Sha256 string `json:"sha256,omitempty"` - // ThumbnailUrl: Thumbnail image of the Drive Resource - ThumbnailUrl string `json:"thumbnailUrl,omitempty"` + // UploadIp: User IP address at upload time. Ex. "123.1.2.3". Used by + // Ares abuse scanning. + UploadIp string `json:"uploadIp,omitempty"` - // ThumbnailWidth: Thumbnail image of the Drive Resource - ThumbnailWidth int64 `json:"thumbnailWidth,omitempty"` + // UploadTimestampUsec: Timestamp of when user finished uploading the + // content. + UploadTimestampUsec int64 `json:"uploadTimestampUsec,omitempty,string"` - // Title: Title of the Drive Resource - Title string `json:"title,omitempty"` + // 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"` - // 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"` + // VideoThumbnailBlobId: Full Blobstore ID for the video thumbnail. + VideoThumbnailBlobId string `json:"videoThumbnailBlobId,omitempty"` - // WrappedResourceKey: This is considered SPII and should not be logged. - WrappedResourceKey *WrappedResourceKey `json:"wrappedResourceKey,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. "AclFixRequest") to + // 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 @@ -1700,48 +1696,39 @@ type AppsDynamiteDriveMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *AppsDynamiteDriveMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDriveMetadata +func (s *AppsDynamiteSharedBackendUploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedBackendUploadMetadata 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"` +// AppsDynamiteSharedBorderStyle: Represents the complete border style +// applied to widgets. +type AppsDynamiteSharedBorderStyle struct { + // CornerRadius: The corner radius for the border. + CornerRadius int64 `json:"cornerRadius,omitempty"` - // Possible values: - // "UNKNOWN" - // "READER" - // "COMMENTER" - // "WRITER" - Role string `json:"role,omitempty"` + // StrokeColor: The colors to use when the type is `BORDER_TYPE_STROKE`. + StrokeColor *Color `json:"strokeColor,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"` + // Type: The border type. + // + // Possible values: + // "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. "RecipientEmails") 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 @@ -1749,53 +1736,45 @@ type AppsDynamiteDriveMetadataAclFixRequest struct { // 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 - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []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 *AppsDynamiteDriveMetadataAclFixRequest) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDriveMetadataAclFixRequest +func (s *AppsDynamiteSharedBorderStyle) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedBorderStyle raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // 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"` + // Color: If set, the button is filled with a solid background. + Color *Color `json:"color,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"` + // Disabled: If true, the button is displayed in a disabled state and + // doesn't respond to user actions. + Disabled bool `json:"disabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "Fixability") to + // Icon: The icon image. + Icon *AppsDynamiteSharedIcon `json:"icon,omitempty"` + + // OnClick: The action to perform when the button is clicked. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` + + // Text: The text of the button. + Text string `json:"text,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 @@ -1803,7 +1782,7 @@ type AppsDynamiteDriveMetadataAclFixStatus struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Fixability") 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 @@ -1812,80 +1791,18 @@ type AppsDynamiteDriveMetadataAclFixStatus struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteDriveMetadataAclFixStatus) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDriveMetadataAclFixStatus - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// 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"` - - // 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. "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. "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 - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *AppsDynamiteDriveMetadataLegacyUploadMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteDriveMetadataLegacyUploadMetadata +func (s *AppsDynamiteSharedButton) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedButton raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` +// 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. "FontColor") 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 @@ -1893,7 +1810,7 @@ type AppsDynamiteFormatMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FontColor") to include in + // 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 @@ -1902,76 +1819,19 @@ type AppsDynamiteFormatMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteFormatMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFormatMetadata +func (s *AppsDynamiteSharedButtonList) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedButtonList raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteFrontendBotInfo: Bot-specific profile information. -type AppsDynamiteFrontendBotInfo struct { - // AppId: Identifier of the application associated with the bot. - AppId *AppsDynamiteAppId `json:"appId,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"` - - // 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"` +type AppsDynamiteSharedCalendarEventAnnotationData struct { + CalendarEvent *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent `json:"calendarEvent,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"` + // EventCreation: Notification about the creation of an event. + EventCreation *AppsDynamiteSharedCalendarEventAnnotationDataEventCreation `json:"eventCreation,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppId") to + // 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 @@ -1979,49 +1839,35 @@ type AppsDynamiteFrontendBotInfo struct { // 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 + // 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 // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *AppsDynamiteFrontendBotInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFrontendBotInfo +func (s *AppsDynamiteSharedCalendarEventAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // DeletionPolicyUrl: Link to the deletion policy webpage for the bot. - // Configured by Pantheon, may be empty. - DeletionPolicyUrl string `json:"deletionPolicyUrl,omitempty"` - - // PrivacyPolicyUrl: Link to the privacy policy webpage for the bot. May - // be empty. - PrivacyPolicyUrl string `json:"privacyPolicyUrl,omitempty"` +type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent struct { + // EndTime: The end time of the event. + EndTime *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime `json:"endTime,omitempty"` - // SetupUrl: Link to the setup webpage for the bot. Configured by - // Pantheon, may be empty. - SetupUrl string `json:"setupUrl,omitempty"` + // EventId: ID of the event. + EventId string `json:"eventId,omitempty"` - // SupportUrl: Link to the support webpage for the developer of the bot. - // May be empty. - SupportUrl string `json:"supportUrl,omitempty"` + // StartTime: The start time of the event. + StartTime *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime `json:"startTime,omitempty"` - // TosUrl: Link to the terms of service webpage for the bot. May be - // empty. - TosUrl string `json:"tosUrl,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. "AdminConfigUrl") to + // 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 @@ -2029,28 +1875,29 @@ type AppsDynamiteFrontendBotInfoSupportUrls struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteFrontendBotInfoSupportUrls) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFrontendBotInfoSupportUrls +func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteFrontendMember struct { - Roster *AppsDynamiteFrontendRoster `json:"roster,omitempty"` +type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime struct { + // AllDay: All day event. + AllDay *Date `json:"allDay,omitempty"` - User *AppsDynamiteFrontendUser `json:"user,omitempty"` + // Timed: Non all day event. + Timed string `json:"timed,omitempty"` - // ForceSendFields is a list of field names (e.g. "Roster") to + // 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 @@ -2058,7 +1905,7 @@ type AppsDynamiteFrontendMember struct { // 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 + // 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 @@ -2067,134 +1914,140 @@ type AppsDynamiteFrontendMember struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteFrontendMember) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFrontendMember +func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteFrontendRoster: Roster profile information. -type AppsDynamiteFrontendRoster struct { - AvatarUrl string `json:"avatarUrl,omitempty"` - - Id *AppsDynamiteRosterId `json:"id,omitempty"` - - MembershipCount int64 `json:"membershipCount,omitempty"` +// AppsDynamiteSharedCalendarEventAnnotationDataEventCreation: Creation +// of an event (no extra data for now). +type AppsDynamiteSharedCalendarEventAnnotationDataEventCreation struct { +} - Name string `json:"name,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"` - // RosterGaiaKey: Roster gaia key, usually an email address. Set in - // looking up rosters response. - RosterGaiaKey string `json:"rosterGaiaKey,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"` - // RosterState: Roster deletion state - considered active unless set to - // deleted + // CallStatus: Required. Indicates the call status for the space. Used + // to determine the chip's state. // // Possible values: - // "ROSTER_STATE_UNKNOWN" - // "ROSTER_ACTIVE" - Roster is active - // "ROSTER_DELETED" - Roster deleted - RosterState string `json:"rosterState,omitempty"` + // "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. "AvatarUrl") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *AppsDynamiteFrontendRoster) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFrontendRoster +func (s *AppsDynamiteSharedCallAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCallAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` +// 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"` - // FirstName: First or given name of the user - FirstName string `json:"firstName,omitempty"` + // 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:"-"` - // Gender: Gender of the user - Gender string `json:"gender,omitempty"` + // 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:"-"` +} - // Id: UserId - Id *AppsDynamiteUserId `json:"id,omitempty"` +func (s *AppsDynamiteSharedCallMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCallMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // IsAnonymous: Set to true if none of the depending services (Gaia, - // PeopleApi) returns any info for this user. - IsAnonymous bool `json:"isAnonymous,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"` - // LastName: Last or family name of the user - LastName string `json:"lastName,omitempty"` + // Header: The header of the card. A header usually contains a title and + // an image. + Header *AppsDynamiteSharedCardCardHeader `json:"header,omitempty"` - // Name: Non-unique, user-defined display name of the User + // Name: Name of the card, which is used as a identifier for the card in + // card navigation. 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"` + // Sections: Sections are separated by a line divider. + Sections []*AppsDynamiteSharedCardSection `json:"sections,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvatarUrl") 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 @@ -2202,32 +2055,33 @@ type AppsDynamiteFrontendUser struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteFrontendUser) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteFrontendUser +func (s *AppsDynamiteSharedCard) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCard raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // SpaceId: Unique, immutable ID of the Space - SpaceId *AppsDynamiteSpaceId `json:"spaceId,omitempty"` + // OnClick: The onclick action for this action item. + OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "DmId") to + // 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 @@ -2235,29 +2089,46 @@ type AppsDynamiteGroupId 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 - // 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. "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 *AppsDynamiteGroupId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteGroupId +func (s *AppsDynamiteSharedCardCardAction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardCardAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteGroupRetentionSettingsUpdatedMetaData struct { - // Initiator: The user who triggered the retention settings update - Initiator *AppsDynamiteUserId `json:"initiator,omitempty"` +type AppsDynamiteSharedCardCardHeader struct { + // ImageAltText: The alternative text of this image which is used for + // accessibility. + ImageAltText string `json:"imageAltText,omitempty"` - // RetentionSettings: The updated space retention settings - RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` + // ImageType: The image's type. + // + // 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. "Initiator") 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 @@ -2265,55 +2136,34 @@ type AppsDynamiteGroupRetentionSettingsUpdatedMetaData struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteGroupRetentionSettingsUpdatedMetaData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteGroupRetentionSettingsUpdatedMetaData +func (s *AppsDynamiteSharedCardCardHeader) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardCardHeader raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteGsuiteIntegrationMetadata: Annotation metadata for an -// GsuiteIntegration artifact. -type AppsDynamiteGsuiteIntegrationMetadata struct { - ActivityFeedData *AppsDynamiteSharedActivityFeedAnnotationData `json:"activityFeedData,omitempty"` - - AssistantData *AppsDynamiteSharedAssistantAnnotationData `json:"assistantData,omitempty"` - - CalendarEventData *AppsDynamiteSharedCalendarEventAnnotationData `json:"calendarEventData,omitempty"` - - // 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"` +// 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"` - TasksData *AppsDynamiteSharedTasksAnnotationData `json:"tasksData,omitempty"` + // SuggestionMessageId: The message_id for the message that was posted + // by the app/bot. + SuggestionMessageId *MessageId `json:"suggestionMessageId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActivityFeedData") to + // 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 @@ -2321,100 +2171,82 @@ type AppsDynamiteGsuiteIntegrationMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *AppsDynamiteGsuiteIntegrationMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteGsuiteIntegrationMetadata +func (s *AppsDynamiteSharedCardClickSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardClickSuggestion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` +// 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"` - // 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"` + // Header: The header of the section. Formatted text is supported. + Header string `json:"header,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"` + // 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"` - // 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"` + // Widgets: A section must contain at least 1 widget. + Widgets []*AppsDynamiteSharedWidget `json:"widgets,omitempty"` - // ForceSendFields is a list of field names (e.g. "IncomingWebhookName") - // to unconditionally include in API requests. By default, fields with + // 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 // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteIncomingWebhookChangedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteIncomingWebhookChangedMetadata +func (s *AppsDynamiteSharedCardSection) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCardSection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteIntegrationConfigMutation struct { - // AddApp: Add an app using its identifier. - AddApp *AppsDynamiteAppId `json:"addApp,omitempty"` - - // AddPinnedItem: Add a pinned tab using its identifier. - AddPinnedItem *AppsDynamitePinnedItemId `json:"addPinnedItem,omitempty"` +// AppsDynamiteSharedChatItem: Next Id: 5 +type AppsDynamiteSharedChatItem struct { + // ActivityInfo: Information needed to render the specific type of feed + // item. + ActivityInfo []*AppsDynamiteSharedChatItemActivityInfo `json:"activityInfo,omitempty"` - // RemoveApp: Remove an active app using its identifier. - RemoveApp *AppsDynamiteAppId `json:"removeApp,omitempty"` + // GroupInfo: Only populated on read path and should not be persisted in + // storage. + GroupInfo *AppsDynamiteSharedChatItemGroupInfo `json:"groupInfo,omitempty"` - // RemovePinnedItem: Remove an active pinned tab using its identifier. - RemovePinnedItem *AppsDynamitePinnedItemId `json:"removePinnedItem,omitempty"` + // MessageInfo: Additional information about the original chat message + // that isn't captured in the top-level message proto. + MessageInfo *AppsDynamiteSharedMessageInfo `json:"messageInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddApp") to + // 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 @@ -2422,33 +2254,31 @@ type AppsDynamiteIntegrationConfigMutation struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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:"-"` } -func (s *AppsDynamiteIntegrationConfigMutation) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteIntegrationConfigMutation +func (s *AppsDynamiteSharedChatItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AppsDynamiteSharedChatItemActivityInfo struct { + FeedItemNudge *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge `json:"feedItemNudge,omitempty"` - // Mutations: A list of updates applied on the integration config. - Mutations []*AppsDynamiteIntegrationConfigMutation `json:"mutations,omitempty"` + FeedItemReactions *AppsDynamiteSharedChatItemActivityInfoFeedItemReactions `json:"feedItemReactions,omitempty"` - // ForceSendFields is a list of field names (e.g. "InitiatorId") to + FeedItemThreadReply *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply `json:"feedItemThreadReply,omitempty"` + + FeedItemUserMention *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention `json:"feedItemUserMention,omitempty"` + + // 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 @@ -2456,7 +2286,7 @@ type AppsDynamiteIntegrationConfigUpdatedMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InitiatorId") to include + // 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 @@ -2465,23 +2295,27 @@ type AppsDynamiteIntegrationConfigUpdatedMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteIntegrationConfigUpdatedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteIntegrationConfigUpdatedMetadata +func (s *AppsDynamiteSharedChatItemActivityInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // UserId: Unique, immutable ID of the User. - UserId *AppsDynamiteUserId `json:"userId,omitempty"` +// 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: + // "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. "Email") to + // 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 @@ -2489,8 +2323,8 @@ type AppsDynamiteInviteeInfo struct { // 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 + // 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. @@ -2498,23 +2332,34 @@ type AppsDynamiteInviteeInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteInviteeInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteInviteeInfo +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemNudge raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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 { +} - // UserId: Unique, immutable ID of the User. - UserId *AppsDynamiteUserId `json:"userId,omitempty"` +// 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" + // "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. "RosterId") 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 @@ -2522,7 +2367,7 @@ type AppsDynamiteMemberId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RosterId") to include in + // 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 @@ -2531,134 +2376,199 @@ type AppsDynamiteMemberId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMemberId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMemberId +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteMembershipChangedMetadata: Annotation metadata to display -// system messages for membership changes. -type AppsDynamiteMembershipChangedMetadata struct { - AffectedMemberProfiles []*AppsDynamiteFrontendMember `json:"affectedMemberProfiles,omitempty"` - - // AffectedMembers: List of users and rosters whose membership status - // changed. - AffectedMembers []*AppsDynamiteMemberId `json:"affectedMembers,omitempty"` +// 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: + // "TYPE_UNSPECIFIED" - Mention type not specified. + // "DIRECT" - Mentioned directly by name. + // "ALL" - Mentioned by @all. + Type string `json:"type,omitempty"` - AffectedMemberships []*AppsDynamiteMembershipChangedMetadataAffectedMembership `json:"affectedMemberships,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:"-"` - // Initiator: The user whose action triggered this system message. - Initiator *AppsDynamiteUserId `json:"initiator,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:"-"` +} - // InitiatorProfile: Complete member profiles, when ListTopicsRequest - // FetchOptions.USER is set. Otherwise, only the id will be filled in. - InitiatorProfile *AppsDynamiteFrontendUser `json:"initiatorProfile,omitempty"` +func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Possible values: - // "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"` +// 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"` // 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. + // "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:"-"` - // 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 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:"-"` } -func (s *AppsDynamiteMembershipChangedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMembershipChangedMetadata +func (s *AppsDynamiteSharedChatItemGroupInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedChatItemGroupInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` + // WrapStyle: Controls how the column resizes based on screen width. + // // 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"` + // "WRAP_STYLE_UNSPECIFIED" - Unspecified. + // "NOWRAP" - Column widgets don't wrap. + // "WRAP" - Column Widgets wrap. + WrapStyle string `json:"wrapStyle,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:"-"` + + // 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 + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppsDynamiteSharedColumns) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumns + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} +// AppsDynamiteSharedColumnsColumn: Represents a Column that consists of +// widgets stacked vertically. +type AppsDynamiteSharedColumnsColumn struct { + // HorizontalAlignment: The horizontal alignment of the column. + // // 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. - PriorMembershipState string `json:"priorMembershipState,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: - // "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"` + // "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. "AffectedMember") 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. "AffectedMember") to + // 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 @@ -2668,316 +2578,234 @@ type AppsDynamiteMembershipChangedMetadataAffectedMembership struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMembershipChangedMetadataAffectedMembership) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMembershipChangedMetadataAffectedMembership +func (s *AppsDynamiteSharedColumnsColumn) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumnsColumn raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteMessage: Message posted to a Space. -type AppsDynamiteMessage struct { - // Annotations: Annotations parsed and extracted from the text body. - Annotations []*AppsDynamiteAnnotation `json:"annotations,omitempty"` +// AppsDynamiteSharedColumnsColumnWidgets: LINT.IfChange The `column` +// widget can contain these widgets. +type AppsDynamiteSharedColumnsColumnWidgets struct { + // ButtonList: ButtonList widget. + ButtonList *AppsDynamiteSharedButtonList `json:"buttonList,omitempty"` - // AppProfile: Custom display profile info for apps. Leave the field - // empty for real users. - AppProfile *AppsDynamiteSharedAppProfile `json:"appProfile,omitempty"` + // DateTimePicker: DateTimePicker widget. + DateTimePicker *AppsDynamiteSharedDateTimePicker `json:"dateTimePicker,omitempty"` - // Attachments: Attachments parsed from incoming webhooks - Attachments []*AppsDynamiteAttachment `json:"attachments,omitempty"` + // DecoratedText: DecoratedText widget. + DecoratedText *AppsDynamiteSharedDecoratedText `json:"decoratedText,omitempty"` - // Attributes: Lightweight message attributes which values are - // calculated and set in the servers. - Attributes *AppsDynamiteMessageAttributes `json:"attributes,omitempty"` + // Image: Image widget. + Image *AppsDynamiteSharedImage `json:"image,omitempty"` - // BotResponses: Responses from bots indicating if extra auth/config is - // needed. - BotResponses []*AppsDynamiteBotResponse `json:"botResponses,omitempty"` + // SelectionInput: SelectionInput widget. + SelectionInput *AppsDynamiteSharedSelectionInput `json:"selectionInput,omitempty"` - // 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"` + // TextInput: TextInput widget. + TextInput *AppsDynamiteSharedTextInput `json:"textInput,omitempty"` - ContentReportSummary *AppsDynamiteMessageContentReportSummary `json:"contentReportSummary,omitempty"` + // TextParagraph: Text paragraph widget. + TextParagraph *AppsDynamiteSharedTextParagraph `json:"textParagraph,omitempty"` - // CreateTime: Time when the Message was posted in microseconds. - CreateTime int64 `json:"createTime,omitempty,string"` + // 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:"-"` - // 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"` + // 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:"-"` +} - // 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). +func (s *AppsDynamiteSharedColumnsColumnWidgets) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedColumnsColumnWidgets + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// 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: - // "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"` + // "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"` - // 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"` + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` - // 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"` + // 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:"-"` +} - // 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"` +func (s *AppsDynamiteSharedContentReportType) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedContentReportType + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // 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"` +// 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"` - // 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"` + // 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"` - // 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"` + // 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"` - // Id: ID of the resource. - Id *AppsDynamiteMessageId `json:"id,omitempty"` + // CreatorUserId: This field should *never* be persisted to Spanner. + CreatorUserId *UserId `json:"creatorUserId,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"` + // 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"` - // LastEditTime: If the message was edited by a user, timestamp of the - // last edit, in microseconds. - LastEditTime int64 `json:"lastEditTime,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"` - // LastUpdateTime: Time when the Message text was last updated in - // microseconds. - LastUpdateTime int64 `json:"lastUpdateTime,omitempty,string"` + // OwnerCustomerId: This field should *never* be persisted to Spanner. + OwnerCustomerId *CustomerId `json:"ownerCustomerId,omitempty"` - // LocalId: A unique id specified on the client side. - LocalId string `json:"localId,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"` - // 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"` + // 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"` - // MessageOrigin: Where the message was posted from + // 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: - // "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"` + // "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"` - // 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"` + UpdateTimeMicros int64 `json:"updateTimeMicros,omitempty,string"` - // OriginAppSuggestions: Indicates if this message contains any - // suggestions that were provided by any Apps. - OriginAppSuggestions []*AppsDynamiteSharedOriginAppSuggestion `json:"originAppSuggestions,omitempty"` + // Uuid: Unique key for a custom emoji resource. Required. This field is + // *always* populated. + Uuid string `json:"uuid,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"` + // 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. + ForceSendFields []string `json:"-"` - // 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"` + // 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 []string `json:"-"` +} - // Reports: Output only. Details of content reports. Set only when the - // request asks for it. - Reports []*AppsDynamiteContentReport `json:"reports,omitempty"` +func (s *AppsDynamiteSharedCustomEmoji) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedCustomEmoji + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // RetentionSettings: The retention settings of the message. - RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,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"` - // 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"` + // Name: The name of the text input that's used in formInput, and + // uniquely identifies this input. + Name string `json:"name,omitempty"` - // TextBody: Plaintext body of the Message. - TextBody string `json:"textBody,omitempty"` + // 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"` - // TombstoneMetadata: Information for the stoning of a Message. - TombstoneMetadata *AppsDynamiteTombstoneMetadata `json:"tombstoneMetadata,omitempty"` + // 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"` - // 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"` + // 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"` - // 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"` + // 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. "Annotations") 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 @@ -2985,29 +2813,60 @@ type AppsDynamiteMessage struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteMessage) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessage +func (s *AppsDynamiteSharedDateTimePicker) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDateTimePicker raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "IsTombstone") to + // Button: A button that can be clicked to trigger an action. + Button *AppsDynamiteSharedButton `json:"button,omitempty"` + + // EndIcon: An icon displayed after the text. + EndIcon *AppsDynamiteSharedIcon `json:"endIcon,omitempty"` + + // 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 @@ -3015,7 +2874,7 @@ type AppsDynamiteMessageAttributes struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsTombstone") 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 @@ -3024,26 +2883,34 @@ type AppsDynamiteMessageAttributes struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMessageAttributes) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageAttributes +func (s *AppsDynamiteSharedDecoratedText) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDecoratedText raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +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"` - // 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"` + // Name: The name of the switch widget that's used in formInput. + Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "NumberReports") to + // OnChangeAction: The action when the switch state is changed. + OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` + + // 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 @@ -3051,7 +2918,7 @@ type AppsDynamiteMessageContentReportSummary struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NumberReports") 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 @@ -3060,23 +2927,19 @@ type AppsDynamiteMessageContentReportSummary struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMessageContentReportSummary) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageContentReportSummary +func (s *AppsDynamiteSharedDecoratedTextSwitchControl) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDecoratedTextSwitchControl raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// AppsDynamiteSharedDimension: Dimension for the uploaded attachments. +type AppsDynamiteSharedDimension struct { + Height int64 `json:"height,omitempty"` - // ParentId: ID of the Message's immediate parent. - ParentId *AppsDynamiteMessageParentId `json:"parentId,omitempty"` + Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "MessageId") 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 @@ -3084,8 +2947,8 @@ type AppsDynamiteMessageId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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. @@ -3093,30 +2956,42 @@ type AppsDynamiteMessageId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMessageId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageId +func (s *AppsDynamiteSharedDimension) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDimension raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteMessageInfo struct { - // Message: The content of a matching message. - Message *AppsDynamiteMessage `json:"message,omitempty"` +// AppsDynamiteSharedDivider: A divider that appears in between widgets. +type AppsDynamiteSharedDivider struct { +} - // SearcherMembershipState: Searcher's membership state in the space - // where the message is posted. +// AppsDynamiteSharedDlpMetricsMetadata: LINT.IfChange +type AppsDynamiteSharedDlpMetricsMetadata struct { + // DlpStatus: [required] Describes the DLP status of message send and + // attachment upload events. // // 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. - SearcherMembershipState string `json:"searcherMembershipState,omitempty"` + // "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. "Message") to + // 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 @@ -3124,7 +2999,7 @@ type AppsDynamiteMessageInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Message") to include in + // 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 @@ -3133,21 +3008,35 @@ type AppsDynamiteMessageInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMessageInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageInfo +func (s *AppsDynamiteSharedDlpMetricsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDlpMetricsMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// AppsDynamiteSharedDocument: Data for rendering a document. +type AppsDynamiteSharedDocument struct { + // FileId: Unique file ID. + FileId string `json:"fileId,omitempty"` - // ForceSendFields is a list of field names (e.g. "TopicId") to + // Justification: Justification to explain why this document is being + // suggested. + Justification *AppsDynamiteSharedJustification `json:"justification,omitempty"` + + // 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 @@ -3155,8 +3044,8 @@ type AppsDynamiteMessageParentId struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 // null. It is an error if a field in this list has a non-empty value. @@ -3164,20 +3053,20 @@ type AppsDynamiteMessageParentId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteMessageParentId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageParentId +func (s *AppsDynamiteSharedDocument) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedDocument raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AppsDynamiteSharedEmoji struct { + // CustomEmoji: A custom emoji. + CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` + + // Unicode: A basic emoji represented by a unicode string. + Unicode string `json:"unicode,omitempty"` - // ForceSendFields is a list of field names (e.g. "BabelProps") 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 @@ -3185,71 +3074,79 @@ type AppsDynamiteMessageProps struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteMessageProps) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteMessageProps +func (s *AppsDynamiteSharedEmoji) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedEmoji raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamitePinnedItemId struct { - // DriveId: Identifier for a Drive file (e.g. Docs, Sheets, Slides). - DriveId string `json:"driveId,omitempty"` +// AppsDynamiteSharedFindDocumentSuggestion: Data for a FindDocument +// suggestion type. +type AppsDynamiteSharedFindDocumentSuggestion struct { + // DocumentSuggestions: List of documents to render as suggestions. + DocumentSuggestions []*AppsDynamiteSharedDocument `json:"documentSuggestions,omitempty"` - // ForceSendFields is a list of field names (e.g. "DriveId") to - // unconditionally include in API requests. By default, fields with + // ShowActionButtons: Whether to show the action buttons in the card for + // the suggestions. + ShowActionButtons bool `json:"showActionButtons,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:"-"` - // 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 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:"-"` } -func (s *AppsDynamitePinnedItemId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamitePinnedItemId +func (s *AppsDynamiteSharedFindDocumentSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedFindDocumentSuggestion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamitePrivateMessageInfo: Private message information specific -// to a given user. -type AppsDynamitePrivateMessageInfo struct { - // Annotations: Annotations private to {@code userId}. - Annotations []*AppsDynamiteAnnotation `json:"annotations,omitempty"` - - // Attachments: Attachments private to {@code userId}. - Attachments []*AppsDynamiteAttachment `json:"attachments,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"` - ContextualAddOnMarkup []*GoogleChatV1ContextualAddOnMarkup `json:"contextualAddOnMarkup,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"` - GsuiteIntegrationMetadata []*AppsDynamiteGsuiteIntegrationMetadata `json:"gsuiteIntegrationMetadata,omitempty"` + // Items: The items to display in the grid. + Items []*AppsDynamiteSharedGridGridItem `json:"items,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"` + // 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"` - // UserId: Required. The elements in this struct are visible to this - // user. - UserId *AppsDynamiteUserId `json:"userId,omitempty"` + // Title: The text that displays in the grid header. + Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Annotations") to + // 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 @@ -3257,7 +3154,7 @@ type AppsDynamitePrivateMessageInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Annotations") to include + // 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 @@ -3266,85 +3163,48 @@ type AppsDynamitePrivateMessageInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamitePrivateMessageInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamitePrivateMessageInfo +func (s *AppsDynamiteSharedGrid) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGrid raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // AppProfile: Output only. Custom display profile info for apps. Will - // be empty for real users. - AppProfile *AppsDynamiteSharedAppProfile `json:"appProfile,omitempty"` + // Image: The image that displays in the grid item. + Image *AppsDynamiteSharedImageComponent `json:"image,omitempty"` - // BotAttachmentState: Output only. The bot attachment state of the - // quoted message. Used by clients to display a bot attachment indicator - // in the UI. + // Layout: The layout to use for the grid item. // // 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"` + // "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"` - // 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"` + // Subtitle: The grid item's subtitle. + Subtitle string `json:"subtitle,omitempty"` - // MessageState: Output only. The state of the quoted message. Used by - // clients to display tombstones for quotes that reference a deleted - // message. + // TextAlignment: The horizontal alignment of the grid item's text. // // Possible values: - // "MESSAGE_STATE_UNSPECIFIED" - // "MESSAGE_STATE_ACTIVE" - // "MESSAGE_STATE_DELETED" - MessageState string `json:"messageState,omitempty"` - - // RetentionSettings: Output only. The retention (OTR) settings of the - // quoted message. - RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` - - // TextBody: Output only. Snapshot of the text body of the quoted - // message. - TextBody string `json:"textBody,omitempty"` + // "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"` - // UploadMetadata: Output only. Upload metadata of the quoted message. - // NEXT TAG: 11 - UploadMetadata []*AppsDynamiteUploadMetadata `json:"uploadMetadata,omitempty"` + // Title: The grid item's title. + Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -3352,58 +3212,64 @@ type AppsDynamiteQuotedMessageMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteQuotedMessageMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteQuotedMessageMetadata +func (s *AppsDynamiteSharedGridGridItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGridGridItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteReadReceiptsSettingsUpdatedMetadata struct { - // ReadReceiptsEnabled: The new read receipts state. - ReadReceiptsEnabled bool `json:"readReceiptsEnabled,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. "ReadReceiptsEnabled") - // to unconditionally include in API requests. By default, fields with + // 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 // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteReadReceiptsSettingsUpdatedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteReadReceiptsSettingsUpdatedMetadata +func (s *AppsDynamiteSharedGroupDetails) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGroupDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteRequiredMessageFeaturesMetadata: A list of capabilities -// that are used in this message. -type AppsDynamiteRequiredMessageFeaturesMetadata struct { +type AppsDynamiteSharedGroupVisibility struct { // Possible values: - // "REQUIRED_FEATURE_UNSPECIFIED" - // "REQUIRED_FEATURE_MESSAGE_QUOTING" - RequiredFeatures []string `json:"requiredFeatures,omitempty"` + // "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. "RequiredFeatures") 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 @@ -3411,79 +3277,77 @@ type AppsDynamiteRequiredMessageFeaturesMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 - // server as null. It is an 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. "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 *AppsDynamiteRequiredMessageFeaturesMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteRequiredMessageFeaturesMetadata +func (s *AppsDynamiteSharedGroupVisibility) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedGroupVisibility raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteRoomUpdatedMetadata struct { - GroupDetailsMetadata *AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata `json:"groupDetailsMetadata,omitempty"` - - GroupLinkSharingEnabled bool `json:"groupLinkSharingEnabled,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"` - // 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"` + // IconUrl: The icon specified by a URL. + IconUrl string `json:"iconUrl,omitempty"` - // InitiatorType: The type of the user who initiated this room update. + // 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: - // "INITIATOR_TYPE_UNSPECIFIED" - // "INITIATOR_TYPE_END_USER" - // "INITIATOR_TYPE_ADMIN" - InitiatorType string `json:"initiatorType,omitempty"` - - // Name: What was updated in the room. - Name string `json:"name,omitempty"` - - RenameMetadata *AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata `json:"renameMetadata,omitempty"` + // "SQUARE" - Applies no cropping to the image. + // "CIRCLE" - Applies a circular mask to the image. + ImageType string `json:"imageType,omitempty"` - // Visibility: DEPRECATED: See GroupVisibility proto definition. - Visibility *AppsDynamiteSharedGroupVisibility `json:"visibility,omitempty"` + // 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. - // "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 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. "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 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 *AppsDynamiteRoomUpdatedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteRoomUpdatedMetadata +func (s *AppsDynamiteSharedIcon) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedIcon raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata struct { - NewGroupDetails *AppsDynamiteSharedGroupDetails `json:"newGroupDetails,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"` - PrevGroupDetails *AppsDynamiteSharedGroupDetails `json:"prevGroupDetails,omitempty"` + // ImageUrl: An image URL. + ImageUrl string `json:"imageUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewGroupDetails") 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 @@ -3491,29 +3355,35 @@ type AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata +func (s *AppsDynamiteSharedImage) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata struct { - NewName string `json:"newName,omitempty"` +type AppsDynamiteSharedImageComponent struct { + // AltText: The accessibility label for the image. + AltText string `json:"altText,omitempty"` - // PrevName: NEXT_TAG: 3 - PrevName string `json:"prevName,omitempty"` + // BorderStyle: The border style to apply to the image. + BorderStyle *AppsDynamiteSharedBorderStyle `json:"borderStyle,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewName") to + // CropStyle: The crop style to apply to the image. + CropStyle *AppsDynamiteSharedImageCropStyle `json:"cropStyle,omitempty"` + + // 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 @@ -3521,7 +3391,7 @@ type AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata struct { // 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 + // 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 @@ -3530,18 +3400,32 @@ type AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata +func (s *AppsDynamiteSharedImageComponent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImageComponent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteRosterId: Primary key for Roster resource. -type AppsDynamiteRosterId struct { - // Id: Opaque, server-assigned ID of the Roster. - Id string `json:"id,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. "Id") to + // 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 @@ -3549,44 +3433,64 @@ type AppsDynamiteRosterId struct { // 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 + // 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 *AppsDynamiteRosterId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteRosterId +func (s *AppsDynamiteSharedImageCropStyle) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedImageCropStyle raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +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 +} - // 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"` +// 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: - // "SPINNER" - Displays a spinner to indicate that content is loading. - // "NONE" - Nothing is displayed. - LoadIndicator string `json:"loadIndicator,omitempty"` + // "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"` - // Parameters: List of action parameters. - Parameters []*AppsDynamiteSharedActionActionParameter `json:"parameters,omitempty"` + // DocumentOwner: Owner of the document. + DocumentOwner *AppsDynamiteSharedJustificationPerson `json:"documentOwner,omitempty"` - // ForceSendFields is a list of field names (e.g. "Function") to + // 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 @@ -3594,7 +3498,7 @@ type AppsDynamiteSharedAction struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Function") to include in + // 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 @@ -3603,25 +3507,22 @@ type AppsDynamiteSharedAction struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAction) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAction +func (s *AppsDynamiteSharedJustification) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedJustification raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // Value: The value of the parameter. - Value string `json:"value,omitempty"` + // User: Obfuscated user ID. + User *UserId `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "Key") 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 @@ -3629,127 +3530,112 @@ type AppsDynamiteSharedActionActionParameter struct { // 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 + // 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 *AppsDynamiteSharedActionActionParameter) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedActionActionParameter +func (s *AppsDynamiteSharedJustificationPerson) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedJustificationPerson raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - ChatItem *AppsDynamiteSharedChatItem `json:"chatItem,omitempty"` + // 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"` - // 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. - // "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 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 + // sent to the server regardless of whether the field is empty or 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 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 *AppsDynamiteSharedActivityFeedAnnotationData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedActivityFeedAnnotationData +func (s *AppsDynamiteSharedMeetMetadata) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMeetMetadata 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"` +// 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 *MessageId `json:"messageId,omitempty"` - // UpdaterToShow: The updater for clients to show. - UpdaterToShow *AppsDynamiteUserId `json:"updaterToShow,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. - // "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 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 - // server as null. It is an 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 *AppsDynamiteSharedActivityFeedAnnotationDataUserInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedActivityFeedAnnotationDataUserInfo +func (s *AppsDynamiteSharedMessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMessageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedAppProfile: Optional field for apps overriding -// display info -type AppsDynamiteSharedAppProfile struct { - // AvatarEmoji: Displayed user avatar emoji. - AvatarEmoji string `json:"avatarEmoji,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"` - // AvatarUrl: Displayed user avatar url. - AvatarUrl string `json:"avatarUrl,omitempty"` + TasksMessageIntegrationPayload *AppsDynamiteSharedTasksMessageIntegrationPayload `json:"tasksMessageIntegrationPayload,omitempty"` - // Name: Displayed user name. - Name string `json:"name,omitempty"` + // Type: An enum indicating which 1P application's payload this is. This + // field is required to add 1P payload. + // + // Possible values: + // "PAYLOAD_TYPE_UNSPECIFIED" + // "TASKS" + Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvatarEmoji") 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 @@ -3757,7 +3643,7 @@ type AppsDynamiteSharedAppProfile struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvatarEmoji") 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 @@ -3766,28 +3652,27 @@ type AppsDynamiteSharedAppProfile struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAppProfile) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAppProfile +func (s *AppsDynamiteSharedMessageIntegrationPayload) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedMessageIntegrationPayload raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AppsDynamiteSharedOnClick struct { + // Action: If specified, an action is triggered by this onClick. + Action *AppsDynamiteSharedAction `json:"action,omitempty"` - // 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"` + // 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"` - // ForceSendFields is a list of field names (e.g. "Suggestion") to + // 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 @@ -3795,8 +3680,8 @@ type AppsDynamiteSharedAssistantAnnotationData struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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. @@ -3804,19 +3689,42 @@ type AppsDynamiteSharedAssistantAnnotationData struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAssistantAnnotationData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantAnnotationData +func (s *AppsDynamiteSharedOnClick) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOnClick raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedAssistantDebugContext: Represents info regarding -// suggestion debug information. -type AppsDynamiteSharedAssistantDebugContext struct { - // Query: The query that triggered the resulting suggestion. - Query string `json:"query,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"` - // ForceSendFields is a list of field names (e.g. "Query") to + // 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"` + + // Possible values: + // "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"` + + // 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 @@ -3824,7 +3732,7 @@ type AppsDynamiteSharedAssistantDebugContext struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Query") to include in API + // 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 @@ -3833,28 +3741,28 @@ type AppsDynamiteSharedAssistantDebugContext struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAssistantDebugContext) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantDebugContext +func (s *AppsDynamiteSharedOpenLink) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLink raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // 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"` + // 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. "FeedbackChips") 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 @@ -3862,7 +3770,7 @@ type AppsDynamiteSharedAssistantFeedbackContext struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeedbackChips") to include + // 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 @@ -3871,37 +3779,26 @@ type AppsDynamiteSharedAssistantFeedbackContext struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAssistantFeedbackContext) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantFeedbackContext +func (s *AppsDynamiteSharedOpenLinkAppUri) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUri raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "FeedbackChipType") to + // 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 @@ -3909,76 +3806,61 @@ type AppsDynamiteSharedAssistantFeedbackContextFeedbackChip struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `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 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. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAssistantFeedbackContextFeedbackChip) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantFeedbackContextFeedbackChip +func (s *AppsDynamiteSharedOpenLinkAppUriIntent) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUriIntent 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "ContextualSessionId") - // to unconditionally include in API requests. By default, fields with + // Value: Value for the given extra data key. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "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 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 *AppsDynamiteSharedAssistantSessionContext) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantSessionContext +func (s *AppsDynamiteSharedOpenLinkAppUriIntentExtraData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOpenLinkAppUriIntentExtraData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedAssistantSuggestion: Data for an Assistant -// suggestion. -type AppsDynamiteSharedAssistantSuggestion struct { - // DebugContext: Info regarding suggestion debug information. - DebugContext *AppsDynamiteSharedAssistantDebugContext `json:"debugContext,omitempty"` - - // FeedbackContext: Data for rendering feedback. - FeedbackContext *AppsDynamiteSharedAssistantFeedbackContext `json:"feedbackContext,omitempty"` - - // FindDocumentSuggestion: Suggestion type that suggests documents - // (docs, slides, sheets). - FindDocumentSuggestion *AppsDynamiteSharedFindDocumentSuggestion `json:"findDocumentSuggestion,omitempty"` - - // SerializedSuggestions: String representation of the suggestions - // provided. - SerializedSuggestions string `json:"serializedSuggestions,omitempty"` +// AppsDynamiteSharedOrganizationInfo: Contains info about the entity +// that something is, or is owned by. +type AppsDynamiteSharedOrganizationInfo struct { + ConsumerInfo *AppsDynamiteSharedOrganizationInfoConsumerInfo `json:"consumerInfo,omitempty"` - // SessionContext: Session context specific to the Assistant suggestion. - SessionContext *AppsDynamiteSharedAssistantSessionContext `json:"sessionContext,omitempty"` + CustomerInfo *AppsDynamiteSharedOrganizationInfoCustomerInfo `json:"customerInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugContext") to + // 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 @@ -3986,7 +3868,7 @@ type AppsDynamiteSharedAssistantSuggestion struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugContext") to include + // 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 @@ -3995,21 +3877,21 @@ type AppsDynamiteSharedAssistantSuggestion struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAssistantSuggestion) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAssistantSuggestion +func (s *AppsDynamiteSharedOrganizationInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOrganizationInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedAssistantUnfulfillableRequest: Data for a response -// to an unfulfillable request. -type AppsDynamiteSharedAssistantUnfulfillableRequest struct { +// AppsDynamiteSharedOrganizationInfoConsumerInfo: Intentionally empty. +// Used to disambiguate consumer and customer use cases in oneof below. +type AppsDynamiteSharedOrganizationInfoConsumerInfo struct { } -type AppsDynamiteSharedAvatarInfo struct { - Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` +type AppsDynamiteSharedOrganizationInfoCustomerInfo struct { + CustomerId *CustomerId `json:"customerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Emoji") 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 @@ -4017,8 +3899,8 @@ type AppsDynamiteSharedAvatarInfo struct { // 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 + // 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. @@ -4026,157 +3908,87 @@ type AppsDynamiteSharedAvatarInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedAvatarInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedAvatarInfo +func (s *AppsDynamiteSharedOrganizationInfoCustomerInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOrganizationInfoCustomerInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// AppsDynamiteSharedOriginAppSuggestion: Stores the suggestion provided +// by apps/bots. +type AppsDynamiteSharedOriginAppSuggestion struct { + AppId *AppId `json:"appId,omitempty"` - // ContentName: The original file name for the content, not the full - // path. - ContentName string `json:"contentName,omitempty"` + CardClickSuggestion *AppsDynamiteSharedCardClickSuggestion `json:"cardClickSuggestion,omitempty"` - // ContentSize: Scotty reported content size by default. - // http://google3/uploader/agent/scotty_agent.proto?l=101&rcl=140889785 - ContentSize int64 `json:"contentSize,omitempty,string"` + // 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:"-"` - // 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"` + // 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:"-"` +} - // 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"` +func (s *AppsDynamiteSharedOriginAppSuggestion) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedOriginAppSuggestion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // 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"` +type AppsDynamiteSharedPhoneNumber struct { + // Type: The phone number type, e.g., work, mobile, etc. + Type string `json:"type,omitempty"` - // GroupId: GroupId to which this attachment is uploaded. - GroupId *AppsDynamiteGroupId `json:"groupId,omitempty"` + // Value: The actual phone number. + Value string `json:"value,omitempty"` - // OriginalDimension: Original dimension of the content. Only set for - // image attachments. - OriginalDimension *AppsDynamiteSharedDimension `json:"originalDimension,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:"-"` - // 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"` + // 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:"-"` +} - // UploadIp: User IP address at upload time. Ex. "123.1.2.3". Used by - // Ares abuse scanning. - UploadIp string `json:"uploadIp,omitempty"` +func (s *AppsDynamiteSharedPhoneNumber) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedPhoneNumber + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // UploadTimestampUsec: Timestamp of when user finished uploading the - // content. - UploadTimestampUsec int64 `json:"uploadTimestampUsec,omitempty,string"` +type AppsDynamiteSharedReaction struct { + // Count: The total number of users who have reacted. + Count int64 `json:"count,omitempty"` - // 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"` + // CreateTimestamp: When the first emoji of this type was added. + CreateTimestamp int64 `json:"createTimestamp,omitempty,string"` - // VideoThumbnailBlobId: Full Blobstore ID for the video thumbnail. - VideoThumbnailBlobId string `json:"videoThumbnailBlobId,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"` - // 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"` + Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobPath") to + // 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 @@ -4184,8 +3996,8 @@ type AppsDynamiteSharedBackendUploadMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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. @@ -4193,30 +4005,30 @@ type AppsDynamiteSharedBackendUploadMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedBackendUploadMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedBackendUploadMetadata +func (s *AppsDynamiteSharedReaction) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedReaction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedBorderStyle: Represents the complete border style -// applied to widgets. -type AppsDynamiteSharedBorderStyle struct { - // CornerRadius: The corner radius for the border. - CornerRadius int64 `json:"cornerRadius,omitempty"` - - // StrokeColor: The colors to use when the type is `BORDER_TYPE_STROKE`. - StrokeColor *Color `json:"strokeColor,omitempty"` +// 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"` - // Type: The border type. + // State: The retention state. // // Possible values: - // "BORDER_TYPE_UNSPECIFIED" - No value specified. - // "NO_BORDER" - No border. - // "STROKE" - Outline. - Type string `json:"type,omitempty"` + // "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. "CornerRadius") to + // 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 @@ -4224,45 +4036,46 @@ type AppsDynamiteSharedBorderStyle struct { // 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 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 *AppsDynamiteSharedBorderStyle) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedBorderStyle +func (s *AppsDynamiteSharedRetentionSettings) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedRetentionSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // Color: If set, the button is filled with a solid background. - Color *Color `json:"color,omitempty"` +// 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"` - // Disabled: If true, the button is displayed in a disabled state and - // doesn't respond to user actions. - Disabled bool `json:"disabled,omitempty"` + // Label: The label displayed ahead of the switch control. + Label string `json:"label,omitempty"` - // Icon: The icon image. - Icon *AppsDynamiteSharedIcon `json:"icon,omitempty"` + // Name: The name of the text input which is used in formInput. + Name string `json:"name,omitempty"` - // OnClick: The action to perform when the button is clicked. - OnClick *AppsDynamiteSharedOnClick `json:"onClick,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"` - // Text: The text of the button. - Text string `json:"text,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. "AltText") 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 @@ -4270,8 +4083,8 @@ type AppsDynamiteSharedButton struct { // 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 + // 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. @@ -4279,18 +4092,28 @@ type AppsDynamiteSharedButton struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedButton) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedButton +func (s *AppsDynamiteSharedSelectionInput) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSelectionInput raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedButtonList: A list of buttons layed out -// horizontally. -type AppsDynamiteSharedButtonList struct { - Buttons []*AppsDynamiteSharedButton `json:"buttons,omitempty"` +// 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"` - // ForceSendFields is a list of field names (e.g. "Buttons") to + // 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 @@ -4298,7 +4121,7 @@ type AppsDynamiteSharedButtonList struct { // 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 + // 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 @@ -4307,19 +4130,49 @@ type AppsDynamiteSharedButtonList struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedButtonList) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedButtonList +func (s *AppsDynamiteSharedSelectionInputSelectionItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSelectionInputSelectionItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedCalendarEventAnnotationData struct { - CalendarEvent *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent `json:"calendarEvent,omitempty"` +// AppsDynamiteSharedSpaceInfo: Defines the representation of a single +// matching space. +type AppsDynamiteSharedSpaceInfo struct { + AvatarInfo *AppsDynamiteSharedAvatarInfo `json:"avatarInfo,omitempty"` - // EventCreation: Notification about the creation of an event. - EventCreation *AppsDynamiteSharedCalendarEventAnnotationDataEventCreation `json:"eventCreation,omitempty"` + AvatarUrl string `json:"avatarUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "CalendarEvent") to + 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"` + + // 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 @@ -4327,35 +4180,30 @@ type AppsDynamiteSharedCalendarEventAnnotationData struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedCalendarEventAnnotationData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCalendarEventAnnotationData +func (s *AppsDynamiteSharedSpaceInfo) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSpaceInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent struct { - // EndTime: The end time of the event. - EndTime *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime `json:"endTime,omitempty"` - - // EventId: ID of the event. - EventId string `json:"eventId,omitempty"` - - // 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"` +// 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. "EndTime") 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 @@ -4363,8 +4211,8 @@ type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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. @@ -4372,20 +4220,18 @@ type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent +func (s *AppsDynamiteSharedSuggestions) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSuggestions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime struct { - // AllDay: All day event. - AllDay *Date `json:"allDay,omitempty"` - - // Timed: Non all day event. - Timed string `json:"timed,omitempty"` +// 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. "AllDay") 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 @@ -4393,7 +4239,7 @@ type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllDay") 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 @@ -4402,50 +4248,41 @@ type AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime +func (s *AppsDynamiteSharedSuggestionsSuggestionItem) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedSuggestionsSuggestionItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedCalendarEventAnnotationDataEventCreation: Creation -// of an event (no extra data for now). -type AppsDynamiteSharedCalendarEventAnnotationDataEventCreation struct { -} +// 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"` -// 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"` + CompletionChange *AppsDynamiteSharedTasksAnnotationDataCompletionChange `json:"completionChange,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"` + Creation *AppsDynamiteSharedTasksAnnotationDataCreation `json:"creation,omitempty"` - // 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"` + DeletionChange *AppsDynamiteSharedTasksAnnotationDataDeletionChange `json:"deletionChange,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallEndedTimestamp") - // to unconditionally include in API requests. By default, fields with + // 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. "CallEndedTimestamp") to + // 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 @@ -4455,20 +4292,18 @@ type AppsDynamiteSharedCallAnnotationData struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedCallAnnotationData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCallAnnotationData +func (s *AppsDynamiteSharedTasksAnnotationData) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AppsDynamiteSharedTasksAnnotationDataAssigneeChange struct { + // OldAssignee: Obfuscated user ID of previous assignee. Not set if the + // task was originally not assigned. + OldAssignee *UserId `json:"oldAssignee,omitempty"` - // ForceSendFields is a list of field names (e.g. "MeetMetadata") to + // 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 @@ -4476,7 +4311,7 @@ type AppsDynamiteSharedCallMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MeetMetadata") to include + // 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 @@ -4485,57 +4320,51 @@ type AppsDynamiteSharedCallMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedCallMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCallMetadata +func (s *AppsDynamiteSharedTasksAnnotationDataAssigneeChange) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationDataAssigneeChange raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AppsDynamiteSharedTasksAnnotationDataCompletionChange struct { +} - // Header: The header of the card. A header usually contains a title and - // an image. - Header *AppsDynamiteSharedCardCardHeader `json:"header,omitempty"` +type AppsDynamiteSharedTasksAnnotationDataCreation struct { +} - // Name: Name of the card, which is used as a identifier for the card in - // card navigation. - Name string `json:"name,omitempty"` +type AppsDynamiteSharedTasksAnnotationDataDeletionChange struct { +} - // Sections: Sections are separated by a line divider. - Sections []*AppsDynamiteSharedCardSection `json:"sections,omitempty"` +// 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 *UserId `json:"assignee,omitempty"` - // ForceSendFields is a list of field names (e.g. "CardActions") to + // 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 @@ -4543,80 +4372,106 @@ type AppsDynamiteSharedCard struct { // 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 + // 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 *AppsDynamiteSharedCard) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCard +func (s *AppsDynamiteSharedTasksAnnotationDataTaskProperties) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTasksAnnotationDataTaskProperties raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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 { +} - // OnClick: The onclick action for this action item. - OnClick *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` +// AppsDynamiteSharedTasksMessageIntegrationPayload: A payload +// containing Tasks metadata for rendering a live card. Currently not +// used by the Tasks integration. +type AppsDynamiteSharedTasksMessageIntegrationPayload struct { +} - // ForceSendFields is a list of field names (e.g. "ActionLabel") to - // unconditionally include in API requests. By default, fields with +// 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. "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 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 *AppsDynamiteSharedCardCardAction) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCardCardAction +func (s *AppsDynamiteSharedTextInput) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTextInput raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedCardCardHeader struct { - // ImageAltText: The alternative text of this image which is used for - // accessibility. - ImageAltText string `json:"imageAltText,omitempty"` - - // ImageType: The image's type. - // - // Possible values: - // "SQUARE" - Applies no cropping to the image. - // "CIRCLE" - Applies a circular mask to the image. - ImageType string `json:"imageType,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 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"` +// 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. "ImageAltText") 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 @@ -4624,80 +4479,68 @@ type AppsDynamiteSharedCardCardHeader struct { // 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 + // 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 *AppsDynamiteSharedCardCardHeader) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCardCardHeader +func (s *AppsDynamiteSharedTextParagraph) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedTextParagraph raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// AppsDynamiteSharedUserBlockRelationship: User-block relationship +type AppsDynamiteSharedUserBlockRelationship struct { + HasBlockedRequester bool `json:"hasBlockedRequester,omitempty"` - // SuggestionMessageId: The message_id for the message that was posted - // by the app/bot. - SuggestionMessageId *AppsDynamiteMessageId `json:"suggestionMessageId,omitempty"` + IsBlockedByRequester bool `json:"isBlockedByRequester,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionId") to - // unconditionally include in API requests. By default, fields with + // 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. "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. - // This may be used to include null fields in Patch requests. + // 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 *AppsDynamiteSharedCardClickSuggestion) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCardClickSuggestion +func (s *AppsDynamiteSharedUserBlockRelationship) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedUserBlockRelationship raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // Header: The header of the section. Formatted text is supported. - Header string `json:"header,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"` +// 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"` - // Widgets: A section must contain at least 1 widget. - Widgets []*AppsDynamiteSharedWidget `json:"widgets,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. "Collapsible") to + // 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 @@ -4705,36 +4548,118 @@ type AppsDynamiteSharedCardSection struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedCardSection) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCardSection +func (s *AppsDynamiteSharedVideoReference) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedVideoReference raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedChatItem: Next Id: 5 -type AppsDynamiteSharedChatItem struct { - // ActivityInfo: Information needed to render the specific type of feed - // item. - ActivityInfo []*AppsDynamiteSharedChatItemActivityInfo `json:"activityInfo,omitempty"` +// 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"` - // GroupInfo: Only populated on read path and should not be persisted in - // storage. - GroupInfo *AppsDynamiteSharedChatItemGroupInfo `json:"groupInfo,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"` - // MessageInfo: Additional information about the original chat message - // that isn't captured in the top-level message proto. - MessageInfo *AppsDynamiteSharedMessageInfo `json:"messageInfo,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"` - // ForceSendFields is a list of field names (e.g. "ActivityInfo") to + // 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 @@ -4742,31 +4667,44 @@ type AppsDynamiteSharedChatItem struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedChatItem) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItem +func (s *AppsDynamiteSharedWidget) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteSharedWidget raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedChatItemActivityInfo struct { - FeedItemNudge *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge `json:"feedItemNudge,omitempty"` +// 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"` - FeedItemReactions *AppsDynamiteSharedChatItemActivityInfoFeedItemReactions `json:"feedItemReactions,omitempty"` + // Name: Unique identifier for this action. + Name string `json:"name,omitempty"` - FeedItemThreadReply *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply `json:"feedItemThreadReply,omitempty"` + // Style: Button style ("default", "primary", or "danger"). + Style string `json:"style,omitempty"` - FeedItemUserMention *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention `json:"feedItemUserMention,omitempty"` + // Text: User-facing label for the action. + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeedItemNudge") to + // 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 @@ -4774,36 +4712,36 @@ type AppsDynamiteSharedChatItemActivityInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedChatItemActivityInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItemActivityInfo +func (s *AppsDynamiteV1ApiCompatV1Action) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Action raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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: - // "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"` +// AppsDynamiteV1ApiCompatV1ActionConfirm: Confirmation dialog config. +type AppsDynamiteV1ApiCompatV1ActionConfirm struct { + // DismissText: "Cancel" button label. + DismissText string `json:"dismiss_text,omitempty"` - // ForceSendFields is a list of field names (e.g. "NudgeType") to + // 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 @@ -4811,43 +4749,87 @@ type AppsDynamiteSharedChatItemActivityInfoFeedItemNudge struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedChatItemActivityInfoFeedItemNudge) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemNudge +func (s *AppsDynamiteV1ApiCompatV1ActionConfirm) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1ActionConfirm raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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 { -} +// 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"` -// 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" - // "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"` + // AttachmentType: Undocumented - used in interactive button examples. + // The only valid value appears to be "default". + AttachmentType string `json:"attachment_type,omitempty"` - // ForceSendFields is a list of field names (e.g. "ReplyType") to + // 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 @@ -4855,7 +4837,7 @@ type AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ReplyType") to include in + // 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 @@ -4864,25 +4846,26 @@ type AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply +func (s *AppsDynamiteV1ApiCompatV1Attachment) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Attachment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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: - // "TYPE_UNSPECIFIED" - Mention type not specified. - // "DIRECT" - Mentioned directly by name. - // "ALL" - Mentioned by @all. - Type string `json:"type,omitempty"` +// 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"` - // ForceSendFields is a list of field names (e.g. "Type") to + // 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 @@ -4890,7 +4873,7 @@ type AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention 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 + // 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 @@ -4899,97 +4882,41 @@ type AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention +func (s *AppsDynamiteV1ApiCompatV1Field) MarshalJSON() ([]byte, error) { + type NoMethod AppsDynamiteV1ApiCompatV1Field raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// Attachment: Attachments that follow the message text. +type Attachment struct { + // AddOnData: Revised version of Gmail AddOn attachment approved by API + // design review. + AddOnData *GoogleChatV1ContextualAddOnMarkup `json:"addOnData,omitempty"` - GroupName string `json:"groupName,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 *UserId `json:"appId,omitempty"` - // GroupReadTimeUsec: Timestamp of when the group containing the message - // has been read by the user. - GroupReadTimeUsec int64 `json:"groupReadTimeUsec,omitempty,string"` + // AttachmentId: To identify an attachment within repeated in a message + AttachmentId string `json:"attachmentId,omitempty"` - // InlineThreadingEnabled: Indicates whether the group has inline - // replies enabled. If enabled, clients will render the space with - // inline replies. - InlineThreadingEnabled bool `json:"inlineThreadingEnabled,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. - // "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:"-"` + // DeprecatedAddOnData: Deprecated version of Gmail AddOn attachment. + DeprecatedAddOnData *ContextualAddOnMarkup `json:"deprecatedAddOnData,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:"-"` -} - -func (s *AppsDynamiteSharedChatItemGroupInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedChatItemGroupInfo - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// 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"` + // SlackData: Slack attachment. + SlackData *AppsDynamiteV1ApiCompatV1Attachment `json:"slackData,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"` + // 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. "ColumnItems") to + // 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 @@ -4997,58 +4924,42 @@ type AppsDynamiteSharedColumns struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedColumns) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedColumns +func (s *Attachment) MarshalJSON() ([]byte, error) { + type NoMethod Attachment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedColumnsColumn: Represents a Column that consists of -// widgets stacked vertically. -type AppsDynamiteSharedColumnsColumn struct { - // HorizontalAlignment: The horizontal alignment of the column. - // - // 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"` +// 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"` - // 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"` + // LogDataReadActions: Indicates whether audit logging is on/off for + // data access read APIs i.e. ListItems, GetItem etc. + LogDataReadActions bool `json:"logDataReadActions,omitempty"` - // 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"` + // LogDataWriteActions: Indicates whether audit logging is on/off for + // data access write APIs i.e. IndexItem etc. + LogDataWriteActions bool `json:"logDataWriteActions,omitempty"` - // Widgets: LINT.ThenChange(//google/apps/card/v1/card.proto) Array of - // widgets included in the column. - Widgets []*AppsDynamiteSharedColumnsColumnWidgets `json:"widgets,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. "HorizontalAlignment") + // 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 @@ -5056,7 +4967,7 @@ type AppsDynamiteSharedColumnsColumn struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HorizontalAlignment") to + // 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 @@ -5066,37 +4977,28 @@ type AppsDynamiteSharedColumnsColumn struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedColumnsColumn) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedColumnsColumn +func (s *AuditLoggingSettings) MarshalJSON() ([]byte, error) { + type NoMethod AuditLoggingSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedColumnsColumnWidgets: LINT.IfChange The `column` -// widget can contain these widgets. -type AppsDynamiteSharedColumnsColumnWidgets struct { - // ButtonList: ButtonList widget. - ButtonList *AppsDynamiteSharedButtonList `json:"buttonList,omitempty"` - - // DateTimePicker: DateTimePicker widget. - DateTimePicker *AppsDynamiteSharedDateTimePicker `json:"dateTimePicker,omitempty"` - - // 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"` +// 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"` - // TextParagraph: Text paragraph widget. - TextParagraph *AppsDynamiteSharedTextParagraph `json:"textParagraph,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. "ButtonList") 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 @@ -5104,8 +5006,8 @@ type AppsDynamiteSharedColumnsColumnWidgets struct { // 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 + // 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. @@ -5113,34 +5015,16 @@ type AppsDynamiteSharedColumnsColumnWidgets struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedColumnsColumnWidgets) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedColumnsColumnWidgets +func (s *AuthorizedItemId) MarshalJSON() ([]byte, error) { + type NoMethod AuthorizedItemId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type AutoComplete struct { + Items []*AutoCompleteItem `json:"items,omitempty"` - // ForceSendFields is a list of field names (e.g. "SystemViolation") 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 @@ -5148,92 +5032,25 @@ type AppsDynamiteSharedContentReportType struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteSharedContentReportType) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedContentReportType +func (s *AutoComplete) MarshalJSON() ([]byte, error) { + type NoMethod AutoComplete raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` - - // 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"` - - // 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"` +type AutoCompleteItem struct { + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobId") 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 @@ -5241,7 +5058,7 @@ type AppsDynamiteSharedCustomEmoji struct { // 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 + // 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 @@ -5250,111 +5067,75 @@ type AppsDynamiteSharedCustomEmoji struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedCustomEmoji) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedCustomEmoji +func (s *AutoCompleteItem) MarshalJSON() ([]byte, error) { + type NoMethod AutoCompleteItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// BabelMessageProps: 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 BabelMessageProps struct { + // ClientGeneratedId: Babel clients locally generate this ID to dedupe + // against the async fanout. + ClientGeneratedId int64 `json:"clientGeneratedId,omitempty,string"` - // Name: The name of the text input that's used in formInput, and - // uniquely identifies this input. - Name string `json:"name,omitempty"` + // ContentExtension: Stores additional Babel-specific properties (such + // as event metadata). + ContentExtension *ChatContentExtension `json:"contentExtension,omitempty"` - // 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"` + // DeliveryMedium: Stores the delivery source of messages (such as phone + // number for SMS). + DeliveryMedium *DeliveryMedium `json:"deliveryMedium,omitempty"` - // 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"` + // EventId: Primary identifier used by Hangouts Classic for its events + // (messages). + EventId string `json:"eventId,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"` + // MessageContent: Stores message segments (text content) and + // attachments (media URLs). + MessageContent *ChatConserverMessageContent `json:"messageContent,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"` + // 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. "Label") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *AppsDynamiteSharedDateTimePicker) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDateTimePicker +func (s *BabelMessageProps) MarshalJSON() ([]byte, error) { + type NoMethod BabelMessageProps raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // Button: A button that can be clicked to trigger an action. - Button *AppsDynamiteSharedButton `json:"button,omitempty"` - - // EndIcon: An icon displayed after the text. - EndIcon *AppsDynamiteSharedIcon `json:"endIcon,omitempty"` - - // 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"` +// BabelPlaceholderMetadata: Annotation metadata for Babel-only items +// that signals which type of placeholder message should be displayed in +// Babel clients. +type BabelPlaceholderMetadata struct { + DeleteMetadata *DeleteMetadata `json:"deleteMetadata,omitempty"` - // TopLabel: The formatted text label that shows above the main text. - TopLabel string `json:"topLabel,omitempty"` + EditMetadata *EditMetadata `json:"editMetadata,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"` + HangoutVideoMetadata *HangoutVideoEventMetadata `json:"hangoutVideoMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "BottomLabel") to + // 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 @@ -5362,43 +5143,38 @@ type AppsDynamiteSharedDecoratedText struct { // 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 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 *AppsDynamiteSharedDecoratedText) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDecoratedText +func (s *BabelPlaceholderMetadata) MarshalJSON() ([]byte, error) { + type NoMethod BabelPlaceholderMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -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"` - - // Name: The name of the switch widget that's used in formInput. - Name string `json:"name,omitempty"` - - // OnChangeAction: The action when the switch state is changed. - OnChangeAction *AppsDynamiteSharedAction `json:"onChangeAction,omitempty"` - - // 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"` +// 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. "ControlType") 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 @@ -5406,7 +5182,7 @@ type AppsDynamiteSharedDecoratedTextSwitchControl struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ControlType") 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 @@ -5415,19 +5191,19 @@ type AppsDynamiteSharedDecoratedTextSwitchControl struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedDecoratedTextSwitchControl) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDecoratedTextSwitchControl +func (s *BooleanOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod BooleanOperatorOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedDimension: Dimension for the uploaded attachments. -type AppsDynamiteSharedDimension struct { - Height int64 `json:"height,omitempty"` - - Width int64 `json:"width,omitempty"` +// 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. "Height") 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 @@ -5435,51 +5211,40 @@ type AppsDynamiteSharedDimension struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 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 *AppsDynamiteSharedDimension) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDimension +func (s *BooleanPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod BooleanPropertyOptions raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedDivider: A divider that appears in between widgets. -type AppsDynamiteSharedDivider struct { -} +// 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"` -// AppsDynamiteSharedDlpMetricsMetadata: LINT.IfChange -type AppsDynamiteSharedDlpMetricsMetadata struct { - // DlpStatus: [required] Describes the DLP status of message send and - // attachment upload events. + // StrokeColor: The colors to use when the type is STROKE. + StrokeColor string `json:"strokeColor,omitempty"` + + // Type: The border type. // // 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"` + // "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. "DlpStatus") 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 @@ -5487,44 +5252,85 @@ type AppsDynamiteSharedDlpMetricsMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedDlpMetricsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDlpMetricsMetadata +func (s *BorderStyle) MarshalJSON() ([]byte, error) { + type NoMethod BorderStyle raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedDocument: Data for rendering a document. -type AppsDynamiteSharedDocument struct { - // FileId: Unique file ID. - FileId string `json:"fileId,omitempty"` +// BotInfo: Bot-specific profile information. +type BotInfo struct { + // AppId: Identifier of the application associated with the bot. + AppId *AppId `json:"appId,omitempty"` - // Justification: Justification to explain why this document is being - // suggested. - Justification *AppsDynamiteSharedJustification `json:"justification,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"` - // LastModifiedTime: Time the document was last modified. - LastModifiedTime string `json:"lastModifiedTime,omitempty"` + // 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"` - // MimeType: Used to determine which icon to render (e.g. docs, slides, - // sheets) - MimeType string `json:"mimeType,omitempty"` + // Description: Short description for the bot. + Description string `json:"description,omitempty"` - // Title: Title of the document. - Title string `json:"title,omitempty"` + // DeveloperName: Name of bot developer. + DeveloperName string `json:"developerName,omitempty"` - // Url: URL of the document. - Url string `json:"url,omitempty"` + // MarketPlaceBannerUrl: URL for the banner image in GSuite Market + // Place. The banner will be 220x140. + MarketPlaceBannerUrl string `json:"marketPlaceBannerUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "FileId") to + // 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 *SupportUrls `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 @@ -5532,7 +5338,7 @@ type AppsDynamiteSharedDocument struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FileId") to include in API + // 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 @@ -5541,20 +5347,40 @@ type AppsDynamiteSharedDocument struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedDocument) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedDocument +func (s *BotInfo) MarshalJSON() ([]byte, error) { + type NoMethod BotInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedEmoji struct { - // CustomEmoji: A custom emoji. - CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` +// BotResponse: Information about a bot response, branched from +// shared/bot_response.proto without frontend User proto as we never +// store it. +type BotResponse struct { + BotId *UserId `json:"botId,omitempty"` - // Unicode: A basic emoji represented by a unicode string. - Unicode string `json:"unicode,omitempty"` + // Possible values: + // "UNKNOWN_SETUP_TYPE" + // "CONFIGURATION" - Bot requires configuration. + // "AUTHENTICATION" - Bot requires authentication. + RequiredAction string `json:"requiredAction,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomEmoji") to + // 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 @@ -5562,7 +5388,49 @@ type AppsDynamiteSharedEmoji 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. "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 + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BotResponse) MarshalJSON() ([]byte, error) { + type NoMethod BotResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// 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 @@ -5571,23 +5439,28 @@ type AppsDynamiteSharedEmoji struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedEmoji) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedEmoji +func (s *BroadcastAccess) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastAccess raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedFindDocumentSuggestion: Data for a FindDocument -// suggestion type. -type AppsDynamiteSharedFindDocumentSuggestion struct { - // DocumentSuggestions: List of documents to render as suggestions. - DocumentSuggestions []*AppsDynamiteSharedDocument `json:"documentSuggestions,omitempty"` +// BroadcastSessionInfo: Information about a broadcast session. +type BroadcastSessionInfo struct { + // BroadcastSessionId: A unique server-generated ID for the broadcast + // session. + BroadcastSessionId string `json:"broadcastSessionId,omitempty"` - // ShowActionButtons: Whether to show the action buttons in the card for - // the suggestions. - ShowActionButtons bool `json:"showActionButtons,omitempty"` + // BroadcastStats: Output only. Current broadcast session's statistics. + BroadcastStats *BroadcastStats `json:"broadcastStats,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentSuggestions") + // 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 @@ -5595,7 +5468,7 @@ type AppsDynamiteSharedFindDocumentSuggestion struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSuggestions") to + // 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 @@ -5605,36 +5478,48 @@ type AppsDynamiteSharedFindDocumentSuggestion struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedFindDocumentSuggestion) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedFindDocumentSuggestion +func (s *BroadcastSessionInfo) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastSessionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// BroadcastStats: Statistics of the broadcast session. +type BroadcastStats struct { + // EstimatedViewerCount: Estimated concurrent viewer count. + EstimatedViewerCount int64 `json:"estimatedViewerCount,omitempty,string"` - // 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"` + // 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:"-"` - // Items: The items to display in the grid. - Items []*AppsDynamiteSharedGridGridItem `json:"items,omitempty"` + // 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:"-"` +} - // 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"` +func (s *BroadcastStats) MarshalJSON() ([]byte, error) { + type NoMethod BroadcastStats + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Title: The text that displays in the grid header. - Title string `json:"title,omitempty"` +type Button struct { + ImageButton *ImageButton `json:"imageButton,omitempty"` - // ForceSendFields is a list of field names (e.g. "BorderStyle") to + 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 @@ -5642,7 +5527,7 @@ type AppsDynamiteSharedGrid struct { // 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 + // 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 @@ -5651,83 +5536,210 @@ type AppsDynamiteSharedGrid struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedGrid) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedGrid +func (s *Button) MarshalJSON() ([]byte, error) { + type NoMethod Button raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // Image: The image that displays in the grid item. - Image *AppsDynamiteSharedImageComponent `json:"image,omitempty"` +// 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"` - // 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"` + // 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"` - // Subtitle: The grid item's subtitle. - Subtitle string `json:"subtitle,omitempty"` + // AttachedDocuments: Output only. Documents attached to an ongoing + // conference. + AttachedDocuments []*DocumentInfo `json:"attachedDocuments,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"` + // 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"` - // Title: The grid item's title. - Title string `json:"title,omitempty"` + // BroadcastSessionInfo: Information about active broadcast session in + // the ongoing conference. + BroadcastSessionInfo *BroadcastSessionInfo `json:"broadcastSessionInfo,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. + // 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"` + + // ChatConfig: Configuration for the chat for this conference. + ChatConfig *ChatConfig `json:"chatConfig,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. "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 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 *AppsDynamiteSharedGridGridItem) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedGridGridItem +func (s *CallInfo) MarshalJSON() ([]byte, error) { + type NoMethod CallInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // Guidelines: A simple text describing the rules and expectations from - // members when participating in conversation. - Guidelines string `json:"guidelines,omitempty"` + // AttendanceReportEnabled: Indicates whether the attendance report is + // currently enabled or disabled. + AttendanceReportEnabled bool `json:"attendanceReportEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to + // 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 @@ -5735,73 +5747,84 @@ type AppsDynamiteSharedGroupDetails 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 + // 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 *AppsDynamiteSharedGroupDetails) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedGroupDetails +func (s *CallSettings) MarshalJSON() ([]byte, error) { + type NoMethod CallSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -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"` +// 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. "State") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *AppsDynamiteSharedGroupVisibility) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedGroupVisibility +func (s *CapTokenHolderProto) MarshalJSON() ([]byte, error) { + type NoMethod CapTokenHolderProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -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"` - - // IconUrl: The icon specified by a URL. - IconUrl string `json:"iconUrl,omitempty"` +type Card struct { + CardActions []*CardAction `json:"cardActions,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"` + // "DISPLAY_STYLE_UNSPECIFIED" + // "PEEK" + // "REPLACE" + DisplayStyle string `json:"displayStyle,omitempty"` - // KnownIcon: The icon specified by the string name of a list of known - // icons - KnownIcon string `json:"knownIcon,omitempty"` + FixedFooter *FixedFooter `json:"fixedFooter,omitempty"` - // ForceSendFields is a list of field names (e.g. "AltText") to + 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 @@ -5809,33 +5832,32 @@ type AppsDynamiteSharedIcon struct { // 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 + // 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 *AppsDynamiteSharedIcon) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedIcon +func (s *Card) MarshalJSON() ([]byte, error) { + type NoMethod Card raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // ImageUrl: An image URL. - ImageUrl string `json:"imageUrl,omitempty"` +// 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 *AppsDynamiteSharedOnClick `json:"onClick,omitempty"` + OnClick *OnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "AltText") to + // 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 @@ -5843,77 +5865,80 @@ type AppsDynamiteSharedImage struct { // 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 + // 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 *AppsDynamiteSharedImage) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedImage +func (s *CardAction) MarshalJSON() ([]byte, error) { + type NoMethod CardAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedImageComponent struct { - // AltText: The accessibility label for the image. - AltText string `json:"altText,omitempty"` - - // BorderStyle: The border style to apply to the image. - BorderStyle *AppsDynamiteSharedBorderStyle `json:"borderStyle,omitempty"` - - // CropStyle: The crop style to apply to the image. - CropStyle *AppsDynamiteSharedImageCropStyle `json:"cropStyle,omitempty"` - - // ImageUri: The image URL. - ImageUri string `json:"imageUri,omitempty"` +type CardCapabilityMetadata struct { + // RequiredCapabilities: NEXT TAG : 2 + // + // Possible values: + // "UNKNOWN" + // "SUPPORTS_BASE_CARDS" - NEXT TAG : 2 + RequiredCapabilities []string `json:"requiredCapabilities,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 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:"-"` - // 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 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:"-"` } -func (s *AppsDynamiteSharedImageComponent) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedImageComponent +func (s *CardCapabilityMetadata) MarshalJSON() ([]byte, error) { + type NoMethod CardCapabilityMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +type CardHeader struct { + // ImageAltText: The alternative text of this image which will be used + // for accessibility. + ImageAltText string `json:"imageAltText,omitempty"` - // Type: The crop type. - // // Possible values: - // "IMAGE_CROP_TYPE_UNSPECIFIED" - No value specified. + // "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"` + ImageStyle string `json:"imageStyle,omitempty"` - // ForceSendFields is a list of field names (e.g. "AspectRatio") to + 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 @@ -5921,7 +5946,7 @@ type AppsDynamiteSharedImageCropStyle struct { // 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 + // 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 @@ -5930,55 +5955,26 @@ type AppsDynamiteSharedImageCropStyle struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedImageCropStyle) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedImageCropStyle +func (s *CardHeader) MarshalJSON() ([]byte, error) { + type NoMethod CardHeader raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -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 -} - -// 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. +// ChatConfig: Configuration of the in meeting chat. +type ChatConfig struct { + // ChatType: The Type of chat this Conference is currently using. // // 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"` + // "CHAT_TYPE_UNSPECIFIED" - Chat Type has not been specified. + // "MEET_CHAT" - Meets native chat. + // "GOOGLE_CHAT" - Google Chat. + ChatType string `json:"chatType,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"` + // GoogleChatConfig: The configuration of Google Chat when selected. + GoogleChatConfig *GoogleChatConfig `json:"googleChatConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionTime") to + // ForceSendFields is a list of field names (e.g. "ChatType") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -5986,7 +5982,7 @@ type AppsDynamiteSharedJustification struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActionTime") to include in + // NullFields is a list of field names (e.g. "ChatType") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -5995,59 +5991,64 @@ type AppsDynamiteSharedJustification struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedJustification) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedJustification +func (s *ChatConfig) MarshalJSON() ([]byte, error) { + type NoMethod ChatConfig raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// ChatConserverDynamitePlaceholderMetadata: 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 ChatConserverDynamitePlaceholderMetadata struct { + AttachmentMetadata *ChatConserverDynamitePlaceholderMetadataAttachmentMetadata `json:"attachmentMetadata,omitempty"` - // User: Obfuscated user ID. - User *AppsDynamiteUserId `json:"user,omitempty"` + BotMessageMetadata *ChatConserverDynamitePlaceholderMetadataBotMessageMetadata `json:"botMessageMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsRecipient") to - // unconditionally include in API requests. By default, fields with + CalendarEventMetadata *ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata `json:"calendarEventMetadata,omitempty"` + + DeleteMetadata *ChatConserverDynamitePlaceholderMetadataDeleteMetadata `json:"deleteMetadata,omitempty"` + + EditMetadata *ChatConserverDynamitePlaceholderMetadataEditMetadata `json:"editMetadata,omitempty"` + + // SpaceUrl: The space URL embedded in the localized string. + SpaceUrl string `json:"spaceUrl,omitempty"` + + TasksMetadata *ChatConserverDynamitePlaceholderMetadataTasksMetadata `json:"tasksMetadata,omitempty"` + + VideoCallMetadata *ChatConserverDynamitePlaceholderMetadataVideoCallMetadata `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. "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 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 *AppsDynamiteSharedJustificationPerson) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedJustificationPerson +func (s *ChatConserverDynamitePlaceholderMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ChatConserverDynamitePlaceholderMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // 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"` +// ChatConserverDynamitePlaceholderMetadataAttachmentMetadata: An +// attachment uploaded in Dynamite and its filename. +type ChatConserverDynamitePlaceholderMetadataAttachmentMetadata struct { + Filename string `json:"filename,omitempty"` - // ForceSendFields is a list of field names (e.g. "MeetingCode") to + // 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 @@ -6055,35 +6056,52 @@ type AppsDynamiteSharedMeetMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedMeetMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedMeetMetadata +func (s *ChatConserverDynamitePlaceholderMetadataAttachmentMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ChatConserverDynamitePlaceholderMetadataAttachmentMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// ChatConserverDynamitePlaceholderMetadataBotMessageMetadata: A bot +// sent a message in Dynamite. +type ChatConserverDynamitePlaceholderMetadataBotMessageMetadata struct { +} - // 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"` +// ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata: A +// Calendar event message in Dynamite. +type ChatConserverDynamitePlaceholderMetadataCalendarEventMetadata struct { +} - // ForceSendFields is a list of field names (e.g. "MessageId") to +// ChatConserverDynamitePlaceholderMetadataDeleteMetadata: A message was +// deleted in Dynamite. +type ChatConserverDynamitePlaceholderMetadataDeleteMetadata struct { +} + +// ChatConserverDynamitePlaceholderMetadataEditMetadata: An edit was +// made in Dynamite. +type ChatConserverDynamitePlaceholderMetadataEditMetadata struct { +} + +// ChatConserverDynamitePlaceholderMetadataTasksMetadata: A Tasks +// message in Dynamite. +type ChatConserverDynamitePlaceholderMetadataTasksMetadata struct { +} + +// ChatConserverDynamitePlaceholderMetadataVideoCallMetadata: A Meet +// initiated in Dynamite and its URL. +type ChatConserverDynamitePlaceholderMetadataVideoCallMetadata struct { + MeetingUrl string `json:"meetingUrl,omitempty"` + + // 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 @@ -6091,7 +6109,7 @@ type AppsDynamiteSharedMessageInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MessageId") to include in + // 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 @@ -6100,30 +6118,28 @@ type AppsDynamiteSharedMessageInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedMessageInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedMessageInfo +func (s *ChatConserverDynamitePlaceholderMetadataVideoCallMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ChatConserverDynamitePlaceholderMetadataVideoCallMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// ChatConserverMessageContent: 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 ChatConserverMessageContent 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 []*SocialCommonAttachmentAttachment `json:"attachment,omitempty"` - // Type: An enum indicating which 1P application's payload this is. This - // field is required to add 1P payload. - // - // Possible values: - // "PAYLOAD_TYPE_UNSPECIFIED" - // "TASKS" - Type string `json:"type,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. "ProjectNumber") to + // 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 @@ -6131,36 +6147,62 @@ type AppsDynamiteSharedMessageIntegrationPayload struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedMessageIntegrationPayload) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedMessageIntegrationPayload +func (s *ChatConserverMessageContent) MarshalJSON() ([]byte, error) { + type NoMethod ChatConserverMessageContent raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedOnClick struct { - // Action: If specified, an action is triggered by this onClick. - Action *AppsDynamiteSharedAction `json:"action,omitempty"` +// ChatContentExtension: NEXT ID: 12 +type ChatContentExtension struct { + // Annotation: Annotations to decorate this event. + Annotation []*EventAnnotation `json:"annotation,omitempty"` - // 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"` + // 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 *ChatConserverDynamitePlaceholderMetadata `json:"dynamitePlaceholderMetadata,omitempty"` - // OpenLink: If specified, this onClick triggers an open link action. - OpenLink *AppsDynamiteSharedOpenLink `json:"openLink,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"` - // ForceSendFields is a list of field names (e.g. "Action") to + // 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 @@ -6168,8 +6210,8 @@ type AppsDynamiteSharedOnClick struct { // 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 + // 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. @@ -6177,42 +6219,29 @@ type AppsDynamiteSharedOnClick struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOnClick) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOnClick +func (s *ChatContentExtension) MarshalJSON() ([]byte, error) { + type NoMethod ChatContentExtension raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -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"` - - // 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"` - - // Possible values: - // "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"` +// 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"` - // Url: The URL to open. - Url string `json:"url,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. "AppUri") to + // 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 @@ -6220,7 +6249,7 @@ type AppsDynamiteSharedOpenLink struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppUri") to include in API + // 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 @@ -6229,28 +6258,22 @@ type AppsDynamiteSharedOpenLink struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOpenLink) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOpenLink +func (s *ChatProto) MarshalJSON() ([]byte, error) { + type NoMethod ChatProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // CompanionUri: A companion uri string to be opened in the chat - // companion window. on the web. - CompanionUri string `json:"companionUri,omitempty"` +type CheckAccessResponse struct { + // HasAccess: Returns true if principal has access. Returns false + // otherwise. + HasAccess bool `json:"hasAccess,omitempty"` - // IosUri: A uri string to be opened in the corresponding iOS hosting - // app. - IosUri string `json:"iosUri,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AndroidIntent") to + // 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 @@ -6258,35 +6281,49 @@ type AppsDynamiteSharedOpenLinkAppUri struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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 *AppsDynamiteSharedOpenLinkAppUri) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOpenLinkAppUri +func (s *CheckAccessResponse) MarshalJSON() ([]byte, error) { + type NoMethod CheckAccessResponse 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"` +// 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"` - // 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"` + // OwnerGaiaId: The owner of the circle. Currently required. + OwnerGaiaId int64 `json:"ownerGaiaId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ExtraData") to + // 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 @@ -6294,7 +6331,7 @@ type AppsDynamiteSharedOpenLinkAppUriIntent struct { // 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 + // 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 @@ -6303,22 +6340,20 @@ type AppsDynamiteSharedOpenLinkAppUriIntent struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOpenLinkAppUriIntent) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOpenLinkAppUriIntent +func (s *CircleProto) MarshalJSON() ([]byte, error) { + type NoMethod CircleProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` - - // Value: Value for the given extra data key. - Value string `json:"value,omitempty"` +// 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. "Key") 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 @@ -6326,7 +6361,7 @@ type AppsDynamiteSharedOpenLinkAppUriIntentExtraData struct { // 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 + // 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 @@ -6335,20 +6370,33 @@ type AppsDynamiteSharedOpenLinkAppUriIntentExtraData struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOpenLinkAppUriIntentExtraData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOpenLinkAppUriIntentExtraData +func (s *CloudPrincipalProto) MarshalJSON() ([]byte, error) { + type NoMethod CloudPrincipalProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedOrganizationInfo: Contains info about the entity -// that something is, or is owned by. -type AppsDynamiteSharedOrganizationInfo struct { - ConsumerInfo *AppsDynamiteSharedOrganizationInfoConsumerInfo `json:"consumerInfo,omitempty"` +// 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"` - CustomerInfo *AppsDynamiteSharedOrganizationInfoCustomerInfo `json:"customerInfo,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. "ConsumerInfo") to + // 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 @@ -6356,7 +6404,7 @@ type AppsDynamiteSharedOrganizationInfo struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConsumerInfo") to include + // 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 @@ -6365,21 +6413,25 @@ type AppsDynamiteSharedOrganizationInfo struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOrganizationInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOrganizationInfo +func (s *CoActivity) MarshalJSON() ([]byte, error) { + type NoMethod CoActivity 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 { -} +// Collaboration: Information about a collaboration session. +type Collaboration struct { + // AttachmentId: The attachment being collaborated on. + AttachmentId string `json:"attachmentId,omitempty"` -type AppsDynamiteSharedOrganizationInfoCustomerInfo struct { - CustomerId *AppsDynamiteCustomerId `json:"customerId,omitempty"` + // Initiator: Display info of the user who initiated the collaboration + // session. + Initiator *UserDisplayInfo `json:"initiator,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomerId") to + // 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 @@ -6387,29 +6439,100 @@ type AppsDynamiteSharedOrganizationInfoCustomerInfo struct { // 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 + // 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 *AppsDynamiteSharedOrganizationInfoCustomerInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOrganizationInfoCustomerInfo +func (s *Collaboration) MarshalJSON() ([]byte, error) { + type NoMethod Collaboration raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedOriginAppSuggestion: Stores the suggestion provided -// by apps/bots. -type AppsDynamiteSharedOriginAppSuggestion struct { - AppId *AppsDynamiteAppId `json:"appId,omitempty"` +// 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"` - CardClickSuggestion *AppsDynamiteSharedCardClickSuggestion `json:"cardClickSuggestion,omitempty"` + // Blue: The amount of blue in the color as a value in the interval [0, + // 1]. + Blue float64 `json:"blue,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppId") to + // 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 @@ -6417,7 +6540,7 @@ type AppsDynamiteSharedOriginAppSuggestion struct { // 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 + // 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 @@ -6426,20 +6549,45 @@ type AppsDynamiteSharedOriginAppSuggestion struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOriginAppSuggestion) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOriginAppSuggestion +func (s *Color) MarshalJSON() ([]byte, error) { + type NoMethod Color raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedPhoneNumber struct { - // Type: The phone number type, e.g., work, mobile, etc. - Type string `json:"type,omitempty"` +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 +} - // Value: The actual phone number. - Value string `json:"value,omitempty"` +// CommunalLabelTag: An individual instance (or "tag") of a label +// configured as a communal type that's associated with a message. +type CommunalLabelTag 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"` - // ForceSendFields is a list of field names (e.g. "Type") to + // 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. "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 @@ -6447,36 +6595,35 @@ type AppsDynamiteSharedPhoneNumber 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 + // 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 *AppsDynamiteSharedPhoneNumber) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedPhoneNumber +func (s *CommunalLabelTag) MarshalJSON() ([]byte, error) { + type NoMethod CommunalLabelTag raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedReaction struct { - // Count: The total number of users who have reacted. - Count int64 `json:"count,omitempty"` - - // CreateTimestamp: When the first emoji of this type was added. - CreateTimestamp int64 `json:"createTimestamp,omitempty,string"` - - // 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"` +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"` - Emoji *AppsDynamiteSharedEmoji `json:"emoji,omitempty"` + // SubFilters: Sub filters. + SubFilters []*Filter `json:"subFilters,omitempty"` - // ForceSendFields is a list of field names (e.g. "Count") to + // 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 @@ -6484,47 +6631,37 @@ type AppsDynamiteSharedReaction 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. "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 *AppsDynamiteSharedReaction) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedReaction +func (s *CompositeFilter) MarshalJSON() ([]byte, error) { + type NoMethod CompositeFilter raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// ConsentedAppUnfurlMetadata: Annotation metadata app unfurl consent. +type ConsentedAppUnfurlMetadata struct { + // ClientSpecifiedAppId: Client specified AppId, which will not be + // sanitized and is untrusted. + ClientSpecifiedAppId *UserId `json:"clientSpecifiedAppId,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 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:"-"` - // NullFields is a list of field names (e.g. "ExpiryTimestamp") to + // 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 @@ -6534,36 +6671,36 @@ type AppsDynamiteSharedRetentionSettings struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedRetentionSettings) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedRetentionSettings +func (s *ConsentedAppUnfurlMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ConsentedAppUnfurlMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// 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"` +// 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"` - // 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"` + OwnerGaiaId int64 `json:"ownerGaiaId,omitempty,string"` - // 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"` + // 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. "Items") to + // 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 @@ -6571,8 +6708,8 @@ type AppsDynamiteSharedSelectionInput 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. "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. @@ -6580,118 +6717,102 @@ type AppsDynamiteSharedSelectionInput struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedSelectionInput) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSelectionInput +func (s *ContactGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod ContactGroupProto 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"` +type ContentReport struct { + // ReportCreateTimestamp: The time at which the report is generated. + // Always populated when it is in a response. + ReportCreateTimestamp string `json:"reportCreateTimestamp,omitempty"` - // Text: The text to be displayed. - Text string `json:"text,omitempty"` + // ReportJustification: Additional user-provided justification on the + // report. Optional. + ReportJustification *ContentReportJustification `json:"reportJustification,omitempty"` - // Value: The value associated with this item. The client should use - // this as a form input value. - Value string `json:"value,omitempty"` + // ReportType: Type of the report. Always populated when it is in a + // response. + ReportType *AppsDynamiteSharedContentReportType `json:"reportType,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. + // ReporterUserId: User ID of the reporter. Always populated when it is + // in a response. + ReporterUserId *UserId `json:"reporterUserId,omitempty"` + + // 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. "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 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 *AppsDynamiteSharedSelectionInputSelectionItem) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSelectionInputSelectionItem +func (s *ContentReport) MarshalJSON() ([]byte, error) { + type NoMethod ContentReport 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"` +type ContentReportJustification 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. "AvatarInfo") 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. "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 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 *AppsDynamiteSharedSpaceInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSpaceInfo +func (s *ContentReportJustification) MarshalJSON() ([]byte, error) { + type NoMethod ContentReportJustification 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"` +// ContentReportSummary: 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 ContentReportSummary struct { + // NumberReports: Total number of reports attached to this (revision of) + // message. + NumberReports int64 `json:"numberReports,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") to + // 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. "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 @@ -6699,27 +6820,38 @@ type AppsDynamiteSharedSuggestions 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 - // 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. "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 // null. It is an error if a field 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 +func (s *ContentReportSummary) MarshalJSON() ([]byte, error) { + type NoMethod ContentReportSummary 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "Text") to + // 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 @@ -6727,7 +6859,7 @@ type AppsDynamiteSharedSuggestionsSuggestionItem struct { // 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 + // 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 @@ -6736,33 +6868,38 @@ type AppsDynamiteSharedSuggestionsSuggestionItem struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedSuggestionsSuggestionItem) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSuggestionsSuggestionItem +func (s *ContextAttribute) MarshalJSON() ([]byte, error) { + type NoMethod ContextAttribute 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"` +// 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"` - UserDefinedMessage *AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage `json:"userDefinedMessage,omitempty"` + // Toolbar: Deprecated. + Toolbar *Toolbar `json:"toolbar,omitempty"` - // ForceSendFields is a list of field names (e.g. "AssigneeChange") to + // 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 @@ -6770,28 +6907,34 @@ type AppsDynamiteSharedTasksAnnotationData struct { // 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 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 *AppsDynamiteSharedTasksAnnotationData) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedTasksAnnotationData +func (s *ContextualAddOnMarkup) MarshalJSON() ([]byte, error) { + type NoMethod ContextualAddOnMarkup 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "OldAssignee") to + // 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 @@ -6799,60 +6942,53 @@ type AppsDynamiteSharedTasksAnnotationDataAssigneeChange struct { // 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 + // 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 *AppsDynamiteSharedTasksAnnotationDataAssigneeChange) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedTasksAnnotationDataAssigneeChange +func (s *CseInfo) MarshalJSON() ([]byte, error) { + type NoMethod CseInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedTasksAnnotationDataCompletionChange struct { -} +type CustomEmojiMetadata struct { + CustomEmoji *AppsDynamiteSharedCustomEmoji `json:"customEmoji,omitempty"` -type AppsDynamiteSharedTasksAnnotationDataCreation struct { -} + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` -type AppsDynamiteSharedTasksAnnotationDataDeletionChange struct { + // 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:"-"` } -// 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"` +func (s *CustomEmojiMetadata) MarshalJSON() ([]byte, error) { + type NoMethod CustomEmojiMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Title: The title of the task. - Title string `json:"title,omitempty"` +// CustomerId: Represents a GSuite customer ID. Obfuscated with +// CustomerIdObfuscator. +type CustomerId struct { + CustomerId string `json:"customerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Assignee") 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 @@ -6860,7 +6996,7 @@ type AppsDynamiteSharedTasksAnnotationDataTaskProperties struct { // 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 + // 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 @@ -6869,97 +7005,52 @@ type AppsDynamiteSharedTasksAnnotationDataTaskProperties struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedTasksAnnotationDataTaskProperties) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedTasksAnnotationDataTaskProperties +func (s *CustomerId) MarshalJSON() ([]byte, error) { + type NoMethod CustomerId 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"` +// 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"` - // Value: The default value when there is no input from the user. - Value string `json:"value,omitempty"` + // ItemCountByStatus: Number of items aggregrated by status code. + ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` - // ForceSendFields is a list of field names (e.g. "AutoCompleteAction") - // to unconditionally include in API requests. By default, fields with + // 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. "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 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 *AppsDynamiteSharedTextInput) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedTextInput +func (s *CustomerIndexStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerIndexStats 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"` +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"` - // ForceSendFields is a list of field names (e.g. "Text") to + 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 @@ -6967,7 +7058,7 @@ type AppsDynamiteSharedTextParagraph struct { // 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 + // 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 @@ -6976,59 +7067,54 @@ type AppsDynamiteSharedTextParagraph struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedTextParagraph) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedTextParagraph +func (s *CustomerQueryStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerQueryStats raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedUserBlockRelationship: User-block relationship -type AppsDynamiteSharedUserBlockRelationship struct { - HasBlockedRequester bool `json:"hasBlockedRequester,omitempty"` +// 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"` - IsBlockedByRequester bool `json:"isBlockedByRequester,omitempty"` + // Date: The date for which search application stats were calculated. + Date *Date `json:"date,omitempty"` - // ForceSendFields is a list of field names (e.g. "HasBlockedRequester") - // to unconditionally include in API requests. By default, fields with + // 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. "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 + // 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) } -// 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"` +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"` - // Status: Transcode status - // - // Possible values: - // "UNKNOWN_STATUS" - // "SUCCESS" - // "ERROR" - // "NOT_APPLICABLE" - Status string `json:"status,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. "Format") to + // 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 @@ -7036,7 +7122,7 @@ type AppsDynamiteSharedVideoReference struct { // 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 + // 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 @@ -7045,162 +7131,71 @@ type AppsDynamiteSharedVideoReference struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedVideoReference) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedVideoReference +func (s *CustomerSessionStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerSessionStats 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"` +// 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"` - // 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"` + // 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"` - // 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"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // 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 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. "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 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 *AppsDynamiteSharedWidget) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedWidget +func (s *CustomerSettings) MarshalJSON() ([]byte, error) { + type NoMethod CustomerSettings 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"` +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"` - // Id: ID of the bot which owns the slash command. - Id *AppsDynamiteUserId `json:"id,omitempty"` + // OneDayActiveUsersCount: The count of unique active users in the past + // one day + OneDayActiveUsersCount int64 `json:"oneDayActiveUsersCount,omitempty,string"` - // TriggersDialog: Whether or not this slash command should trigger a - // dialog. - TriggersDialog bool `json:"triggersDialog,omitempty"` + // SevenDaysActiveUsersCount: The count of unique active users in the + // past seven days + SevenDaysActiveUsersCount int64 `json:"sevenDaysActiveUsersCount,omitempty,string"` - // 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"` + // 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. "ArgumentsHint") to + // 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 @@ -7208,27 +7203,36 @@ type AppsDynamiteSlashCommandMetadata struct { // 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 + // 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 *AppsDynamiteSlashCommandMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSlashCommandMetadata +func (s *CustomerUserStats) MarshalJSON() ([]byte, error) { + type NoMethod CustomerUserStats 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"` +// DataLossPreventionMetadata: 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 DataLossPreventionMetadata struct { + // DlpScanSummary: The DLP scan summary that should only be set after + // the message is scanned in the Chat backend. + DlpScanSummary *DlpScanSummary `json:"dlpScanSummary,omitempty"` - // ForceSendFields is a list of field names (e.g. "SpaceId") to + // 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. "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 @@ -7236,76 +7240,119 @@ type AppsDynamiteSpaceId 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 - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an 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 *AppsDynamiteSpaceId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSpaceId +func (s *DataLossPreventionMetadata) MarshalJSON() ([]byte, error) { + type NoMethod DataLossPreventionMetadata 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"` +// 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"` - // 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. + // 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. "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 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 *AppsDynamiteTombstoneMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteTombstoneMetadata +func (s *DataSource) MarshalJSON() ([]byte, error) { + type NoMethod DataSource 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"` +// 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"` - // 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"` + // ItemCountByStatus: Number of items aggregrated by status code. + ItemCountByStatus []*ItemCountByStatus `json:"itemCountByStatus,omitempty"` - // ForceSendFields is a list of field names (e.g. "GroupId") to + // 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 @@ -7313,8 +7360,8 @@ type AppsDynamiteTopicId struct { // 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 + // 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. @@ -7322,92 +7369,67 @@ type AppsDynamiteTopicId struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteTopicId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteTopicId +func (s *DataSourceIndexStats) MarshalJSON() ([]byte, error) { + type NoMethod DataSourceIndexStats 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"` +// 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"` - // ContentName: The original file name for the content, not the full - // path. - ContentName string `json:"contentName,omitempty"` + // Source: The source of restriction. + Source *Source `json:"source,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"` + // 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:"-"` - // DlpMetricsMetadata: The metrics metadata of the Data Loss Prevention - // attachment scan. - DlpMetricsMetadata *AppsDynamiteSharedDlpMetricsMetadata `json:"dlpMetricsMetadata,omitempty"` + // 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:"-"` +} - // LocalId: A copy of the LocalId in Annotation. This field is supposed - // to be filled by server only. - LocalId string `json:"localId,omitempty"` +func (s *DataSourceRestriction) MarshalJSON() ([]byte, error) { + type NoMethod DataSourceRestriction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // OriginalDimension: Original dimension of the content. Only set for - // image attachments. - OriginalDimension *AppsDynamiteSharedDimension `json:"originalDimension,omitempty"` +// 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"` - // VideoReference: Reference to a transcoded video attachment. Only set - // for video attachments. - VideoReference *AppsDynamiteSharedVideoReference `json:"videoReference,omitempty"` + // Month: Month of date. Must be from 1 to 12. + Month int64 `json:"month,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"` + // Year: Year of date. Must be from 1 to 9999. + Year int64 `json:"year,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttachmentToken") to + // 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 @@ -7415,83 +7437,90 @@ type AppsDynamiteUploadMetadata struct { // 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 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 *AppsDynamiteUploadMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteUploadMetadata +func (s *Date) MarshalJSON() ([]byte, error) { + type NoMethod Date 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"` +// 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"` - // 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"` + // 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"` - // RedirectUrl: The stable redirect URL pointing to frontend server. - RedirectUrl *SafeUrlProto `json:"redirectUrl,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"` - // ShouldNotRender: If the UrlMetadata is missing data for rendering a - // chip. Deprecated. Use Annotation.ChipRenderType instead. - ShouldNotRender bool `json:"shouldNotRender,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:"-"` - // Snippet: Snippet/small description of the weblink. - Snippet string `json:"snippet,omitempty"` + // 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:"-"` +} - // Title: Title of the Weblink. - Title string `json:"title,omitempty"` +func (s *DateOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod DateOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // Url: The original URL. - Url *SafeUrlProto `json:"url,omitempty"` +// 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. "Domain") 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 @@ -7499,64 +7528,60 @@ type AppsDynamiteUrlMetadata 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 - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an 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 *AppsDynamiteUrlMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteUrlMetadata +func (s *DatePropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod DatePropertyOptions 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"` +type DateTimePicker struct { + // Label: The label for the field, which is displayed to the user. + Label string `json:"label,omitempty"` - // Id: Opaque, server-assigned ID of the User. - Id string `json:"id,omitempty"` + // Name: The name of the text field which is used in FormInput, and + // uniquely identifies this input. + Name string `json:"name,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"` + // 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"` - // 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. + // 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: - // "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" + // "UNSPECIFIED_TYPE" + // "DATE_AND_TIME" + // "DATE_ONLY" + // "TIME_ONLY" Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActingUserId") to + // 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 @@ -7564,59 +7589,26 @@ type AppsDynamiteUserId 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 + // 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 *AppsDynamiteUserId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteUserId +func (s *DateTimePicker) MarshalJSON() ([]byte, error) { + type NoMethod DateTimePicker 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"` +// DateValues: List of date values. +type DateValues struct { + Values []*Date `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") 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 @@ -7624,44 +7616,29 @@ type AppsDynamiteUserMentionMetadata 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 - // in API requests with the JSON null value. By default, fields with - // 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 *AppsDynamiteUserMentionMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteUserMentionMetadata +func (s *DateValues) MarshalJSON() ([]byte, error) { + type NoMethod DateValues 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"` +// 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"` - // 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 + // 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 @@ -7669,36 +7646,51 @@ type AppsDynamiteV1ApiCompatV1Action struct { // 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 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 *AppsDynamiteV1ApiCompatV1Action) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteV1ApiCompatV1Action +func (s *DebugOptions) MarshalJSON() ([]byte, error) { + type NoMethod DebugOptions 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"` +// 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"` - // OkText: "OK" button label. - OkText string `json:"ok_text,omitempty"` + // 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"` - // Text: Confirmation dialog body text. - Text string `json:"text,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"` - // Title: Confirmation dialog title. - Title string `json:"title,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. "DismissText") to + // 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 @@ -7706,87 +7698,40 @@ type AppsDynamiteV1ApiCompatV1ActionConfirm struct { // 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 + // 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 *AppsDynamiteV1ApiCompatV1ActionConfirm) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteV1ApiCompatV1ActionConfirm +func (s *DeepLinkData) MarshalJSON() ([]byte, error) { + type NoMethod DeepLinkData 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"` +// DeleteMetadata: 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 DeleteMetadata struct { +} - // Title: Title string of this attachment. - Title string `json:"title,omitempty"` +type DeleteQueueItemsRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,omitempty"` - // TitleLink: URL that the title string should link to. - TitleLink string `json:"title_link,omitempty"` + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - // Ts: UNIX timestamp of the attachment. - Ts int64 `json:"ts,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. "Actions") to + // 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 @@ -7794,35 +7739,39 @@ type AppsDynamiteV1ApiCompatV1Attachment struct { // 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 + // 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 *AppsDynamiteV1ApiCompatV1Attachment) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteV1ApiCompatV1Attachment +func (s *DeleteQueueItemsRequest) MarshalJSON() ([]byte, error) { + type NoMethod DeleteQueueItemsRequest 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"` +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"` - // Value: The text value of the field. - Value string `json:"value,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. "Short") to + // 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 @@ -7830,8 +7779,8 @@ type AppsDynamiteV1ApiCompatV1Field struct { // 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 + // 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. @@ -7839,26 +7788,25 @@ type AppsDynamiteV1ApiCompatV1Field struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteV1ApiCompatV1Field) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteV1ApiCompatV1Field +func (s *DeliveryMedium) MarshalJSON() ([]byte, error) { + type NoMethod DeliveryMedium 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"` +// 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. "MeetingSpace") to + // 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 @@ -7866,7 +7814,7 @@ type AppsDynamiteVideoCallMetadata struct { // 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 + // 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 @@ -7875,37 +7823,118 @@ type AppsDynamiteVideoCallMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteVideoCallMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteVideoCallMetadata +func (s *DisplayedProperty) MarshalJSON() ([]byte, error) { + type NoMethod DisplayedProperty 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"` +type Divider struct { +} - // 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"` +// DlpScanSummary: 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 DlpScanSummary 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"` - // 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"` + // 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"` - // 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 + // 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 // sent to the server regardless of whether the field is empty or 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 + // 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 @@ -7914,31 +7943,17 @@ type AppsDynamiteYoutubeMetadata struct { NullFields []string `json:"-"` } -func (s *AppsDynamiteYoutubeMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteYoutubeMetadata +func (s *DlpScanSummary) MarshalJSON() ([]byte, error) { + type NoMethod DlpScanSummary 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"` +type DmId struct { + // DmId: Unique server assigned Id, per Direct Message Space. + DmId string `json:"dmId,omitempty"` - // ForceSendFields is a list of field names (e.g. "EmbedItem") 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 @@ -7946,8 +7961,8 @@ type Attachment struct { // 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 + // 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 // null. It is an error if a field in this list has a non-empty value. @@ -7955,18 +7970,19 @@ type Attachment struct { NullFields []string `json:"-"` } -func (s *Attachment) MarshalJSON() ([]byte, error) { - type NoMethod Attachment +func (s *DmId) MarshalJSON() ([]byte, error) { + type NoMethod DmId 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"` +// 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. "Filename") to + // 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 @@ -7974,50 +7990,70 @@ type AttachmentMetadata struct { // 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 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 *AttachmentMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AttachmentMetadata +func (s *DocumentInfo) MarshalJSON() ([]byte, error) { + type NoMethod DocumentInfo 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"` +// 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"` - // LogDataReadActions: Indicates whether audit logging is on/off for - // data access read APIs i.e. ListItems, GetItem etc. - LogDataReadActions bool `json:"logDataReadActions,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:"-"` - // LogDataWriteActions: Indicates whether audit logging is on/off for - // data access write APIs i.e. IndexItem etc. - LogDataWriteActions bool `json:"logDataWriteActions,omitempty"` + // 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:"-"` +} - // 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"` +func (s *DoubleOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod DoubleOperatorOptions + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ForceSendFields is a list of field names (e.g. "LogAdminReadActions") - // to unconditionally include in API requests. By default, fields with +// 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. "LogAdminReadActions") 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 @@ -8027,28 +8063,17 @@ type AuditLoggingSettings struct { NullFields []string `json:"-"` } -func (s *AuditLoggingSettings) MarshalJSON() ([]byte, error) { - type NoMethod AuditLoggingSettings +func (s *DoublePropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod DoublePropertyOptions 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"` +// DoubleValues: List of double values. +type DoubleValues struct { + Values []float64 `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") 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 @@ -8056,7 +8081,7 @@ type AuthorizedItemId struct { // 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 + // 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 @@ -8065,16 +8090,22 @@ type AuthorizedItemId struct { NullFields []string `json:"-"` } -func (s *AuthorizedItemId) MarshalJSON() ([]byte, error) { - type NoMethod AuthorizedItemId +func (s *DoubleValues) MarshalJSON() ([]byte, error) { + type NoMethod DoubleValues raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AutoComplete struct { - Items []*AutoCompleteItem `json:"items,omitempty"` +// 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. "Items") 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 @@ -8082,7 +8113,7 @@ type AutoComplete 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. "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 @@ -8091,16 +8122,22 @@ type AutoComplete struct { NullFields []string `json:"-"` } -func (s *AutoComplete) MarshalJSON() ([]byte, error) { - type NoMethod AutoComplete +func (s *DriveFollowUpRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveFollowUpRestrict raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type AutoCompleteItem struct { - Text string `json:"text,omitempty"` +// 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. "Text") 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 @@ -8108,7 +8145,7 @@ type AutoCompleteItem struct { // 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 + // 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 @@ -8117,28 +8154,131 @@ type AutoCompleteItem struct { NullFields []string `json:"-"` } -func (s *AutoCompleteItem) MarshalJSON() ([]byte, error) { - type NoMethod AutoCompleteItem +func (s *DriveLocationRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveLocationRestrict 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"` +// DriveMetadata: Annotation metadata for Drive artifacts. +type DriveMetadata struct { + AclFixRequest *AclFixRequest `json:"aclFixRequest,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperatorName") to + AclFixStatus *AclFixStatus `json:"aclFixStatus,omitempty"` + + // CanEdit: Can the current user edit this resource + CanEdit bool `json:"canEdit,omitempty"` + + // 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 *LegacyUploadMetadata `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 @@ -8146,7 +8286,7 @@ 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 + // 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 @@ -8155,19 +8295,34 @@ type BooleanOperatorOptions struct { NullFields []string `json:"-"` } -func (s *BooleanOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod BooleanOperatorOptions +func (s *DriveMetadata) MarshalJSON() ([]byte, error) { + type NoMethod DriveMetadata 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"` +// 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. "OperatorOptions") 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 @@ -8175,40 +8330,34 @@ 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 - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an 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. "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 *BooleanPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod BooleanPropertyOptions +func (s *DriveMimeTypeRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveMimeTypeRestrict 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. - // +// DriveTimeSpanRestrict: The time span search restrict (e.g. +// "after:2017-09-11 before:2017-09-12"). +type DriveTimeSpanRestrict struct { // Possible values: - // "BORDER_TYPE_NOT_SET" - No value specified. - // "NO_BORDER" - No border. - // "STROKE" - Outline. + // "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. "CornerRadius") 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 @@ -8216,45 +8365,58 @@ type BorderStyle struct { // 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 + // 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 *BorderStyle) MarshalJSON() ([]byte, error) { - type NoMethod BorderStyle +func (s *DriveTimeSpanRestrict) MarshalJSON() ([]byte, error) { + type NoMethod DriveTimeSpanRestrict raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// BotMessageMetadata: A bot sent a message in Dynamite. -type BotMessageMetadata struct { -} +// 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"` -// 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"` + CommonContactCountAffinityScore float64 `json:"commonContactCountAffinityScore,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"` + ContactsIntersectionCount float64 `json:"contactsIntersectionCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccessPolicy") to + 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 @@ -8262,7 +8424,7 @@ type BroadcastAccess struct { // 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 + // 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 @@ -8271,87 +8433,104 @@ type BroadcastAccess struct { NullFields []string `json:"-"` } -func (s *BroadcastAccess) MarshalJSON() ([]byte, error) { - type NoMethod BroadcastAccess - raw := NoMethod(*s) +func (s *DynamiteSpacesScoringInfo) MarshalJSON() ([]byte, error) { + type NoMethod DynamiteSpacesScoringInfo + 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"` +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 +} - // BroadcastStats: Output only. Current broadcast session's statistics. - BroadcastStats *BroadcastStats `json:"broadcastStats,omitempty"` +// EditMetadata: A message edit in Dynamite inserts a Babel-only item +// containing this field. +type EditMetadata struct { +} - // IngestionId: Input only. Deprecated field, should not be used. - IngestionId string `json:"ingestionId,omitempty"` +// EmailAddress: A person's email address. +type EmailAddress struct { + // CustomType: If the value of type is custom, this property contains + // the custom type string. + CustomType string `json:"customType,omitempty"` - // SessionStateInfo: Broadcast session's state information. - SessionStateInfo *SessionStateInfo `json:"sessionStateInfo,omitempty"` + // EmailAddress: The email address. + EmailAddress string `json:"emailAddress,omitempty"` - // ForceSendFields is a list of field names (e.g. "BroadcastSessionId") - // to unconditionally include in API requests. By default, fields with + // EmailUrl: The URL to send email. + EmailUrl string `json:"emailUrl,omitempty"` + + // Primary: Indicates if this is the user's primary email. Only one + // entry can be marked as primary. + Primary bool `json:"primary,omitempty"` + + // Type: The type of the email account. Acceptable values are: "custom", + // "home", "other", "work". + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomType") to + // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or 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 is a list of field names (e.g. "CustomType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field 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 +func (s *EmailAddress) MarshalJSON() ([]byte, error) { + type NoMethod EmailAddress raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type Button struct { - ImageButton *ImageButton `json:"imageButton,omitempty"` - - TextButton *TextButton `json:"textButton,omitempty"` +// 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. "ImageButton") to + // 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 @@ -8359,2325 +8538,75 @@ type Button struct { // 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 + // 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 *Button) MarshalJSON() ([]byte, error) { - type NoMethod Button +func (s *EmailOwnerProto) MarshalJSON() ([]byte, error) { + type NoMethod EmailOwnerProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CalendarEventMetadata: A Calendar event message in Dynamite. -type CalendarEventMetadata struct { -} +// 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"` -// 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"` + // 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"` - // 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"` + // 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"` - // AttachedDocuments: Output only. Documents attached to an ongoing - // conference. - AttachedDocuments []*DocumentInfo `json:"attachedDocuments,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"` - // 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"` + // 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"` - // BroadcastSessionInfo: Information about active broadcast session in - // the ongoing conference. - BroadcastSessionInfo *BroadcastSessionInfo `json:"broadcastSessionInfo,omitempty"` + // Signature: Signature of the embed, used for verification. + Signature string `json:"signature,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 + // TransientData: Transient generic data that will not be saved on 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"` + TransientData *TransientData `json:"transientData,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. - // + // 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. @@ -11134,7 +9063,634 @@ type EmbedClientItem struct { // Hangouts Type []string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanonicalId") to + // 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 @@ -11142,45 +9698,52 @@ type EmbedClientItem struct { // 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 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 *EmbedClientItem) MarshalJSON() ([]byte, error) { - type NoMethod EmbedClientItem +func (s *FormAction) MarshalJSON() ([]byte, error) { + type NoMethod FormAction 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"` +// FormatMetadata: Annotation metadata for markup formatting +type FormatMetadata 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. "OperatorName") 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 @@ -11188,64 +9751,163 @@ 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. "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. // 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 *FormatMetadata) MarshalJSON() ([]byte, error) { + type NoMethod FormatMetadata 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"` +// Formatting: Formatting information for a segment. +type Formatting struct { + Bold bool `json:"bold,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. + // 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: - // "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"` + // "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"` - // 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"` + 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:"-"` +} - // ForceSendFields is a list of field names (e.g. "OperatorOptions") to +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 @@ -11253,45 +9915,28 @@ 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. "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 *EnumPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod EnumPropertyOptions +func (s *GaiaGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod GaiaGroupProto 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"` +// 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. "IntegerValue") to + // 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 @@ -11299,28 +9944,30 @@ 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. "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 *EnumValuePair) MarshalJSON() ([]byte, error) { - type NoMethod EnumValuePair +func (s *GaiaUserProto) MarshalJSON() ([]byte, error) { + type NoMethod GaiaUserProto 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"` +// 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. "Values") to + // 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 @@ -11328,8 +9975,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. "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. @@ -11337,17 +9984,27 @@ type EnumValues struct { NullFields []string `json:"-"` } -func (s *EnumValues) MarshalJSON() ([]byte, error) { - type NoMethod EnumValues +func (s *GatewayAccess) MarshalJSON() ([]byte, error) { + type NoMethod GatewayAccess 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "ErrorMessages") to + // 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 @@ -11355,7 +10012,7 @@ 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 + // 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 @@ -11364,19 +10021,62 @@ type ErrorInfo struct { NullFields []string `json:"-"` } -func (s *ErrorInfo) MarshalJSON() ([]byte, error) { - type NoMethod ErrorInfo +func (s *GatewaySipAccess) MarshalJSON() ([]byte, error) { + type NoMethod GatewaySipAccess 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"` +type GetCustomerIndexStatsResponse struct { + // AverageIndexedItemCount: Average item count for the given date range + // for which billing is done. + AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` - Source *Source `json:"source,omitempty"` + // Stats: Summary of indexed item counts, one for each day in the + // requested range. + Stats []*CustomerIndexStats `json:"stats,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorMessage") to + // 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 @@ -11384,27 +10084,68 @@ 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 - // in API requests with the JSON null value. By default, fields with - // 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. "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 *ErrorMessage) MarshalJSON() ([]byte, error) { - type NoMethod ErrorMessage +func (s *GetCustomerQueryStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerQueryStatsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type EventAnnotation struct { - Type int64 `json:"type,omitempty"` +// 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"` - Value string `json:"value,omitempty"` + // Stats: Search application stats by date. + Stats []*CustomerSearchApplicationStats `json:"stats,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to + // 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 @@ -11412,7 +10153,7 @@ type EventAnnotation 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 + // 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 @@ -11421,28 +10162,20 @@ type EventAnnotation struct { NullFields []string `json:"-"` } -func (s *EventAnnotation) MarshalJSON() ([]byte, error) { - type NoMethod EventAnnotation +func (s *GetCustomerSessionStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerSessionStatsResponse 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"` +type GetCustomerUserStatsResponse struct { + Stats []*CustomerUserStats `json:"stats,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"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "EventId") to + // 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 @@ -11450,8 +10183,8 @@ type EventProto struct { // 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 + // 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. @@ -11459,36 +10192,65 @@ type EventProto struct { NullFields []string `json:"-"` } -func (s *EventProto) MarshalJSON() ([]byte, error) { - type NoMethod EventProto +func (s *GetCustomerUserStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetCustomerUserStatsResponse 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"` +type GetDataSourceIndexStatsResponse struct { + // AverageIndexedItemCount: Average item count for the given date range + // for which billing is done. + AverageIndexedItemCount int64 `json:"averageIndexedItemCount,omitempty,string"` - // 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"` + // Stats: Summary of indexed item counts, one for each day in the + // requested range. + Stats []*DataSourceIndexStats `json:"stats,omitempty"` - Value *Value `json:"value,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Count") to + // 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 @@ -11496,7 +10258,7 @@ 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 + // 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 @@ -11505,34 +10267,20 @@ type FacetBucket struct { NullFields []string `json:"-"` } -func (s *FacetBucket) MarshalJSON() ([]byte, error) { - type NoMethod FacetBucket +func (s *GetSearchApplicationQueryStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationQueryStatsResponse 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"` +type GetSearchApplicationSessionStatsResponse struct { + Stats []*SearchApplicationSessionStats `json:"stats,omitempty"` - // SourceName: Source name to facet on. Format: datasources/{source_id} - // If empty, all data sources will be used. - SourceName string `json:"sourceName,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "NumFacetBuckets") to + // 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 @@ -11540,41 +10288,29 @@ 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 - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an 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. "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 *FacetOptions) MarshalJSON() ([]byte, error) { - type NoMethod FacetOptions +func (s *GetSearchApplicationSessionStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationSessionStatsResponse 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"` +type GetSearchApplicationUserStatsResponse struct { + Stats []*SearchApplicationUserStats `json:"stats,omitempty"` - // SourceName: Source name for which facet results are returned. Will - // not be empty. - SourceName string `json:"sourceName,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Buckets") to + // 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 @@ -11582,8 +10318,8 @@ type FacetResult struct { // 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 + // 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. @@ -11591,20 +10327,18 @@ type FacetResult struct { NullFields []string `json:"-"` } -func (s *FacetResult) MarshalJSON() ([]byte, error) { - type NoMethod FacetResult +func (s *GetSearchApplicationUserStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GetSearchApplicationUserStatsResponse 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"` +// GoogleChatConfig: Configuration of the Google Chat in Meet. +type GoogleChatConfig struct { + // ChatGroupId: ID of the Chat group. + ChatGroupId string `json:"chatGroupId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to + // ForceSendFields is a list of field names (e.g. "ChatGroupId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -11612,7 +10346,7 @@ 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 + // NullFields is a list of field names (e.g. "ChatGroupId") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -11621,25 +10355,20 @@ type FieldViolation struct { NullFields []string `json:"-"` } -func (s *FieldViolation) MarshalJSON() ([]byte, error) { - type NoMethod FieldViolation +func (s *GoogleChatConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatConfig 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"` +// 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. "CompositeFilter") to + // 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 @@ -11647,35 +10376,38 @@ 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. "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 *Filter) MarshalJSON() ([]byte, error) { - type NoMethod Filter +func (s *GoogleChatV1ContextualAddOnMarkup) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkup 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"` +// 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"` - // 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"` + // Header: The header of the card. A header usually contains a title and + // an image. + Header *GoogleChatV1ContextualAddOnMarkupCardCardHeader `json:"header,omitempty"` - // ForceSendFields is a list of field names (e.g. "Filter") to + // 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 @@ -11683,31 +10415,33 @@ 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 - // requests with the JSON null value. By default, fields with 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. "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 *FilterOptions) MarshalJSON() ([]byte, error) { - type NoMethod FilterOptions +func (s *GoogleChatV1ContextualAddOnMarkupCard) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCard 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"` +// 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"` - SecondaryButton *TextButton `json:"secondaryButton,omitempty"` + // OnClick: The onclick action for this action item. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "Buttons") to + // 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 @@ -11715,53 +10449,42 @@ type FixedFooter struct { // 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 + // 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 *FixedFooter) MarshalJSON() ([]byte, error) { - type NoMethod FixedFooter +func (s *GoogleChatV1ContextualAddOnMarkupCardCardAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardAction 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"` - +type GoogleChatV1ContextualAddOnMarkupCardCardHeader struct { + // ImageStyle: The image's type (e.g. square border or circular border). + // // Possible values: - // "SPINNER" - // "NONE" - LoadIndicator string `json:"loadIndicator,omitempty"` + // "IMAGE_STYLE_UNSPECIFIED" + // "IMAGE" - Square border. + // "AVATAR" - Circular border. + ImageStyle string `json:"imageStyle,omitempty"` - Parameters []*ActionParameter `json:"parameters,omitempty"` + // ImageUrl: The URL of the image in the card header. + ImageUrl string `json:"imageUrl,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"` + // Subtitle: The subtitle of the card header. + Subtitle string `json:"subtitle,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionMethodName") to + // 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 @@ -11769,56 +10492,34 @@ type FormAction struct { // 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 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 *FormAction) MarshalJSON() ([]byte, error) { - type NoMethod FormAction +func (s *GoogleChatV1ContextualAddOnMarkupCardCardHeader) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardHeader 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"` +// 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"` - Underline bool `json:"underline,omitempty"` + // Widgets: A section must contain at least 1 widget. + Widgets []*GoogleChatV1WidgetMarkup `json:"widgets,omitempty"` - // ForceSendFields is a list of field names (e.g. "Bold") to + // 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 @@ -11826,7 +10527,7 @@ type Formatting struct { // 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 + // 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 @@ -11835,72 +10536,61 @@ type Formatting struct { NullFields []string `json:"-"` } -func (s *Formatting) MarshalJSON() ([]byte, error) { - type NoMethod Formatting +func (s *GoogleChatV1ContextualAddOnMarkupCardSection) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1ContextualAddOnMarkupCardSection 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"` +// 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"` - // 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"` + // Image: Display an image in this widget. + Image *GoogleChatV1WidgetMarkupImage `json:"image,omitempty"` - // ForceSendFields is a list of field names (e.g. "FreshnessDuration") - // to unconditionally include in API requests. By default, fields with + // 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. "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. "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 *FreshnessOptions) MarshalJSON() ([]byte, error) { - type NoMethod FreshnessOptions +func (s *GoogleChatV1WidgetMarkup) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkup 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"` +// 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"` - // GsuiteUserEmail: This principal references a Google Workspace user - // account. - GsuiteUserEmail string `json:"gsuiteUserEmail,omitempty"` + // TextButton: A button with text and onclick action. + TextButton *GoogleChatV1WidgetMarkupTextButton `json:"textButton,omitempty"` - // ForceSendFields is a list of field names (e.g. "GsuiteDomain") to + // 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 @@ -11908,7 +10598,7 @@ 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 + // 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 @@ -11917,16 +10607,27 @@ type GSuitePrincipal struct { NullFields []string `json:"-"` } -func (s *GSuitePrincipal) MarshalJSON() ([]byte, error) { - type NoMethod GSuitePrincipal +func (s *GoogleChatV1WidgetMarkupButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupButton raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GaiaGroupProto struct { - GroupId int64 `json:"groupId,omitempty,string"` +// 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"` - // ForceSendFields is a list of field names (e.g. "GroupId") to + // 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 @@ -11934,28 +10635,35 @@ type GaiaGroupProto struct { // 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 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 *GaiaGroupProto) MarshalJSON() ([]byte, error) { - type NoMethod GaiaGroupProto +func (s *GoogleChatV1WidgetMarkupFormAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupFormAction 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "UserId") to + // 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 @@ -11963,7 +10671,7 @@ type GaiaUserProto struct { // 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 + // 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 @@ -11972,21 +10680,29 @@ type GaiaUserProto struct { NullFields []string `json:"-"` } -func (s *GaiaUserProto) MarshalJSON() ([]byte, error) { - type NoMethod GaiaUserProto +func (s *GoogleChatV1WidgetMarkupFormActionActionParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupFormActionActionParameter 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "Enabled") to + // 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 @@ -11994,36 +10710,87 @@ type GatewayAccess struct { // 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 + // 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 *GatewayAccess) MarshalJSON() ([]byte, error) { - type NoMethod GatewayAccess +func (s *GoogleChatV1WidgetMarkupImage) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupImage 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"` +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 +} - // 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "SipAccessCode") to + // 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 @@ -12031,71 +10798,118 @@ type GatewaySipAccess struct { // 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 + // 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 *GatewaySipAccess) MarshalJSON() ([]byte, error) { - type NoMethod GatewaySipAccess +func (s *GoogleChatV1WidgetMarkupImageButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupImageButton 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"` +// 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"` - // Stats: Summary of indexed item counts, one for each day in the - // requested range. - Stats []*CustomerIndexStats `json:"stats,omitempty"` + // Button: A button that can be clicked to trigger an action. + Button *GoogleChatV1WidgetMarkupButton `json:"button,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Content: The text of the content. Formatted text supported and always + // required. + Content string `json:"content,omitempty"` - // 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. + // 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. "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 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 *GetCustomerIndexStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerIndexStatsResponse +func (s *GoogleChatV1WidgetMarkupKeyValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupKeyValue 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"` +// 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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // OpenLink: This onclick triggers an open link action if specified. + OpenLink *GoogleChatV1WidgetMarkupOpenLink `json:"openLink,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // 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 @@ -12103,7 +10917,7 @@ 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 + // 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 @@ -12112,59 +10926,50 @@ type GetCustomerQueryStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetCustomerQueryStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerQueryStatsResponse +func (s *GoogleChatV1WidgetMarkupOnClick) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupOnClick 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:"-"` +// 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. - // "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. "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. - // "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. "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 *GetCustomerSearchApplicationStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerSearchApplicationStatsResponse +func (s *GoogleChatV1WidgetMarkupOpenLink) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupOpenLink raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetCustomerSessionStatsResponse struct { - Stats []*CustomerSessionStats `json:"stats,omitempty"` +// GoogleChatV1WidgetMarkupTextButton: A button with text and onclick +// action. +type GoogleChatV1WidgetMarkupTextButton struct { + // OnClick: The onclick action of the button. + OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Text: The text of the button. + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // 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 @@ -12172,8 +10977,8 @@ 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 - // requests with the JSON null value. By default, fields with empty + // 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. @@ -12181,20 +10986,18 @@ type GetCustomerSessionStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetCustomerSessionStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerSessionStatsResponse +func (s *GoogleChatV1WidgetMarkupTextButton) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupTextButton 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:"-"` +// 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. "Stats") 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 @@ -12202,7 +11005,7 @@ 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 + // 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 @@ -12211,65 +11014,117 @@ type GetCustomerUserStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetCustomerUserStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetCustomerUserStatsResponse +func (s *GoogleChatV1WidgetMarkupTextParagraph) MarshalJSON() ([]byte, error) { + type NoMethod GoogleChatV1WidgetMarkupTextParagraph 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"` +// 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"` - // Stats: Summary of indexed item counts, one for each day in the - // requested range. - Stats []*DataSourceIndexStats `json:"stats,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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // 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"` - // 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. + // 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. "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 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 *GetDataSourceIndexStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetDataSourceIndexStatsResponse +func (s *GoogleDocsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDocsMetadata 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"` +// 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"` - // TotalQueryCount: Total successful query count (status code 200) for - // the given date range. - TotalQueryCount int64 `json:"totalQueryCount,omitempty,string"` + // 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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // 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"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // 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 @@ -12277,29 +11132,44 @@ 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 - // null. It is an 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. "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 *GetSearchApplicationQueryStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationQueryStatsResponse +func (s *GoogleDocsResultInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDocsResultInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetSearchApplicationSessionStatsResponse struct { - Stats []*SearchApplicationSessionStats `json:"stats,omitempty"` +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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Title: The text to display in the grid header. + Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // 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 @@ -12307,29 +11177,50 @@ 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 - // requests with the JSON null value. By default, fields with 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 *GetSearchApplicationSessionStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationSessionStatsResponse +func (s *Grid) MarshalJSON() ([]byte, error) { + type NoMethod Grid raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetSearchApplicationUserStatsResponse struct { - Stats []*SearchApplicationUserStats `json:"stats,omitempty"` +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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + Image *ImageComponent `json:"image,omitempty"` - // ForceSendFields is a list of field names (e.g. "Stats") to + // 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 @@ -12337,8 +11228,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. "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. @@ -12346,20 +11237,18 @@ type GetSearchApplicationUserStatsResponse struct { NullFields []string `json:"-"` } -func (s *GetSearchApplicationUserStatsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetSearchApplicationUserStatsResponse +func (s *GridItem) MarshalJSON() ([]byte, error) { + type NoMethod GridItem 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"` +type GroupDetailsUpdatedMetadata struct { + NewGroupDetails *AppsDynamiteSharedGroupDetails `json:"newGroupDetails,omitempty"` - // ForceSendFields is a list of field names (e.g. "Cards") to + PrevGroupDetails *AppsDynamiteSharedGroupDetails `json:"prevGroupDetails,omitempty"` + + // 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 @@ -12367,38 +11256,32 @@ type GoogleChatV1ContextualAddOnMarkup struct { // 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 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 *GoogleChatV1ContextualAddOnMarkup) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1ContextualAddOnMarkup +func (s *GroupDetailsUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GroupDetailsUpdatedMetadata 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"` +// 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"` - // Sections: Sections are separated by a line divider. - Sections []*GoogleChatV1ContextualAddOnMarkupCardSection `json:"sections,omitempty"` + // SpaceId: Unique, immutable ID of the Space + SpaceId *SpaceId `json:"spaceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CardActions") 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 @@ -12406,33 +11289,31 @@ type GoogleChatV1ContextualAddOnMarkupCard struct { // 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 + // 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 // null. It is an error if a field 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 +func (s *GroupId) MarshalJSON() ([]byte, error) { + type NoMethod GroupId 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"` +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. "ActionLabel") to + // 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 @@ -12440,42 +11321,29 @@ type GoogleChatV1ContextualAddOnMarkupCardCardAction struct { // 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 + // 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 *GoogleChatV1ContextualAddOnMarkupCardCardAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardAction +func (s *GroupLinkSharingModificationEvent) MarshalJSON() ([]byte, error) { + type NoMethod GroupLinkSharingModificationEvent 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"` +type GroupRetentionSettingsUpdatedMetaData struct { + // Initiator: The user who triggered the retention settings update + Initiator *UserId `json:"initiator,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"` + // RetentionSettings: The updated space retention settings + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` - // ForceSendFields is a list of field names (e.g. "ImageStyle") to + // 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 @@ -12483,7 +11351,7 @@ type GoogleChatV1ContextualAddOnMarkupCardCardHeader struct { // 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 + // 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 @@ -12492,25 +11360,46 @@ type GoogleChatV1ContextualAddOnMarkupCardCardHeader struct { NullFields []string `json:"-"` } -func (s *GoogleChatV1ContextualAddOnMarkupCardCardHeader) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1ContextualAddOnMarkupCardCardHeader +func (s *GroupRetentionSettingsUpdatedMetaData) MarshalJSON() ([]byte, error) { + type NoMethod GroupRetentionSettingsUpdatedMetaData 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"` +// GsuiteIntegrationMetadata: Annotation metadata for an +// GsuiteIntegration artifact. +type GsuiteIntegrationMetadata struct { + ActivityFeedData *AppsDynamiteSharedActivityFeedAnnotationData `json:"activityFeedData,omitempty"` - // Widgets: A section must contain at least 1 widget. - Widgets []*GoogleChatV1WidgetMarkup `json:"widgets,omitempty"` + AssistantData *AppsDynamiteSharedAssistantAnnotationData `json:"assistantData,omitempty"` - // ForceSendFields is a list of field names (e.g. "Header") to + CalendarEventData *AppsDynamiteSharedCalendarEventAnnotationData `json:"calendarEventData,omitempty"` + + // 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 @@ -12518,70 +11407,81 @@ type GoogleChatV1ContextualAddOnMarkupCardSection struct { // 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 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 *GoogleChatV1ContextualAddOnMarkupCardSection) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1ContextualAddOnMarkupCardSection +func (s *GsuiteIntegrationMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GsuiteIntegrationMetadata 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"` +type HangoutEvent struct { + HangoutDurationSecs int64 `json:"hangoutDurationSecs,omitempty,string"` - // KeyValue: Display a key value item in this widget. - KeyValue *GoogleChatV1WidgetMarkupKeyValue `json:"keyValue,omitempty"` + // 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"` - // TextParagraph: Display a text paragraph in this widget. - TextParagraph *GoogleChatV1WidgetMarkupTextParagraph `json:"textParagraph,omitempty"` + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Buttons") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *GoogleChatV1WidgetMarkup) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkup +func (s *HangoutEvent) MarshalJSON() ([]byte, error) { + type NoMethod HangoutEvent 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"` +// HangoutVideoEventMetadata: A message representing the Hangout video +// start/end events in Babel +type HangoutVideoEventMetadata 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. "ImageButton") to + // 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 @@ -12589,36 +11489,34 @@ type GoogleChatV1WidgetMarkupButton struct { // 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 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 + // server as null. It is an error if a field 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 +func (s *HangoutVideoEventMetadata) MarshalJSON() ([]byte, error) { + type NoMethod HangoutVideoEventMetadata 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"` +// 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. "ActionMethodName") to + // 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 @@ -12626,35 +11524,33 @@ type GoogleChatV1WidgetMarkupFormAction struct { // 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 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 *GoogleChatV1WidgetMarkupFormAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupFormAction +func (s *HashtagData) MarshalJSON() ([]byte, error) { + type NoMethod HashtagData 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"` +// 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"` - // Value: The value of the parameter. - Value string `json:"value,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. "Key") to + // 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 @@ -12662,8 +11558,8 @@ type GoogleChatV1WidgetMarkupFormActionActionParameter struct { // 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 + // 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. @@ -12671,29 +11567,28 @@ type GoogleChatV1WidgetMarkupFormActionActionParameter struct { NullFields []string `json:"-"` } -func (s *GoogleChatV1WidgetMarkupFormActionActionParameter) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupFormActionActionParameter +func (s *HostProto) MarshalJSON() ([]byte, error) { + type NoMethod HostProto 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"` +// 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. "AspectRatio") 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 @@ -12701,7 +11596,7 @@ type GoogleChatV1WidgetMarkupImage struct { // 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 + // 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 @@ -12710,78 +11605,54 @@ type GoogleChatV1WidgetMarkupImage struct { NullFields []string `json:"-"` } -func (s *GoogleChatV1WidgetMarkupImage) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupImage +func (s *HtmlOperatorOptions) MarshalJSON() ([]byte, error) { + type NoMethod HtmlOperatorOptions 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 -} +// 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"` -// 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"` + // 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"` - // IconUrl: The icon specified by a URL. - IconUrl string `json:"iconUrl,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:"-"` - // 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"` + // 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) +} - // OnClick: The onclick action. - OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,omitempty"` +// 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. "Icon") 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 @@ -12789,7 +11660,7 @@ type GoogleChatV1WidgetMarkupImageButton struct { // 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 + // 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 @@ -12798,34 +11669,19 @@ type GoogleChatV1WidgetMarkupImageButton struct { NullFields []string `json:"-"` } -func (s *GoogleChatV1WidgetMarkupImageButton) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupImageButton +func (s *HtmlValues) MarshalJSON() ([]byte, error) { + type NoMethod HtmlValues 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"` +type IconImage struct { + // AltText: The alternative text of this icon_url which will be used for + // accessibility. + AltText string `json:"altText,omitempty"` - // Icon: An enum value that will be replaced by the Chat API with the - // corresponding icon image. - // // Possible values: - // "ICON_UNSPECIFIED" + // "NONE" // "AIRPLANE" // "BOOKMARK" // "BUS" @@ -12834,6 +11690,8 @@ type GoogleChatV1WidgetMarkupKeyValue struct { // "CONFIRMATION_NUMBER_ICON" // "DOLLAR" // "DESCRIPTION" + // "EDIT" + // "EDIT_NOTE" // "EMAIL" // "EVENT_PERFORMER" // "EVENT_SEAT" @@ -12846,6 +11704,7 @@ type GoogleChatV1WidgetMarkupKeyValue struct { // "MEMBERSHIP" // "MULTIPLE_PEOPLE" // "OFFER" + // "OPEN_IN_NEW" // "PERSON" // "PHONE" // "RESTAURANT_ICON" @@ -12855,20 +11714,26 @@ type GoogleChatV1WidgetMarkupKeyValue struct { // "TICKET" // "TRAIN" // "VIDEO_CAMERA" - // "VIDEO_PLAY" + // "VIDEO_PLAY" - Add new items in alphabetical order. Next Available + // ID: 34 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"` + // 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. "BottomLabel") 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 @@ -12876,31 +11741,47 @@ type GoogleChatV1WidgetMarkupKeyValue struct { // 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 + // 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 *GoogleChatV1WidgetMarkupKeyValue) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupKeyValue +func (s *IconImage) MarshalJSON() ([]byte, error) { + type NoMethod IconImage 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"` +// 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"` - // OpenLink: This onclick triggers an open link action if specified. - OpenLink *GoogleChatV1WidgetMarkupOpenLink `json:"openLink,omitempty"` + // 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"` - // ForceSendFields is a list of field names (e.g. "Action") to + // 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 @@ -12908,59 +11789,36 @@ type GoogleChatV1WidgetMarkupOnClick struct { // 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 + // 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 *GoogleChatV1WidgetMarkupOnClick) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupOnClick +func (s *Id) MarshalJSON() ([]byte, error) { + type NoMethod Id 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:"-"` -} +type Image struct { + // AltText: The alternative text of this image which will be used for + // accessibility. + AltText string `json:"altText,omitempty"` -func (s *GoogleChatV1WidgetMarkupOpenLink) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupOpenLink - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // AspectRatio: The aspect ratio of this image (width/height). + AspectRatio float64 `json:"aspectRatio,omitempty"` -// GoogleChatV1WidgetMarkupTextButton: A button with text and onclick -// action. -type GoogleChatV1WidgetMarkupTextButton struct { - // OnClick: The onclick action of the button. - OnClick *GoogleChatV1WidgetMarkupOnClick `json:"onClick,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"` - // Text: The text of the button. - Text string `json:"text,omitempty"` + OnClick *OnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "OnClick") 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 @@ -12968,7 +11826,7 @@ type GoogleChatV1WidgetMarkupTextButton struct { // 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 + // 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 @@ -12977,90 +11835,72 @@ type GoogleChatV1WidgetMarkupTextButton struct { NullFields []string `json:"-"` } -func (s *GoogleChatV1WidgetMarkupTextButton) MarshalJSON() ([]byte, error) { - type NoMethod GoogleChatV1WidgetMarkupTextButton +func (s *Image) MarshalJSON() ([]byte, error) { + type NoMethod Image 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) +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 } -// 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. - // +type ImageButton struct { // 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"` + // "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"` - // LastContentModifiedTimestamp: The last time this document was - // modified, in seconds since epoch. Only counts content modifications. - LastContentModifiedTimestamp int64 `json:"lastContentModifiedTimestamp,omitempty,string"` + IconUrl string `json:"iconUrl,omitempty"` - // 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"` + Name string `json:"name,omitempty"` - // TypeInfo: Contains additional information about the document - // depending on its type. - TypeInfo *TypeInfo `json:"typeInfo,omitempty"` + OnClick *OnClick `json:"onClick,omitempty"` - // ForceSendFields is a list of field names (e.g. "AclInfo") to + // 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 @@ -13068,8 +11908,8 @@ 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 + // 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. @@ -13077,45 +11917,25 @@ type GoogleDocsMetadata struct { NullFields []string `json:"-"` } -func (s *GoogleDocsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleDocsMetadata +func (s *ImageButton) MarshalJSON() ([]byte, error) { + type NoMethod ImageButton 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"` +// 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"` - // 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"` + BorderStyle *BorderStyle `json:"borderStyle,omitempty"` - // MimeType: The mimetype of the document. - MimeType string `json:"mimeType,omitempty"` + CropStyle *ImageCropStyle `json:"cropStyle,omitempty"` - // ShareScope: The visibility indicator in the UI will be based upon - // this. - ShareScope *ShareScope `json:"shareScope,omitempty"` + ImageUrl string `json:"imageUrl,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 @@ -13123,44 +11943,41 @@ 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 *ImageComponent) MarshalJSON() ([]byte, error) { + type NoMethod ImageComponent 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"` +// 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"` - // Title: The text to display in the grid header. - Title string `json:"title,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. "BorderStyle") to + // 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 @@ -13168,7 +11985,7 @@ type Grid struct { // 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 + // 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 @@ -13177,73 +11994,73 @@ type Grid struct { NullFields []string `json:"-"` } -func (s *Grid) MarshalJSON() ([]byte, error) { - type NoMethod Grid +func (s *ImageCropStyle) MarshalJSON() ([]byte, error) { + type NoMethod ImageCropStyle 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) +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 } -type GroupLinkSharingModificationEvent struct { +// ImageKeyValue: This is deprecated and please use KeyValue. +type ImageKeyValue 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"` + // "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"` - // ForceSendFields is a list of field names (e.g. "NewStatus") to + 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 @@ -13251,8 +12068,8 @@ type GroupLinkSharingModificationEvent struct { // 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 + // 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. @@ -13260,38 +12077,53 @@ type GroupLinkSharingModificationEvent struct { NullFields []string `json:"-"` } -func (s *GroupLinkSharingModificationEvent) MarshalJSON() ([]byte, error) { - type NoMethod GroupLinkSharingModificationEvent +func (s *ImageKeyValue) MarshalJSON() ([]byte, error) { + type NoMethod ImageKeyValue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type HangoutEvent struct { - HangoutDurationSecs int64 `json:"hangoutDurationSecs,omitempty,string"` +// IncomingWebhookChangedMetadata: Annotation metadata to display system +// messages for incoming webhook events. Next Tag: 7 +type IncomingWebhookChangedMetadata 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"` - // 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"` + // 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 *UserId `json:"initiatorId,omitempty"` - ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` + // InitiatorProfile: Complete profile when ListTopicsRequest + // FetchOptions.USER is set. Otherwise, only the id will be filled in. + // Used in FE API responses. + InitiatorProfile *User `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: - // "START_HANGOUT" - // "JOIN_HANGOUT" - // "LEAVE_HANGOUT" - // "END_HANGOUT" - // "HANGOUT_COMING_SOON" - // "ONGOING_HANGOUT" + // "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. "HangoutDurationSecs") + // 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 @@ -13299,7 +12131,7 @@ type HangoutEvent struct { // 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 + // 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 @@ -13309,58 +12141,67 @@ type HangoutEvent struct { NullFields []string `json:"-"` } -func (s *HangoutEvent) MarshalJSON() ([]byte, error) { - type NoMethod HangoutEvent +func (s *IncomingWebhookChangedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod IncomingWebhookChangedMetadata 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"` +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. "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 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. "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 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 *HashtagData) MarshalJSON() ([]byte, error) { - type NoMethod HashtagData +func (s *IndexItemOptions) MarshalJSON() ([]byte, error) { + type NoMethod IndexItemOptions 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"` +type IndexItemRequest struct { + // ConnectorName: The name of connector making this call. Format: + // datasources/{source_id}/connectors/{ID} + ConnectorName string `json:"connectorName,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"` + // DebugOptions: Common debug options. + DebugOptions *DebugOptions `json:"debugOptions,omitempty"` - // ForceSendFields is a list of field names (e.g. "HostName") to + 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 @@ -13368,37 +12209,119 @@ type HostProto struct { // 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 + // 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 *HostProto) MarshalJSON() ([]byte, error) { - type NoMethod HostProto +func (s *IndexItemRequest) MarshalJSON() ([]byte, error) { + type NoMethod IndexItemRequest raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// HtmlOperatorOptions: Used to provide a search operator for html +// 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 HtmlOperatorOptions struct { +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 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. + // 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. "OperatorName") to + // 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 @@ -13406,7 +12329,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. "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 @@ -13415,52 +12338,15 @@ type HtmlOperatorOptions struct { 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 +func (s *IntegerPropertyOptions) MarshalJSON() ([]byte, error) { + type NoMethod IntegerPropertyOptions 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"` +// 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 @@ -13479,71 +12365,26 @@ type HtmlValues struct { NullFields []string `json:"-"` } -func (s *HtmlValues) MarshalJSON() ([]byte, error) { - type NoMethod HtmlValues +func (s *IntegerValues) MarshalJSON() ([]byte, error) { + type NoMethod IntegerValues 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"` +type IntegrationConfigMutation struct { + // AddApp: Add an app using its identifier. + AddApp *AppId `json:"addApp,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"` + // AddPinnedItem: Add a pinned tab using its identifier. + AddPinnedItem *PinnedItemId `json:"addPinnedItem,omitempty"` - IconUrl string `json:"iconUrl,omitempty"` + // RemoveApp: Remove an active app using its identifier. + RemoveApp *AppId `json:"removeApp,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"` + // RemovePinnedItem: Remove an active pinned tab using its identifier. + RemovePinnedItem *PinnedItemId `json:"removePinnedItem,omitempty"` - // ForceSendFields is a list of field names (e.g. "AltText") to + // 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 @@ -13551,8 +12392,8 @@ type IconImage struct { // 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 + // 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 // null. It is an error if a field in this list has a non-empty value. @@ -13560,38 +12401,24 @@ type IconImage struct { NullFields []string `json:"-"` } -func (s *IconImage) MarshalJSON() ([]byte, error) { - type NoMethod IconImage +func (s *IntegrationConfigMutation) MarshalJSON() ([]byte, error) { + type NoMethod IntegrationConfigMutation 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"` +// IntegrationConfigUpdatedMetadata: 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 IntegrationConfigUpdatedMetadata struct { + // InitiatorId: The user whose action triggered this system message. + InitiatorId *UserId `json:"initiatorId,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"` + // Mutations: A list of updates applied on the integration config. + Mutations []*IntegrationConfigMutation `json:"mutations,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreatorUserId") to + // 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 @@ -13599,7 +12426,7 @@ type Id struct { // 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 + // 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 @@ -13608,27 +12435,29 @@ type Id struct { NullFields []string `json:"-"` } -func (s *Id) MarshalJSON() ([]byte, error) { - type NoMethod Id +func (s *IntegrationConfigUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod IntegrationConfigUpdatedMetadata 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"` +// 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"` - // 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"` + // Principal: The user that acted on the item. + Principal *Principal `json:"principal,omitempty"` - OnClick *OnClick `json:"onClick,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. "AltText") to + // 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 @@ -13636,81 +12465,26 @@ type Image struct { // 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"` + // 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:"-"` +} - Name string `json:"name,omitempty"` +func (s *Interaction) MarshalJSON() ([]byte, error) { + type NoMethod Interaction + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - OnClick *OnClick `json:"onClick,omitempty"` +type InviteAcceptedEvent struct { + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Icon") to + // 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 @@ -13718,34 +12492,32 @@ type ImageButton struct { // 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 + // 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 *ImageButton) MarshalJSON() ([]byte, error) { - type NoMethod ImageButton +func (s *InviteAcceptedEvent) MarshalJSON() ([]byte, error) { + type NoMethod InviteAcceptedEvent 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"` +// InviteeInfo: Invitee information from a Dynamite invitation. See +// go/dynamite-invitee-mgmt. +type InviteeInfo 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"` - ImageUrl string `json:"imageUrl,omitempty"` + // UserId: Unique, immutable ID of the User. + UserId *UserId `json:"userId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AltText") to + // 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 @@ -13753,8 +12525,8 @@ type ImageComponent struct { // 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 + // 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. @@ -13762,32 +12534,73 @@ type ImageComponent struct { NullFields []string `json:"-"` } -func (s *ImageComponent) MarshalJSON() ([]byte, error) { - type NoMethod ImageComponent +func (s *InviteeInfo) MarshalJSON() ([]byte, error) { + type NoMethod InviteeInfo 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"` +// 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"` - // Type: The crop type. + // Content: Item content to be indexed and made text searchable. + Content *ItemContent `json:"content,omitempty"` + + // ItemType: The type for this item. // // 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"` + // "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"` - // ForceSendFields is a list of field names (e.g. "AspectRatio") to + // 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 @@ -13795,159 +12608,174 @@ type ImageCropStyle struct { // 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 + // 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 *ImageCropStyle) MarshalJSON() ([]byte, error) { - type NoMethod ImageCropStyle +func (s *Item) MarshalJSON() ([]byte, error) { + type NoMethod Item 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 { +// 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: - // "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"` + // "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"` - IconUrl string `json:"iconUrl,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"` - OnClick *OnClick `json:"onClick,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"` - Text string `json:"text,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"` - // ForceSendFields is a list of field names (e.g. "Icon") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *ImageKeyValue) MarshalJSON() ([]byte, error) { - type NoMethod ImageKeyValue +func (s *ItemAcl) MarshalJSON() ([]byte, error) { + type NoMethod ItemAcl 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"` +// 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"` - // 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. + // 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. - // "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. "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 *IndexItemOptions) MarshalJSON() ([]byte, error) { - type NoMethod IndexItemOptions +func (s *ItemContent) MarshalJSON() ([]byte, error) { + type NoMethod ItemContent 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"` +type ItemCountByStatus struct { + // Count: Number of items matching the status code. + Count int64 `json:"count,omitempty,string"` - // Item: The name of the item. Format: - // datasources/{source_id}/items/{item_id} - Item *Item `json:"item,omitempty"` + // 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"` - // Mode: Required. The RequestMode for this request. + // StatusCode: Status of the items. // // 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"` + // "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. "ConnectorName") to + // 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 @@ -13955,119 +12783,91 @@ 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 - // in API requests with the JSON null value. By default, fields with - // 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. "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 *IndexItemRequest) MarshalJSON() ([]byte, error) { - type NoMethod IndexItemRequest +func (s *ItemCountByStatus) MarshalJSON() ([]byte, error) { + type NoMethod ItemCountByStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// InitializeCustomerRequest: Request message for `InitializeCustomer` -// method. -type InitializeCustomerRequest struct { -} +// 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"` -// 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"` + // 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"` - // 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"` + // 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"` - // 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"` + // CreateTime: The time when the item was created in the source + // repository. + CreateTime string `json:"createTime,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:"-"` + // 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"` - // 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:"-"` -} + // 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"` -func (s *IntegerOperatorOptions) MarshalJSON() ([]byte, error) { - type NoMethod IntegerOperatorOptions - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // 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"` -// 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"` + // MimeType: The original mime-type of ItemContent.content in the source + // repository. The maximum length is 256 characters. + MimeType string `json:"mimeType,omitempty"` - // 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"` + // 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"` - // OperatorOptions: If set, describes how the integer should be used as - // a search operator. - OperatorOptions *IntegerOperatorOptions `json:"operatorOptions,omitempty"` + // SearchQualityMetadata: Additional search quality metadata of the item + SearchQualityMetadata *SearchQualityMetadata `json:"searchQualityMetadata,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"` + // 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"` - // ForceSendFields is a list of field names (e.g. "MaximumValue") to + // 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 @@ -14075,7 +12875,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. "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 @@ -14084,17 +12884,37 @@ type IntegerPropertyOptions struct { NullFields []string `json:"-"` } -func (s *IntegerPropertyOptions) MarshalJSON() ([]byte, error) { - type NoMethod IntegerPropertyOptions +func (s *ItemMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ItemMetadata 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"` +// 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"` - // ForceSendFields is a list of field names (e.g. "Values") to + // 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 @@ -14102,7 +12922,7 @@ 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 + // 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 @@ -14111,29 +12931,24 @@ type IntegerValues struct { NullFields []string `json:"-"` } -func (s *IntegerValues) MarshalJSON() ([]byte, error) { - type NoMethod IntegerValues +func (s *ItemStatus) MarshalJSON() ([]byte, error) { + type NoMethod ItemStatus 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"` +// 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"` - // 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"` + // 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. "InteractionTime") to + // 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 @@ -14141,26 +12956,100 @@ 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. "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 *Interaction) MarshalJSON() ([]byte, error) { - type NoMethod Interaction +func (s *ItemStructuredData) MarshalJSON() ([]byte, error) { + type NoMethod ItemStructuredData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type InviteAcceptedEvent struct { - ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` +type KeyValue struct { + // BottomLabel: Formatted text supported. + BottomLabel string `json:"bottomLabel,omitempty"` - // ForceSendFields is a list of field names (e.g. "ParticipantId") to + 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 @@ -14168,7 +13057,7 @@ type InviteAcceptedEvent struct { // 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 + // 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 @@ -14177,73 +13066,45 @@ type InviteAcceptedEvent struct { NullFields []string `json:"-"` } -func (s *InviteAcceptedEvent) MarshalJSON() ([]byte, error) { - type NoMethod InviteAcceptedEvent +func (s *KeyValue) MarshalJSON() ([]byte, error) { + type NoMethod KeyValue 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"` +// LanguageConfig: The language configuration for the session. +type LanguageConfig struct { + // SpokenLanguages: The spoken language(s) in BCP47 language code. + SpokenLanguages []string `json:"spokenLanguages,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"` + // 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:"-"` - // 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"` + // 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:"-"` +} - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` +func (s *LanguageConfig) MarshalJSON() ([]byte, error) { + type NoMethod LanguageConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // ForceSendFields is a list of field names (e.g. "Acl") to +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 @@ -14251,8 +13112,8 @@ 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 + // 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. @@ -14260,75 +13121,61 @@ type Item struct { NullFields []string `json:"-"` } -func (s *Item) MarshalJSON() ([]byte, error) { - type NoMethod Item +func (s *LdapGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod LdapGroupProto 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"` +type LdapUserProto struct { + UserName string `json:"userName,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"` + // 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:"-"` - // 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"` + // 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:"-"` +} - // 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"` +func (s *LdapUserProto) MarshalJSON() ([]byte, error) { + type NoMethod LdapUserProto + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // 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"` +// LegacyUploadMetadata: The original UploadMetadata that this +// DriveMetadata was converted from. +type LegacyUploadMetadata 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"` - // ForceSendFields is a list of field names (e.g. "AclInheritanceType") - // to unconditionally include in API requests. By default, fields with + // 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 *UploadMetadata `json:"uploadMetadata,omitempty"` + + // 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. "AclInheritanceType") 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 @@ -14338,37 +13185,92 @@ type ItemAcl struct { NullFields []string `json:"-"` } -func (s *ItemAcl) MarshalJSON() ([]byte, error) { - type NoMethod ItemAcl +func (s *LegacyUploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod LegacyUploadMetadata 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"` +// 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 *SocialCommonAttachmentAttachment `json:"attachment,omitempty"` + // AttachmentRenderHint: The hint to use when rendering the associated + // attachment. Ignored if there is no associated attachment. + // // Possible values: - // "UNSPECIFIED" - Invalid value. - // "HTML" - contentFormat is HTML. - // "TEXT" - contentFormat is free text. - // "RAW" - contentFormat is raw bytes. - ContentFormat string `json:"contentFormat,omitempty"` + // "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"` - // 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"` + // 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"` - // InlineContent: Content that is supplied inlined within the update - // method. The maximum length is 102400 bytes (100 KiB). - InlineContent string `json:"inlineContent,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"` - // ForceSendFields is a list of field names (e.g. "ContentDataRef") to + // 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 @@ -14376,49 +13278,67 @@ 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. "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 *ItemContent) MarshalJSON() ([]byte, error) { - type NoMethod ItemContent +func (s *LinkData) MarshalJSON() ([]byte, error) { + type NoMethod LinkData 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"` +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"` - // 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"` + 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"` - // 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"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Count") to + // 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 @@ -14426,8 +13346,8 @@ 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 - // requests with the JSON null value. By default, fields with empty + // 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. @@ -14435,82 +13355,24 @@ type ItemCountByStatus struct { NullFields []string `json:"-"` } -func (s *ItemCountByStatus) MarshalJSON() ([]byte, error) { - type NoMethod ItemCountByStatus +func (s *ListItemNamesForUnmappedIdentityResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListItemNamesForUnmappedIdentityResponse 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"` +type ListItemsResponse struct { + Items []*Item `json:"items,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"` + // 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"` - // UpdateTime: The time when the item was last modified in the source - // repository. - UpdateTime string `json:"updateTime,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ContainerName") 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 @@ -14518,46 +13380,36 @@ type ItemMetadata struct { // 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 + // 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 *ItemMetadata) MarshalJSON() ([]byte, error) { - type NoMethod ItemMetadata +func (s *ListItemsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListItemsResponse 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"` +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` - // ProcessingErrors: Error details in case the item is in ERROR state. - ProcessingErrors []*ProcessingError `json:"processingErrors,omitempty"` + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,omitempty"` - // RepositoryErrors: Repository error reported by connector. - RepositoryErrors []*RepositoryError `json:"repositoryErrors,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Code") to + // 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 @@ -14565,33 +13417,32 @@ type ItemStatus 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. "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 *ItemStatus) MarshalJSON() ([]byte, error) { - type NoMethod ItemStatus +func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListOperationsResponse 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"` +// ListQuerySourcesResponse: List sources response. +type ListQuerySourcesResponse struct { + NextPageToken string `json:"nextPageToken,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"` + Sources []*QuerySource `json:"sources,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hash") to + // 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 @@ -14599,100 +13450,67 @@ 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 - // 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. "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 *ItemStructuredData) MarshalJSON() ([]byte, error) { - type NoMethod ItemStructuredData +func (s *ListQuerySourcesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListQuerySourcesResponse 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"` +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"` - // 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"` + SearchApplications []*SearchApplication `json:"searchApplications,omitempty"` - // IconAltText: The alternative text of this icon_url which will be used - // for accessibility. - IconAltText string `json:"iconAltText,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - IconUrl string `json:"iconUrl,omitempty"` + // 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:"-"` - // 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"` + // 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:"-"` +} - // OnClick: Only the top/bottom label + content region is clickable. - OnClick *OnClick `json:"onClick,omitempty"` +func (s *ListSearchApplicationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListSearchApplicationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} - // StartIcon: The optional icon to display before the text content. - StartIcon *IconImage `json:"startIcon,omitempty"` +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"` - SwitchWidget *SwitchWidget `json:"switchWidget,omitempty"` + UnmappedIdentities []*UnmappedIdentity `json:"unmappedIdentities,omitempty"` - // TopLabel: Formatted text supported. - TopLabel string `json:"topLabel,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "BottomLabel") to + // 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 @@ -14700,7 +13518,7 @@ type KeyValue struct { // 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 + // 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 @@ -14709,18 +13527,21 @@ type KeyValue struct { NullFields []string `json:"-"` } -func (s *KeyValue) MarshalJSON() ([]byte, error) { - type NoMethod KeyValue +func (s *ListUnmappedIdentitiesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListUnmappedIdentitiesResponse 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"` +// MatchRange: Matched range of a snippet [start, end). +type MatchRange struct { + // End: End of the match in the snippet. + End int64 `json:"end,omitempty"` - // ForceSendFields is a list of field names (e.g. "SpokenLanguages") to + // 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 @@ -14728,23 +13549,26 @@ type LanguageConfig struct { // 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 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 *LanguageConfig) MarshalJSON() ([]byte, error) { - type NoMethod LanguageConfig +func (s *MatchRange) MarshalJSON() ([]byte, error) { + type NoMethod MatchRange raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type LdapGroupProto struct { +// 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 @@ -14764,16 +13588,26 @@ type LdapGroupProto struct { NullFields []string `json:"-"` } -func (s *LdapGroupProto) MarshalJSON() ([]byte, error) { - type NoMethod LdapGroupProto +func (s *MdbGroupProto) MarshalJSON() ([]byte, error) { + type NoMethod MdbGroupProto raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type LdapUserProto struct { +// 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. "UserName") 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 @@ -14781,8 +13615,8 @@ type LdapUserProto struct { // 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 + // 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. @@ -14790,92 +13624,22 @@ type LdapUserProto struct { NullFields []string `json:"-"` } -func (s *LdapUserProto) MarshalJSON() ([]byte, error) { - type NoMethod LdapUserProto +func (s *MdbUserProto) MarshalJSON() ([]byte, error) { + type NoMethod MdbUserProto 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"` +// Media: Media resource. +type Media struct { + // ResourceName: Name of the media resource. + ResourceName string `json:"resourceName,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"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Attachment") to + // 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 @@ -14883,101 +13647,147 @@ type LinkData struct { // 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 + // 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 *LinkData) MarshalJSON() ([]byte, error) { - type NoMethod LinkData +func (s *Media) MarshalJSON() ([]byte, error) { + type NoMethod Media 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"` +// 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"` - Sources []*DataSource `json:"sources,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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // 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"` - // 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:"-"` + // 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"` - // 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:"-"` -} + // MeetingUrl: A URL to identify and access the meeting space. Output + // only. + MeetingUrl string `json:"meetingUrl,omitempty"` -func (s *ListDataSourceResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListDataSourceResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // 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"` -type ListItemNamesForUnmappedIdentityResponse struct { - ItemNames []string `json:"itemNames,omitempty"` + // PhoneAccess: All regional phone access methods for this meeting + // space. Can be empty. + PhoneAccess []*PhoneAccess `json:"phoneAccess,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"` + // Settings: Settings of the meeting space. + Settings *Settings `json:"settings,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // 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. "ItemNames") to - // unconditionally include in API requests. By default, fields with + // 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. "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 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 *ListItemNamesForUnmappedIdentityResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListItemNamesForUnmappedIdentityResponse +func (s *MeetingSpace) MarshalJSON() ([]byte, error) { + type NoMethod MeetingSpace 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"` +type Member struct { + Roster *Roster `json:"roster,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + User *User `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") to + // 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 @@ -14985,7 +13795,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. "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 @@ -14994,27 +13804,22 @@ type ListItemsResponse struct { NullFields []string `json:"-"` } -func (s *ListItemsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListItemsResponse +func (s *Member) MarshalJSON() ([]byte, error) { + type NoMethod Member 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"` +// MemberId: 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 MemberId struct { + // RosterId: Unique, immutable ID of the Roster. + RosterId *RosterId `json:"rosterId,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // UserId: Unique, immutable ID of the User. + UserId *UserId `json:"userId,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // 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 @@ -15022,32 +13827,39 @@ 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 - // in API requests with the JSON null value. By default, fields with - // 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. "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. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListOperationsResponse +func (s *MemberId) MarshalJSON() ([]byte, error) { + type NoMethod MemberId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListQuerySourcesResponse: List sources response. -type ListQuerySourcesResponse struct { - NextPageToken string `json:"nextPageToken,omitempty"` +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"` - Sources []*QuerySource `json:"sources,omitempty"` + ParticipantId []*StoredParticipantId `json:"participantId,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Possible values: + // "JOIN" + // "LEAVE" + Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // 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 @@ -15055,7 +13867,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. "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 @@ -15064,89 +13876,120 @@ type ListQuerySourcesResponse struct { NullFields []string `json:"-"` } -func (s *ListQuerySourcesResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListQuerySourcesResponse +func (s *MembershipChangeEvent) MarshalJSON() ([]byte, error) { + type NoMethod MembershipChangeEvent 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"` +// MembershipChangedMetadata: Annotation metadata to display system +// messages for membership changes. +type MembershipChangedMetadata struct { + AffectedMemberProfiles []*Member `json:"affectedMemberProfiles,omitempty"` - SearchApplications []*SearchApplication `json:"searchApplications,omitempty"` + // AffectedMembers: List of users and rosters whose membership status + // changed. + AffectedMembers []*MemberId `json:"affectedMembers,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + AffectedMemberships []*AffectedMembership `json:"affectedMemberships,omitempty"` - // 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. + // Initiator: The user whose action triggered this system message. + Initiator *UserId `json:"initiator,omitempty"` + + // InitiatorProfile: Complete member profiles, when ListTopicsRequest + // FetchOptions.USER is set. Otherwise, only the id will be filled in. + InitiatorProfile *User `json:"initiatorProfile,omitempty"` + + // Possible values: + // "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. + // "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. "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. "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 *ListSearchApplicationsResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListSearchApplicationsResponse +func (s *MembershipChangedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod MembershipChangedMetadata 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"` +// Menu: This is deprecated and please use SelectionControl by setting +// type to DROPDOWN. +type Menu struct { + Items []*MenuItem `json:"items,omitempty"` - UnmappedIdentities []*UnmappedIdentity `json:"unmappedIdentities,omitempty"` + // Label: Label used to be displayed ahead of the menu. It is optional. + Label string `json:"label,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // Name: The name of the text field which is will be used in FormInput. + Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // 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. "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. "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 *ListUnmappedIdentitiesResponse) MarshalJSON() ([]byte, error) { - type NoMethod ListUnmappedIdentitiesResponse +func (s *Menu) MarshalJSON() ([]byte, error) { + type NoMethod Menu 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"` +type MenuItem struct { + Selected bool `json:"selected,omitempty"` - // Start: Starting position of the match in the snippet. - Start int64 `json:"start,omitempty"` + // Text: The text to be displayed. + Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "End") to + // 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 @@ -15154,8 +13997,8 @@ 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 - // requests with the JSON null value. By default, fields with empty + // 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. @@ -15163,88 +14006,316 @@ type MatchRange struct { NullFields []string `json:"-"` } -func (s *MatchRange) MarshalJSON() ([]byte, error) { - type NoMethod MatchRange - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} +func (s *MenuItem) MarshalJSON() ([]byte, error) { + type NoMethod MenuItem + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Message: Message posted to a Space. +type Message struct { + // Annotations: Annotations parsed and extracted from the text body. + Annotations []*Annotation `json:"annotations,omitempty"` + + // AppProfile: Custom display profile info for apps. Leave the field + // empty for real users. + AppProfile *AppsDynamiteSharedAppProfile `json:"appProfile,omitempty"` + + // Attachments: Attachments parsed from incoming webhooks + Attachments []*Attachment `json:"attachments,omitempty"` + + // Attributes: Lightweight message attributes which values are + // calculated and set in the servers. + Attributes *MessageAttributes `json:"attributes,omitempty"` + + // BotResponses: Responses from bots indicating if extra auth/config is + // needed. + BotResponses []*BotResponse `json:"botResponses,omitempty"` + + // 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 []*CommunalLabelTag `json:"communalLabels,omitempty"` + + ContentReportSummary *ContentReportSummary `json:"contentReportSummary,omitempty"` + + // CreateTime: Time when the Message was posted in microseconds. + CreateTime int64 `json:"createTime,omitempty,string"` + + // 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 *UserId `json:"creatorId,omitempty"` + + // 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 *DlpScanSummary `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 *MessageId `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"` + + // 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"` + + // 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 []*PersonalLabelTag `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 []*PrivateMessageInfo `json:"privateMessageInfos,omitempty"` -// 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"` + // 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 *UserId `json:"privateMessageViewer,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:"-"` + // Props: Contains additional (currently Hangouts Classic only) + // properties applicable to this message. + Props *MessageProps `json:"props,omitempty"` - // 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:"-"` -} + // 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"` -func (s *MdbGroupProto) MarshalJSON() ([]byte, error) { - type NoMethod MdbGroupProto - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // QuotedMessageMetadata: Output only. Metadata for a message that is + // quoted by this message. + QuotedMessageMetadata *QuotedMessageMetadata `json:"quotedMessageMetadata,omitempty"` -// 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"` + // 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"` - UserName string `json:"userName,omitempty"` + // Reports: Output only. Details of content reports. Set only when the + // request asks for it. + Reports []*ContentReport `json:"reports,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:"-"` + // RetentionSettings: The retention settings of the message. + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` - // 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:"-"` -} + // 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"` -func (s *MdbUserProto) MarshalJSON() ([]byte, error) { - type NoMethod MdbUserProto - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // TextBody: Plaintext body of the Message. + TextBody string `json:"textBody,omitempty"` -// Media: Media resource. -type Media struct { - // ResourceName: Name of the media resource. - ResourceName string `json:"resourceName,omitempty"` + // TombstoneMetadata: Information for the stoning of a Message. + TombstoneMetadata *TombstoneMetadata `json:"tombstoneMetadata,omitempty"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // 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 *UserId `json:"updaterId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ResourceName") to + // 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 []*UploadMetadata `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 @@ -15252,7 +14323,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. "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 @@ -15261,150 +14332,53 @@ type Media struct { NullFields []string `json:"-"` } -func (s *Media) MarshalJSON() ([]byte, error) { - type NoMethod Media +func (s *Message) MarshalJSON() ([]byte, error) { + type NoMethod Message 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"` +// MessageAttributes: Stores tombstone message attributes: +// go/tombstone-message-attributes-overview +type MessageAttributes 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. "AcceptedNumberClass") - // to unconditionally include in API requests. By default, fields with + // 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 // sent to the server regardless of whether the field is empty or 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 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 + // null. It is an error if a field 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 +func (s *MessageAttributes) MarshalJSON() ([]byte, error) { + type NoMethod MessageAttributes 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"` +// MessageId: Primary key for Message resource. +type MessageId 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"` - // Possible values: - // "JOIN" - // "LEAVE" - Type string `json:"type,omitempty"` + // ParentId: ID of the Message's immediate parent. + ParentId *MessageParentId `json:"parentId,omitempty"` - // ForceSendFields is a list of field names (e.g. "LeaveReason") 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 @@ -15412,37 +14386,39 @@ type MembershipChangeEvent struct { // 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 + // 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 *MembershipChangeEvent) MarshalJSON() ([]byte, error) { - type NoMethod MembershipChangeEvent +func (s *MessageId) MarshalJSON() ([]byte, error) { + type NoMethod MessageId 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"` +type MessageInfo struct { + // Message: The content of a matching message. + Message *Message `json:"message,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"` + // SearcherMembershipState: Searcher's membership state in the space + // where the message is posted. + // + // 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. + SearcherMembershipState string `json:"searcherMembershipState,omitempty"` - // ForceSendFields is a list of field names (e.g. "Items") 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 @@ -15450,8 +14426,8 @@ type Menu 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. "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. @@ -15459,23 +14435,21 @@ type Menu struct { NullFields []string `json:"-"` } -func (s *Menu) MarshalJSON() ([]byte, error) { - type NoMethod Menu +func (s *MessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod MessageInfo 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"` +// MessageParentId: 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 MessageParentId struct { + // TopicId: ID of the Topic this Message is posted to. NEXT TAG : 5 + TopicId *TopicId `json:"topicId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Selected") 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 @@ -15483,7 +14457,7 @@ type MenuItem struct { // 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 + // 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 @@ -15492,28 +14466,20 @@ type MenuItem struct { NullFields []string `json:"-"` } -func (s *MenuItem) MarshalJSON() ([]byte, error) { - type NoMethod MenuItem +func (s *MessageParentId) MarshalJSON() ([]byte, error) { + type NoMethod MessageParentId 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"` +// MessageProps: 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 MessageProps struct { + BabelProps *BabelMessageProps `json:"babelProps,omitempty"` - // ForceSendFields is a list of field names (e.g. "Attachment") 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 @@ -15521,7 +14487,7 @@ type MessageContent struct { // 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 + // 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 @@ -15530,8 +14496,8 @@ type MessageContent struct { NullFields []string `json:"-"` } -func (s *MessageContent) MarshalJSON() ([]byte, error) { - type NoMethod MessageContent +func (s *MessageProps) MarshalJSON() ([]byte, error) { + type NoMethod MessageProps raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -16313,6 +15279,37 @@ func (s *Person) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PersonalLabelTag: An individual instance (or "tag") of a label +// configured as a personal type that's associated with a message. +type PersonalLabelTag 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"` + + // 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:"-"` + + // 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 *PersonalLabelTag) MarshalJSON() ([]byte, error) { + type NoMethod PersonalLabelTag + 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. @@ -16428,6 +15425,33 @@ func (s *Photo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type PinnedItemId 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. "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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 *PinnedItemId) MarshalJSON() ([]byte, error) { + type NoMethod PinnedItemId + 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} @@ -16772,6 +15796,51 @@ func (s *PrincipalProto) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PrivateMessageInfo: Private message information specific to a given +// user. +type PrivateMessageInfo struct { + // Annotations: Annotations private to {@code userId}. + Annotations []*Annotation `json:"annotations,omitempty"` + + // Attachments: Attachments private to {@code userId}. + Attachments []*Attachment `json:"attachments,omitempty"` + + ContextualAddOnMarkup []*GoogleChatV1ContextualAddOnMarkup `json:"contextualAddOnMarkup,omitempty"` + + GsuiteIntegrationMetadata []*GsuiteIntegrationMetadata `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 *UserId `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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 *PrivateMessageInfo) MarshalJSON() ([]byte, error) { + type NoMethod PrivateMessageInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProcessingError struct { // Code: Error code indicating the nature of the error. // @@ -17395,38 +16464,139 @@ 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 - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []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 { +} + +// QuotedMessageMetadata: 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 QuotedMessageMetadata struct { + // Annotations: Output only. Snapshot of the annotations of the quoted + // message. + Annotations []*Annotation `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 *UserId `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"` -func (s *QueryOperator) MarshalJSON() ([]byte, error) { - type NoMethod QueryOperator - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} + // 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 *MessageId `json:"messageId,omitempty"` -// 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"` + // 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"` - // Operators: List of all operators applicable for this source. - Operators []*QueryOperator `json:"operators,omitempty"` + // RetentionSettings: Output only. The retention (OTR) settings of the + // quoted message. + RetentionSettings *AppsDynamiteSharedRetentionSettings `json:"retentionSettings,omitempty"` - // ShortName: A short name or alias for the source. This value can be - // used with the 'source' operator. - ShortName string `json:"shortName,omitempty"` + // TextBody: Output only. Snapshot of the text body of the quoted + // message. + TextBody string `json:"textBody,omitempty"` - // Source: The name of the source - Source *Source `json:"source,omitempty"` + // UploadMetadata: Output only. Upload metadata of the quoted message. + // NEXT TAG: 11 + UploadMetadata []*UploadMetadata `json:"uploadMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to + // 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 @@ -17434,7 +16604,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. "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 @@ -17443,18 +16613,12 @@ type QuerySource struct { NullFields []string `json:"-"` } -func (s *QuerySource) MarshalJSON() ([]byte, error) { - type NoMethod QuerySource +func (s *QuotedMessageMetadata) MarshalJSON() ([]byte, error) { + type NoMethod QuotedMessageMetadata 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). @@ -17553,6 +16717,34 @@ func (s *ReactionInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ReadReceiptsSettingsUpdatedMetadata struct { + // ReadReceiptsEnabled: The new read receipts state. + ReadReceiptsEnabled bool `json:"readReceiptsEnabled,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:"-"` + + // 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:"-"` +} + +func (s *ReadReceiptsSettingsUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ReadReceiptsSettingsUpdatedMetadata + 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 { @@ -17859,6 +17051,38 @@ func (s *RequestOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RequiredMessageFeaturesMetadata: A list of capabilities that are used +// in this message. +type RequiredMessageFeaturesMetadata 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RequiredMessageFeaturesMetadata) MarshalJSON() ([]byte, error) { + type NoMethod RequiredMessageFeaturesMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ResetSearchApplicationRequest struct { // DebugOptions: Common debug options. DebugOptions *DebugOptions `json:"debugOptions,omitempty"` @@ -17927,10 +17151,13 @@ func (s *ResourceRoleProto) MarshalJSON() ([]byte, error) { // ResponseDebugInfo: Debugging information about the response. type ResponseDebugInfo struct { + // EnabledExperiments: Experiments enabled in QAPI. + EnabledExperiments []int64 `json:"enabledExperiments,omitempty"` + // FormattedDebugInfo: General debug info formatted for display. FormattedDebugInfo string `json:"formattedDebugInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedDebugInfo") + // ForceSendFields is a list of field names (e.g. "EnabledExperiments") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -17938,7 +17165,7 @@ type ResponseDebugInfo struct { // 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. "EnabledExperiments") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the @@ -18101,29 +17328,193 @@ 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 - // null. It is an 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. "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) +} + +type RoomRenameMetadata struct { + NewName string `json:"newName,omitempty"` + + // PrevName: NEXT_TAG: 3 + PrevName string `json:"prevName,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 *RoomRenameMetadata) MarshalJSON() ([]byte, error) { + type NoMethod RoomRenameMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoomUpdatedMetadata struct { + GroupDetailsMetadata *GroupDetailsUpdatedMetadata `json:"groupDetailsMetadata,omitempty"` + + GroupLinkSharingEnabled bool `json:"groupLinkSharingEnabled,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 *User `json:"initiator,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"` + + // Name: What was updated in the room. + Name string `json:"name,omitempty"` + + RenameMetadata *RoomRenameMetadata `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. "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 *ResultDisplayLine) MarshalJSON() ([]byte, error) { - type NoMethod ResultDisplayLine +func (s *RoomUpdatedMetadata) MarshalJSON() ([]byte, error) { + type NoMethod RoomUpdatedMetadata 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"` +// Roster: Roster profile information. +type Roster struct { + AvatarUrl string `json:"avatarUrl,omitempty"` - // ObjectTypeLabel: The display label for the object. - ObjectTypeLabel string `json:"objectTypeLabel,omitempty"` + Id *RosterId `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metalines") to + MembershipCount int64 `json:"membershipCount,omitempty"` + + 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 @@ -18131,7 +17522,7 @@ 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 + // 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 @@ -18140,28 +17531,18 @@ type ResultDisplayMetadata struct { NullFields []string `json:"-"` } -func (s *ResultDisplayMetadata) MarshalJSON() ([]byte, error) { - type NoMethod ResultDisplayMetadata +func (s *Roster) MarshalJSON() ([]byte, error) { + type NoMethod Roster 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"` +// RosterId: Primary key for Roster resource. +type RosterId struct { + // Id: Opaque, server-assigned ID of the Roster. + Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Importance") 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 @@ -18169,8 +17550,8 @@ type RetrievalImportance struct { // 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. "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. @@ -18178,8 +17559,8 @@ type RetrievalImportance struct { NullFields []string `json:"-"` } -func (s *RetrievalImportance) MarshalJSON() ([]byte, error) { - type NoMethod RetrievalImportance +func (s *RosterId) MarshalJSON() ([]byte, error) { + type NoMethod RosterId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -19379,6 +18760,58 @@ func (s *SimpleSecretLabelProto) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SlashCommandMetadata: Annotation metadata for slash commands (/). +type SlashCommandMetadata 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 *UserId `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 *SlashCommandMetadata) MarshalJSON() ([]byte, error) { + type NoMethod SlashCommandMetadata + 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 { @@ -19413,6 +18846,47 @@ func (s *Snippet) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SocialCommonAttachmentAttachment: 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 SocialCommonAttachmentAttachment 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 *SocialCommonAttachmentAttachment) MarshalJSON() ([]byte, error) { + type NoMethod SocialCommonAttachmentAttachment + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // 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. @@ -19681,6 +19155,34 @@ func (s *SourceScoringConfig) MarshalJSON() ([]byte, error) { 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"` + + // 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 *SpaceId) MarshalJSON() ([]byte, error) { + type NoMethod SpaceId + 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"` @@ -20153,6 +19655,56 @@ func (s *SuggestResult) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SupportUrls: Urls with additional bot related information. +type SupportUrls struct { + // AdminConfigUrl: Link to the admin configuration webpage for the bot. + // Configured by Pantheon, may be empty. + AdminConfigUrl string `json:"adminConfigUrl,omitempty"` + + // DeletionPolicyUrl: Link to the deletion policy webpage for the bot. + // Configured by Pantheon, may be empty. + DeletionPolicyUrl string `json:"deletionPolicyUrl,omitempty"` + + // PrivacyPolicyUrl: Link to the privacy policy webpage for the bot. May + // be empty. + PrivacyPolicyUrl string `json:"privacyPolicyUrl,omitempty"` + + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 *SupportUrls) MarshalJSON() ([]byte, error) { + type NoMethod SupportUrls + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SwitchWidget struct { // Possible values: // "UNSPECIFIED" @@ -20194,10 +19746,6 @@ func (s *SwitchWidget) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TasksMetadata: A Tasks message in Dynamite. -type TasksMetadata struct { -} - type TextButton struct { // AltText: The alternative text used for accessibility Next field // number: 7. @@ -20567,7 +20115,50 @@ func (s *TimestampPropertyOptions) MarshalJSON() ([]byte, error) { type TimestampValues struct { Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") 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 + // sent to the server regardless of whether the field is empty or 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 *TimestampValues) MarshalJSON() ([]byte, error) { + type NoMethod TimestampValues + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TombstoneMetadata: 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 TombstoneMetadata 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 @@ -20575,17 +20166,17 @@ 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 - // 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. "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 *TimestampValues) MarshalJSON() ([]byte, error) { - type NoMethod TimestampValues +func (s *TombstoneMetadata) MarshalJSON() ([]byte, error) { + type NoMethod TombstoneMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -20623,6 +20214,40 @@ func (s *Toolbar) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type TopicId struct { + // GroupId: The Space or DM that the topic belongs to. + GroupId *GroupId `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 *TopicId) MarshalJSON() ([]byte, error) { + type NoMethod TopicId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TranscriptionSessionInfo: Information about a transcription session. type TranscriptionSessionInfo struct { // SessionStateInfo: Transcription session's state information. @@ -20902,26 +20527,309 @@ type UpdateSchemaRequest struct { NullFields []string `json:"-"` } -func (s *UpdateSchemaRequest) MarshalJSON() ([]byte, error) { - type NoMethod UpdateSchemaRequest +func (s *UpdateSchemaRequest) MarshalJSON() ([]byte, error) { + type NoMethod UpdateSchemaRequest + 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:"-"` + + // 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 *UploadItemRef) MarshalJSON() ([]byte, error) { + type NoMethod UploadItemRef + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UploadMetadata: Annotation metadata for user Upload artifacts. +type UploadMetadata 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 *UploadMetadata) MarshalJSON() ([]byte, error) { + type NoMethod UploadMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UrlMetadata: 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 UrlMetadata 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 *UrlMetadata) MarshalJSON() ([]byte, error) { + type NoMethod UrlMetadata 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. +// User: User profile information. This user is not necessarily member +// of a space. +type User struct { + // AvatarUrl: URL for the avatar picture of the User in dynamite + AvatarUrl string `json:"avatarUrl,omitempty"` + + // 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 *BotInfo `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 *UserId `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"` - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` + // OrganizationInfo: Information about whether the user is a consumer + // user, or the GSuite customer that they belong to. + OrganizationInfo *AppsDynamiteSharedOrganizationInfo `json:"organizationInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to + // 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 @@ -20929,8 +20837,8 @@ 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 + // 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. @@ -20938,8 +20846,8 @@ type UploadItemRef struct { NullFields []string `json:"-"` } -func (s *UploadItemRef) MarshalJSON() ([]byte, error) { - type NoMethod UploadItemRef +func (s *User) MarshalJSON() ([]byte, error) { + type NoMethod User raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -20975,6 +20883,71 @@ func (s *UserDisplayInfo) MarshalJSON() ([]byte, error) { 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"` + + // 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 *AppId `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 *UserId) MarshalJSON() ([]byte, error) { + type NoMethod UserId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UserInfo: Contains info regarding the updater of an Activity Feed // item. Next Id: 6 type UserInfo struct { @@ -21007,7 +20980,7 @@ type UserInfo struct { // UpdaterToShowUserId: The updater for clients to show used for // Dynamite Chat items. - UpdaterToShowUserId *AppsDynamiteUserId `json:"updaterToShowUserId,omitempty"` + UpdaterToShowUserId *UserId `json:"updaterToShowUserId,omitempty"` // ForceSendFields is a list of field names (e.g. // "UpdaterCountDisplayType") to unconditionally include in API @@ -21081,6 +21054,65 @@ func (s *UserMentionData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UserMentionMetadata: Annotation metadata for user mentions (+/@/-). +type UserMentionMetadata 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 *UserId `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 *InviteeInfo `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 *UserMentionMetadata) MarshalJSON() ([]byte, error) { + type NoMethod UserMentionMetadata + 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 @@ -21199,11 +21231,20 @@ func (s *ValueFilter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// VideoCallMetadata: A Meet initiated in Dynamite and its URL. type VideoCallMetadata struct { - MeetingUrl string `json:"meetingUrl,omitempty"` + // MeetingSpace: Thor meeting space. + MeetingSpace *MeetingSpace `json:"meetingSpace,omitempty"` - // ForceSendFields is a list of field names (e.g. "MeetingUrl") to + // 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 @@ -21211,10 +21252,10 @@ type VideoCallMetadata struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // 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 + // 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:"-"` @@ -21597,6 +21638,44 @@ func (s *YouTubeLiveBroadcastEvent) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// YoutubeMetadata: Annotation metadata for YouTube artifact. +type YoutubeMetadata 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 *YoutubeMetadata) MarshalJSON() ([]byte, error) { + type NoMethod YoutubeMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type YoutubeUserProto struct { YoutubeUserId int64 `json:"youtubeUserId,omitempty,string"` diff --git a/cloudsupport/v2beta/cloudsupport-api.json b/cloudsupport/v2beta/cloudsupport-api.json index 2afe82a79a5..397a546d7ae 100644 --- a/cloudsupport/v2beta/cloudsupport-api.json +++ b/cloudsupport/v2beta/cloudsupport-api.json @@ -575,7 +575,7 @@ } } }, - "revision": "20220726", + "revision": "20220812", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { @@ -711,7 +711,7 @@ "P4" ], "enumDescriptions": [ - "Severity is undefined or has not been set yet.", + "Priority is undefined or has not been set yet.", "Extreme impact on a production service. Service is hard down.", "Critical impact on a production service. Service is currently unusable.", "Severe impact on a production service. Service is usable but greatly impaired.", diff --git a/cloudsupport/v2beta/cloudsupport-gen.go b/cloudsupport/v2beta/cloudsupport-gen.go index a7dbe02470f..eee0aa04d47 100644 --- a/cloudsupport/v2beta/cloudsupport-gen.go +++ b/cloudsupport/v2beta/cloudsupport-gen.go @@ -373,7 +373,7 @@ type Case struct { // severity. // // Possible values: - // "PRIORITY_UNSPECIFIED" - Severity is undefined or has not been set + // "PRIORITY_UNSPECIFIED" - Priority is undefined or has not been set // yet. // "P0" - Extreme impact on a production service. Service is hard // down. diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index c41a4f72f7e..a3517df20db 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -3137,7 +3137,7 @@ }, "path": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", "request": { - "$ref": "DisksStopGroupAsyncReplicationRequest" + "$ref": "DisksStopGroupAsyncReplicationResource" }, "response": { "$ref": "Operation" @@ -18488,6 +18488,56 @@ "https://www.googleapis.com/auth/compute" ] }, + "simulateMaintenanceEvent": { + "description": "Simulates maintenance event on specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + "httpMethod": "POST", + "id": "compute.nodeGroups.simulateMaintenanceEvent", + "parameterOrder": [ + "project", + "zone", + "nodeGroup" + ], + "parameters": { + "nodeGroup": { + "description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + "request": { + "$ref": "NodeGroupsSimulateMaintenanceEventRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", @@ -23204,7 +23254,7 @@ }, "path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", "request": { - "$ref": "RegionDisksStopGroupAsyncReplicationRequest" + "$ref": "DisksStopGroupAsyncReplicationResource" }, "response": { "$ref": "Operation" @@ -27382,345 +27432,6 @@ } } }, - "regionNetworks": { - "methods": { - "delete": { - "description": "Deletes the specified network.", - "flatPath": "projects/{project}/regions/{region}/networks/{network}", - "httpMethod": "DELETE", - "id": "compute.regionNetworks.delete", - "parameterOrder": [ - "project", - "region", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks/{network}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified network.", - "flatPath": "projects/{project}/regions/{region}/networks/{network}", - "httpMethod": "GET", - "id": "compute.regionNetworks.get", - "parameterOrder": [ - "project", - "region", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks/{network}", - "response": { - "$ref": "Network" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/networks/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.regionNetworks.getIamPolicy", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks/{resource}/getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a network in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/networks", - "httpMethod": "POST", - "id": "compute.regionNetworks.insert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks", - "request": { - "$ref": "Network" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "Retrieves the list of networks available to the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/networks", - "httpMethod": "GET", - "id": "compute.regionNetworks.list", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/networks", - "response": { - "$ref": "NetworkList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.regionNetworks.setIamPolicy", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/networks/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionNetworks.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networks/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, "regionNotificationEndpoints": { "methods": { "aggregatedList": { @@ -39597,7 +39308,7 @@ } } }, - "revision": "20220726", + "revision": "20220809", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -41034,6 +40745,11 @@ "format": "int64", "type": "string" }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.", + "format": "int64", + "type": "string" + }, "replicaZones": { "description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", "items": { @@ -43566,7 +43282,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -44816,6 +44532,11 @@ "format": "int64", "type": "string" }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124.", + "format": "int64", + "type": "string" + }, "region": { "description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" @@ -45909,8 +45630,9 @@ }, "type": "object" }, - "DisksStopGroupAsyncReplicationRequest": { - "id": "DisksStopGroupAsyncReplicationRequest", + "DisksStopGroupAsyncReplicationResource": { + "description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", + "id": "DisksStopGroupAsyncReplicationResource", "properties": { "resourcePolicy": { "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", @@ -52336,7 +52058,7 @@ "id": "InstanceGroupManagerInstanceLifecyclePolicy", "properties": { "forceUpdateOnRepair": { - "description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. However, if you've set up a proactive type of update policy, then configuration updates are applied as usual. - YES: If configuration updates are available, they are applied during repair. ", + "description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", "enum": [ "NO", "YES" @@ -53963,6 +53685,7 @@ "enum": [ "ABANDONING", "CREATING", + "CREATING_ATOMICALLY", "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", @@ -53978,6 +53701,7 @@ "enumDescriptions": [ "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", + "The managed instance group is creating this instance atomically.", "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", @@ -58830,6 +58554,7 @@ "enum": [ "ABANDONING", "CREATING", + "CREATING_ATOMICALLY", "CREATING_WITHOUT_RETRIES", "DELETING", "NONE", @@ -58845,6 +58570,7 @@ "enumDescriptions": [ "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", + "The managed instance group is creating this instance atomically.", "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", "The managed instance group is permanently deleting this instance.", "The managed instance group has not scheduled any actions for this instance.", @@ -59713,6 +59439,9 @@ ], "type": "string" }, + "pscData": { + "$ref": "NetworkEndpointGroupPscData" + }, "pscTargetService": { "description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: \"asia-northeast3-cloudkms.googleapis.com\"", "type": "string" @@ -60082,6 +59811,42 @@ }, "type": "object" }, + "NetworkEndpointGroupPscData": { + "description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", + "id": "NetworkEndpointGroupPscData", + "properties": { + "consumerPscAddress": { + "description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", + "type": "string" + }, + "pscConnectionId": { + "description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", + "format": "uint64", + "type": "string" + }, + "pscConnectionStatus": { + "description": "[Output Only] The connection status of the PSC Forwarding Rule.", + "enum": [ + "ACCEPTED", + "CLOSED", + "NEEDS_ATTENTION", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The connection has been accepted by the producer.", + "The connection has been closed by the producer and will not serve traffic going forward.", + "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", + "The connection is pending acceptance by the producer.", + "The connection has been rejected by the producer.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "NetworkEndpointGroupServerlessDeployment": { "description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", "id": "NetworkEndpointGroupServerlessDeployment", @@ -61672,6 +61437,19 @@ }, "type": "object" }, + "NodeGroupsSimulateMaintenanceEventRequest": { + "id": "NodeGroupsSimulateMaintenanceEventRequest", + "properties": { + "nodes": { + "description": "Names of the nodes to go under maintenance simulation.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "NodeTemplate": { "description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", "id": "NodeTemplate", @@ -66717,16 +66495,6 @@ }, "type": "object" }, - "RegionDisksStopGroupAsyncReplicationRequest": { - "id": "RegionDisksStopGroupAsyncReplicationRequest", - "properties": { - "resourcePolicy": { - "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", - "type": "string" - } - }, - "type": "object" - }, "RegionInstanceGroupList": { "description": "Contains a list of InstanceGroup resources.", "id": "RegionInstanceGroupList", @@ -71252,6 +71020,9 @@ "format": "int64", "type": "string" }, + "dynamicResizeProperties": { + "$ref": "SchedulingDynamicResizeProperties" + }, "hostErrorTimeoutSeconds": { "description": "Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.", "format": "int32", @@ -71345,6 +71116,31 @@ }, "type": "object" }, + "SchedulingDynamicResizeProperties": { + "description": "Configuration for properties related to dynamic assignment of computing resources to VM (CPU and RAM).", + "id": "SchedulingDynamicResizeProperties", + "properties": { + "enableHotStandby": { + "description": "Set to true if this VM is supporting HotStandby modes (b/235044648).", + "type": "boolean" + }, + "hotStandbyState": { + "description": "Current Hot Standby state of VM.", + "enum": [ + "ACTIVE", + "HOTSTANDBY_STATE_UNSPECIFIED", + "STANDBY" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "SchedulingNodeAffinity": { "description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", "id": "SchedulingNodeAffinity", @@ -72114,6 +71910,10 @@ "$ref": "SecurityPolicyRuleMatcher", "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." }, + "preconfiguredWafConfig": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfig", + "description": "Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect." + }, "preview": { "description": "If set to true, the specified action is not enforced.", "type": "boolean" @@ -72298,6 +72098,92 @@ }, "type": "object" }, + "SecurityPolicyRulePreconfiguredWafConfig": { + "id": "SecurityPolicyRulePreconfiguredWafConfig", + "properties": { + "exclusions": { + "description": "A list of exclusions to apply during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusion" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityPolicyRulePreconfiguredWafConfigExclusion": { + "id": "SecurityPolicyRulePreconfiguredWafConfigExclusion", + "properties": { + "requestCookiesToExclude": { + "description": "A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestHeadersToExclude": { + "description": "A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestQueryParamsToExclude": { + "description": "A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestUrisToExclude": { + "description": "A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "targetRuleIds": { + "description": "A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetRuleSet": { + "description": "Target WAF rule set to apply the preconfigured WAF exclusion.", + "type": "string" + } + }, + "type": "object" + }, + "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams": { + "id": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams", + "properties": { + "op": { + "description": "The match operator for the field.", + "enum": [ + "CONTAINS", + "ENDS_WITH", + "EQUALS", + "EQUALS_ANY", + "STARTS_WITH" + ], + "enumDescriptions": [ + "The operator matches if the field value contains the specified value.", + "The operator matches if the field value ends with the specified value.", + "The operator matches if the field value equals the specified value.", + "The operator matches if the field value is any value.", + "The operator matches if the field value starts with the specified value." + ], + "type": "string" + }, + "val": { + "description": "The value of the field.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyRuleRateLimitOptions": { "id": "SecurityPolicyRuleRateLimitOptions", "properties": { diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 150b24d77df..605ee6e4851 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -207,7 +207,6 @@ func New(client *http.Client) (*Service, error) { s.RegionInstantSnapshots = NewRegionInstantSnapshotsService(s) s.RegionNetworkEndpointGroups = NewRegionNetworkEndpointGroupsService(s) s.RegionNetworkFirewallPolicies = NewRegionNetworkFirewallPoliciesService(s) - s.RegionNetworks = NewRegionNetworksService(s) s.RegionNotificationEndpoints = NewRegionNotificationEndpointsService(s) s.RegionOperations = NewRegionOperationsService(s) s.RegionSecurityPolicies = NewRegionSecurityPoliciesService(s) @@ -376,8 +375,6 @@ type Service struct { RegionNetworkFirewallPolicies *RegionNetworkFirewallPoliciesService - RegionNetworks *RegionNetworksService - RegionNotificationEndpoints *RegionNotificationEndpointsService RegionOperations *RegionOperationsService @@ -1021,15 +1018,6 @@ type RegionNetworkFirewallPoliciesService struct { s *Service } -func NewRegionNetworksService(s *Service) *RegionNetworksService { - rs := &RegionNetworksService{s: s} - return rs -} - -type RegionNetworksService struct { - s *Service -} - func NewRegionNotificationEndpointsService(s *Service) *RegionNotificationEndpointsService { rs := &RegionNotificationEndpointsService{s: s} return rs @@ -3445,6 +3433,11 @@ type AttachedDiskInitializeParams struct { // see the Extreme persistent disk documentation. ProvisionedIops int64 `json:"provisionedIops,omitempty,string"` + // ProvisionedThroughput: Indicates how much throughput to provision for + // the disk. This sets the number of throughput mb per second that the + // disk can handle. Values must be between 1 and 7,124. + ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` + // ReplicaZones: URLs of the zones where the disk should be replicated // to. Only applicable for regional resources. ReplicaZones []string `json:"replicaZones,omitempty"` @@ -7689,16 +7682,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -9597,6 +9594,11 @@ type Disk struct { // see the Extreme persistent disk documentation. ProvisionedIops int64 `json:"provisionedIops,omitempty,string"` + // ProvisionedThroughput: Indicates how much throughput to provision for + // the disk. This sets the number of throughput mb per second that the + // disk can handle. Values must be between 1 and 7,124. + ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` + // Region: [Output Only] URL of the region where the disk resides. Only // applicable for regional resources. You must specify this field as // part of the HTTP request URL. It is not settable as a field in the @@ -11435,7 +11437,11 @@ func (s *DisksStopAsyncReplicationRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type DisksStopGroupAsyncReplicationRequest struct { +// DisksStopGroupAsyncReplicationResource: A transient resource used in +// compute.disks.stopGroupAsyncReplication and +// compute.regionDisks.stopGroupAsyncReplication. It is only used to +// process requests and is not persisted. +type DisksStopGroupAsyncReplicationResource struct { // ResourcePolicy: The URL of the DiskConsistencyGroupPolicy for the // group of disks to stop. This may be a full or partial URL, such as: - // https://www.googleapis.com/compute/v1/projects/project/regions/region @@ -11462,8 +11468,8 @@ type DisksStopGroupAsyncReplicationRequest struct { NullFields []string `json:"-"` } -func (s *DisksStopGroupAsyncReplicationRequest) MarshalJSON() ([]byte, error) { - type NoMethod DisksStopGroupAsyncReplicationRequest +func (s *DisksStopGroupAsyncReplicationResource) MarshalJSON() ([]byte, error) { + type NoMethod DisksStopGroupAsyncReplicationResource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -21514,10 +21520,9 @@ type InstanceGroupManagerInstanceLifecyclePolicy struct { // ForceUpdateOnRepair: A bit indicating whether to forcefully apply the // group's latest configuration when repairing a VM. Valid options are: // - NO (default): If configuration updates are available, they are not - // forcefully applied during repair. However, if you've set up a - // proactive type of update policy, then configuration updates are - // applied as usual. - YES: If configuration updates are available, they - // are applied during repair. + // forcefully applied during repair. Instead, configuration updates are + // applied according to the group's update policy. - YES: If + // configuration updates are available, they are applied during repair. // // Possible values: // "NO" @@ -24421,6 +24426,8 @@ type InstanceManagedByIgmErrorInstanceActionDetails struct { // "CREATING" - The managed instance group is creating this instance. // If the group fails to create this instance, it will try again until // it is successful. + // "CREATING_ATOMICALLY" - The managed instance group is creating this + // instance atomically. // "CREATING_WITHOUT_RETRIES" - The managed instance group is // attempting to create this instance only once. If the group fails to // create this instance, it does not try again and the group's @@ -31974,6 +31981,8 @@ type ManagedInstance struct { // "CREATING" - The managed instance group is creating this instance. // If the group fails to create this instance, it will try again until // it is successful. + // "CREATING_ATOMICALLY" - The managed instance group is creating this + // instance atomically. // "CREATING_WITHOUT_RETRIES" - The managed instance group is // attempting to create this instance only once. If the group fails to // create this instance, it does not try again and the group's @@ -33351,6 +33360,8 @@ type NetworkEndpointGroup struct { // serverless infrastructure. NetworkEndpointType string `json:"networkEndpointType,omitempty"` + PscData *NetworkEndpointGroupPscData `json:"pscData,omitempty"` + // PscTargetService: The target service url used to set up private // service connection to a Google API or a PSC Producer Service // Attachment. An example value is: @@ -33989,6 +34000,57 @@ func (s *NetworkEndpointGroupListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkEndpointGroupPscData: All data that is specifically relevant +// to only network endpoint groups of type PRIVATE_SERVICE_CONNECT. +type NetworkEndpointGroupPscData struct { + // ConsumerPscAddress: [Output Only] Address allocated from given + // subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, + // allowing it to act as an endpoint in L7 PSC-XLB. + ConsumerPscAddress string `json:"consumerPscAddress,omitempty"` + + // PscConnectionId: [Output Only] The PSC connection id of the PSC + // Network Endpoint Group Consumer. + PscConnectionId uint64 `json:"pscConnectionId,omitempty,string"` + + // PscConnectionStatus: [Output Only] The connection status of the PSC + // Forwarding Rule. + // + // Possible values: + // "ACCEPTED" - The connection has been accepted by the producer. + // "CLOSED" - The connection has been closed by the producer and will + // not serve traffic going forward. + // "NEEDS_ATTENTION" - The connection has been accepted by the + // producer, but the producer needs to take further action before the + // forwarding rule can serve traffic. + // "PENDING" - The connection is pending acceptance by the producer. + // "REJECTED" - The connection has been rejected by the producer. + // "STATUS_UNSPECIFIED" + PscConnectionStatus string `json:"pscConnectionStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConsumerPscAddress") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsumerPscAddress") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupPscData) MarshalJSON() ([]byte, error) { + type NoMethod NetworkEndpointGroupPscData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkEndpointGroupServerlessDeployment: Configuration for a // serverless network endpoint group (NEG). The platform must be // provided. Note: The target backend service must be in the same @@ -36457,6 +36519,33 @@ func (s *NodeGroupsSetNodeTemplateRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type NodeGroupsSimulateMaintenanceEventRequest struct { + // Nodes: Names of the nodes to go under maintenance simulation. + Nodes []string `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodeGroupsSimulateMaintenanceEventRequest) MarshalJSON() ([]byte, error) { + type NoMethod NodeGroupsSimulateMaintenanceEventRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NodeTemplate: Represent a sole-tenant Node Template resource. You can // use a template to define properties for nodes in a node group. For // more information, read Creating node groups and instances. @@ -44145,16 +44234,37 @@ func (s *RegionDisksStopAsyncReplicationRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type RegionDisksStopGroupAsyncReplicationRequest struct { - // ResourcePolicy: The URL of the DiskConsistencyGroupPolicy for the - // group of disks to stop. This may be a full or partial URL, such as: - - // https://www.googleapis.com/compute/v1/projects/project/regions/region - // /resourcePolicies/resourcePolicy - - // projects/project/regions/region/resourcePolicies/resourcePolicy - - // regions/region/resourcePolicies/resourcePolicy - ResourcePolicy string `json:"resourcePolicy,omitempty"` +// RegionInstanceGroupList: Contains a list of InstanceGroup resources. +type RegionInstanceGroupList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "ResourcePolicy") to + // Items: A list of InstanceGroup resources. + Items []*InstanceGroup `json:"items,omitempty"` + + // Kind: The resource type. + Kind string `json:"kind,omitempty"` + + // NextPageToken: [Output Only] This token allows you to get the next + // page of results for list requests. If the number of results is larger + // than maxResults, use the nextPageToken as a value for the query + // parameter pageToken in the next list request. Subsequent list + // requests will have their own nextPageToken to continue paging through + // the results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupListWarning `json:"warning,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "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 @@ -44162,32 +44272,200 @@ type RegionDisksStopGroupAsyncReplicationRequest struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ResourcePolicy") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an 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. "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 *RegionDisksStopGroupAsyncReplicationRequest) MarshalJSON() ([]byte, error) { - type NoMethod RegionDisksStopGroupAsyncReplicationRequest +func (s *RegionInstanceGroupList) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupList raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RegionInstanceGroupList: Contains a list of InstanceGroup resources. -type RegionInstanceGroupList struct { +// RegionInstanceGroupListWarning: [Output Only] Informational warning +// message. +type RegionInstanceGroupListWarning struct { + // Code: [Output Only] A warning code, if applicable. For example, + // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in + // the response. + // + // Possible values: + // "CLEANUP_FAILED" - Warning about failed cleanup of transient + // changes made by a failed operation. + // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was + // created. + // "DEPRECATED_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as deprecated + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk + // that is larger than image size. + // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as experimental + // "EXTERNAL_API_WARNING" - Warning that is present in an external api + // call + // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been + // overridden. Deprecated unused field. + // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an + // injected kernel, which is deprecated. + // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV + // backend service is associated with a health check that is not of type + // HTTP/HTTPS/HTTP2. + // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a + // exceedingly large number of resources + // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is + // not assigned to an instance on the network. + // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot + // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. + // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL + // refers to an instance that does not exist. + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance + // URL refers to an instance that is not on the same network as the + // route. + // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not + // have a status of RUNNING. + // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to + // continue the process despite the mentioned error. + // "NO_RESULTS_ON_PAGE" - No results are present on a particular list + // page. + // "PARTIAL_SUCCESS" - Success is reported, but some results may be + // missing due to errors + // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource + // that requires a TOS they have not accepted. + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a + // resource is in use. + // "RESOURCE_NOT_DELETED" - One or more of the resources set to + // auto-delete could not be deleted because they were in use. + // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is + // ignored. + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in + // instance group manager is valid as such, but its application does not + // make a lot of sense, because it allows only single instance in + // instance group. + // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema + // are present + // "UNREACHABLE" - A given scope cannot be reached. + Code string `json:"code,omitempty"` + + // Data: [Output Only] Metadata about this warning in key: value format. + // For example: "data": [ { "key": "scope", "value": "zones/us-east1-d" + // } + Data []*RegionInstanceGroupListWarningData `json:"data,omitempty"` + + // Message: [Output Only] A human-readable description of the warning + // code. + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Code") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarning) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupListWarning + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupListWarningData struct { + // Key: [Output Only] A key that provides more detail on the warning + // being returned. For example, for warnings where there are no results + // in a list request for a particular zone, this key might be scope and + // the key value might be the zone name. Other examples might be a key + // indicating a deprecated resource and a suggested replacement, or a + // warning about invalid network settings (for example, if an instance + // attempts to perform IP forwarding but is not enabled for IP + // forwarding). + Key string `json:"key,omitempty"` + + // Value: [Output Only] A warning data value corresponding to the key. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Key") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarningData) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupListWarningData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RegionInstanceGroupManagerDeleteInstanceConfigReq: +// RegionInstanceGroupManagers.deletePerInstanceConfigs +type RegionInstanceGroupManagerDeleteInstanceConfigReq struct { + // Names: The list of instance names for which we want to delete + // per-instance configs on this managed instance group. + Names []string `json:"names,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Names") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Names") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagerDeleteInstanceConfigReq) MarshalJSON() ([]byte, error) { + type NoMethod RegionInstanceGroupManagerDeleteInstanceConfigReq + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RegionInstanceGroupManagerList: Contains a list of managed instance +// groups. +type RegionInstanceGroupManagerList struct { // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: A list of InstanceGroup resources. - Items []*InstanceGroup `json:"items,omitempty"` + // Items: A list of InstanceGroupManager resources. + Items []*InstanceGroupManager `json:"items,omitempty"` - // Kind: The resource type. + // Kind: [Output Only] The resource type, which is always + // compute#instanceGroupManagerList for a list of managed instance + // groups that exist in th regional scope. Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -44202,229 +44480,7 @@ type RegionInstanceGroupList struct { SelfLink string `json:"selfLink,omitempty"` // Warning: [Output Only] Informational warning message. - Warning *RegionInstanceGroupListWarning `json:"warning,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "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 *RegionInstanceGroupList) MarshalJSON() ([]byte, error) { - type NoMethod RegionInstanceGroupList - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// RegionInstanceGroupListWarning: [Output Only] Informational warning -// message. -type RegionInstanceGroupListWarning struct { - // Code: [Output Only] A warning code, if applicable. For example, - // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in - // the response. - // - // Possible values: - // "CLEANUP_FAILED" - Warning about failed cleanup of transient - // changes made by a failed operation. - // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was - // created. - // "DEPRECATED_TYPE_USED" - When deploying and at least one of the - // resources has a type marked as deprecated - // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk - // that is larger than image size. - // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the - // resources has a type marked as experimental - // "EXTERNAL_API_WARNING" - Warning that is present in an external api - // call - // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been - // overridden. Deprecated unused field. - // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an - // injected kernel, which is deprecated. - // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV - // backend service is associated with a health check that is not of type - // HTTP/HTTPS/HTTP2. - // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a - // exceedingly large number of resources - // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type - // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is - // not assigned to an instance on the network. - // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot - // ip forward. - // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's - // nextHopInstance URL refers to an instance that does not have an ipv6 - // interface on the same network as the route. - // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL - // refers to an instance that does not exist. - // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance - // URL refers to an instance that is not on the same network as the - // route. - // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not - // have a status of RUNNING. - // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to - // continue the process despite the mentioned error. - // "NO_RESULTS_ON_PAGE" - No results are present on a particular list - // page. - // "PARTIAL_SUCCESS" - Success is reported, but some results may be - // missing due to errors - // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource - // that requires a TOS they have not accepted. - // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a - // resource is in use. - // "RESOURCE_NOT_DELETED" - One or more of the resources set to - // auto-delete could not be deleted because they were in use. - // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is - // ignored. - // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in - // instance group manager is valid as such, but its application does not - // make a lot of sense, because it allows only single instance in - // instance group. - // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema - // are present - // "UNREACHABLE" - A given scope cannot be reached. - Code string `json:"code,omitempty"` - - // Data: [Output Only] Metadata about this warning in key: value format. - // For example: "data": [ { "key": "scope", "value": "zones/us-east1-d" - // } - Data []*RegionInstanceGroupListWarningData `json:"data,omitempty"` - - // Message: [Output Only] A human-readable description of the warning - // code. - Message string `json:"message,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Code") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Code") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupListWarning) MarshalJSON() ([]byte, error) { - type NoMethod RegionInstanceGroupListWarning - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type RegionInstanceGroupListWarningData struct { - // Key: [Output Only] A key that provides more detail on the warning - // being returned. For example, for warnings where there are no results - // in a list request for a particular zone, this key might be scope and - // the key value might be the zone name. Other examples might be a key - // indicating a deprecated resource and a suggested replacement, or a - // warning about invalid network settings (for example, if an instance - // attempts to perform IP forwarding but is not enabled for IP - // forwarding). - Key string `json:"key,omitempty"` - - // Value: [Output Only] A warning data value corresponding to the key. - Value string `json:"value,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Key") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Key") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupListWarningData) MarshalJSON() ([]byte, error) { - type NoMethod RegionInstanceGroupListWarningData - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// RegionInstanceGroupManagerDeleteInstanceConfigReq: -// RegionInstanceGroupManagers.deletePerInstanceConfigs -type RegionInstanceGroupManagerDeleteInstanceConfigReq struct { - // Names: The list of instance names for which we want to delete - // per-instance configs on this managed instance group. - Names []string `json:"names,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Names") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Names") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupManagerDeleteInstanceConfigReq) MarshalJSON() ([]byte, error) { - type NoMethod RegionInstanceGroupManagerDeleteInstanceConfigReq - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// RegionInstanceGroupManagerList: Contains a list of managed instance -// groups. -type RegionInstanceGroupManagerList struct { - // Id: [Output Only] Unique identifier for the resource; defined by the - // server. - Id string `json:"id,omitempty"` - - // Items: A list of InstanceGroupManager resources. - Items []*InstanceGroupManager `json:"items,omitempty"` - - // Kind: [Output Only] The resource type, which is always - // compute#instanceGroupManagerList for a list of managed instance - // groups that exist in th regional scope. - Kind string `json:"kind,omitempty"` - - // NextPageToken: [Output Only] This token allows you to get the next - // page of results for list requests. If the number of results is larger - // than maxResults, use the nextPageToken as a value for the query - // parameter pageToken in the next list request. Subsequent list - // requests will have their own nextPageToken to continue paging through - // the results. - NextPageToken string `json:"nextPageToken,omitempty"` - - // SelfLink: [Output Only] Server-defined URL for this resource. - SelfLink string `json:"selfLink,omitempty"` - - // Warning: [Output Only] Informational warning message. - Warning *RegionInstanceGroupManagerListWarning `json:"warning,omitempty"` + Warning *RegionInstanceGroupManagerListWarning `json:"warning,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. @@ -51035,6 +51091,8 @@ type Scheduling struct { // or unset means default amount of memory of the current machine type. CurrentMemoryMb int64 `json:"currentMemoryMb,omitempty,string"` + DynamicResizeProperties *SchedulingDynamicResizeProperties `json:"dynamicResizeProperties,omitempty"` + // HostErrorTimeoutSeconds: Specify the time in seconds for host error // detection, the value must be within the range of [90, 330] with the // increment of 30, if unset, the default behavior of host error @@ -51151,6 +51209,46 @@ func (s *Scheduling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SchedulingDynamicResizeProperties: Configuration for properties +// related to dynamic assignment of computing resources to VM (CPU and +// RAM). +type SchedulingDynamicResizeProperties struct { + // EnableHotStandby: Set to true if this VM is supporting HotStandby + // modes (b/235044648). + EnableHotStandby bool `json:"enableHotStandby,omitempty"` + + // HotStandbyState: Current Hot Standby state of VM. + // + // Possible values: + // "ACTIVE" + // "HOTSTANDBY_STATE_UNSPECIFIED" + // "STANDBY" + HotStandbyState string `json:"hotStandbyState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EnableHotStandby") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EnableHotStandby") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SchedulingDynamicResizeProperties) MarshalJSON() ([]byte, error) { + type NoMethod SchedulingDynamicResizeProperties + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SchedulingNodeAffinity: Node Affinity: the configuration of desired // nodes onto which this Instance could be scheduled. type SchedulingNodeAffinity struct { @@ -52431,6 +52529,12 @@ type SecurityPolicyRule struct { // If it evaluates to true, the corresponding 'action' is enforced. Match *SecurityPolicyRuleMatcher `json:"match,omitempty"` + // PreconfiguredWafConfig: Preconfigured WAF configuration to be applied + // for the rule. If the rule does not evaluate preconfigured WAF rules, + // i.e., if evaluatePreconfiguredWaf() is not used, this field will have + // no effect. + PreconfiguredWafConfig *SecurityPolicyRulePreconfiguredWafConfig `json:"preconfiguredWafConfig,omitempty"` + // Preview: If set to true, the specified action is not enforced. Preview bool `json:"preview,omitempty"` @@ -52733,6 +52837,130 @@ func (s *SecurityPolicyRuleMatcherConfigLayer4Config) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type SecurityPolicyRulePreconfiguredWafConfig struct { + // Exclusions: A list of exclusions to apply during preconfigured WAF + // evaluation. + Exclusions []*SecurityPolicyRulePreconfiguredWafConfigExclusion `json:"exclusions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Exclusions") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Exclusions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfig) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyRulePreconfiguredWafConfigExclusion struct { + // RequestCookiesToExclude: A list of request cookie names whose value + // will be excluded from inspection during preconfigured WAF evaluation. + RequestCookiesToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestCookiesToExclude,omitempty"` + + // RequestHeadersToExclude: A list of request header names whose value + // will be excluded from inspection during preconfigured WAF evaluation. + RequestHeadersToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestHeadersToExclude,omitempty"` + + // RequestQueryParamsToExclude: A list of request query parameter names + // whose value will be excluded from inspection during preconfigured WAF + // evaluation. Note that the parameter can be in the query string or in + // the POST body. + RequestQueryParamsToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestQueryParamsToExclude,omitempty"` + + // RequestUrisToExclude: A list of request URIs from the request line to + // be excluded from inspection during preconfigured WAF evaluation. When + // specifying this field, the query or fragment part should be excluded. + RequestUrisToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestUrisToExclude,omitempty"` + + // TargetRuleIds: A list of target rule IDs under the WAF rule set to + // apply the preconfigured WAF exclusion. If omitted, it refers to all + // the rule IDs under the WAF rule set. + TargetRuleIds []string `json:"targetRuleIds,omitempty"` + + // TargetRuleSet: Target WAF rule set to apply the preconfigured WAF + // exclusion. + TargetRuleSet string `json:"targetRuleSet,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "RequestCookiesToExclude") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RequestCookiesToExclude") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfigExclusion) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfigExclusion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams struct { + // Op: The match operator for the field. + // + // Possible values: + // "CONTAINS" - The operator matches if the field value contains the + // specified value. + // "ENDS_WITH" - The operator matches if the field value ends with the + // specified value. + // "EQUALS" - The operator matches if the field value equals the + // specified value. + // "EQUALS_ANY" - The operator matches if the field value is any + // value. + // "STARTS_WITH" - The operator matches if the field value starts with + // the specified value. + Op string `json:"op,omitempty"` + + // Val: The value of the field. + Val string `json:"val,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Op") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Op") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SecurityPolicyRuleRateLimitOptions struct { // BanDurationSec: Can only be specified if the action for the rule is // "rate_based_ban". If specified, determines the time (in seconds) the @@ -79758,13 +79986,13 @@ func (c *DisksStopAsyncReplicationCall) Do(opts ...googleapi.CallOption) (*Opera // method id "compute.disks.stopGroupAsyncReplication": type DisksStopGroupAsyncReplicationCall struct { - s *Service - project string - zone string - disksstopgroupasyncreplicationrequest *DisksStopGroupAsyncReplicationRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header + s *Service + project string + zone string + disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } // StopGroupAsyncReplication: Stops asynchronous replication for a @@ -79774,11 +80002,11 @@ type DisksStopGroupAsyncReplicationCall struct { // - project: Project ID for this request. // - zone: The name of the zone for this request. This must be the zone // of the primary or secondary disks in the consistency group. -func (r *DisksService) StopGroupAsyncReplication(project string, zone string, disksstopgroupasyncreplicationrequest *DisksStopGroupAsyncReplicationRequest) *DisksStopGroupAsyncReplicationCall { +func (r *DisksService) StopGroupAsyncReplication(project string, zone string, disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource) *DisksStopGroupAsyncReplicationCall { c := &DisksStopGroupAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.zone = zone - c.disksstopgroupasyncreplicationrequest = disksstopgroupasyncreplicationrequest + c.disksstopgroupasyncreplicationresource = disksstopgroupasyncreplicationresource return c } @@ -79831,7 +80059,7 @@ func (c *DisksStopGroupAsyncReplicationCall) doRequest(alt string) (*http.Respon } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.disksstopgroupasyncreplicationrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.disksstopgroupasyncreplicationresource) if err != nil { return nil, err } @@ -79921,7 +80149,7 @@ func (c *DisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOption) (* // }, // "path": "projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication", // "request": { - // "$ref": "DisksStopGroupAsyncReplicationRequest" + // "$ref": "DisksStopGroupAsyncReplicationResource" // }, // "response": { // "$ref": "Operation" @@ -144678,494 +144906,32 @@ func (c *NodeGroupsSetNodeTemplateCall) Do(opts ...googleapi.CallOption) (*Opera } -// method id "compute.nodeGroups.testIamPermissions": +// method id "compute.nodeGroups.simulateMaintenanceEvent": -type NodeGroupsTestIamPermissionsCall struct { - s *Service - project string - zone string - resource string - testpermissionsrequest *TestPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type NodeGroupsSimulateMaintenanceEventCall struct { + s *Service + project string + zone string + nodeGroup string + nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. +// SimulateMaintenanceEvent: Simulates maintenance event on specified +// nodes from the node group. // -// - project: Project ID for this request. -// - resource: Name or id of the resource for this request. -// - zone: The name of the zone for this request. -func (r *NodeGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeGroupsTestIamPermissionsCall { - c := &NodeGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - nodeGroup: Name of the NodeGroup resource whose nodes will go under +// maintenance simulation. +// - project: Project ID for this request. +// - zone: The name of the zone for this request. +func (r *NodeGroupsService) SimulateMaintenanceEvent(project string, zone string, nodeGroup string, nodegroupssimulatemaintenanceeventrequest *NodeGroupsSimulateMaintenanceEventRequest) *NodeGroupsSimulateMaintenanceEventCall { + c := &NodeGroupsSimulateMaintenanceEventCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.zone = zone - c.resource = resource - c.testpermissionsrequest = testpermissionsrequest - 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 *NodeGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeGroupsTestIamPermissionsCall { - 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 *NodeGroupsTestIamPermissionsCall) Context(ctx context.Context) *NodeGroupsTestIamPermissionsCall { - 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 *NodeGroupsTestIamPermissionsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *NodeGroupsTestIamPermissionsCall) 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.testpermissionsrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "zone": c.zone, - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.nodeGroups.testIamPermissions" call. -// Exactly one of *TestPermissionsResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *TestPermissionsResponse.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 *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, 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 := &TestPermissionsResponse{ - 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 permissions that a caller has on the specified resource.", - // "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", - // "httpMethod": "POST", - // "id": "compute.nodeGroups.testIamPermissions", - // "parameterOrder": [ - // "project", - // "zone", - // "resource" - // ], - // "parameters": { - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "resource": { - // "description": "Name or id of the resource for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // }, - // "zone": { - // "description": "The name of the zone for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", - // "request": { - // "$ref": "TestPermissionsRequest" - // }, - // "response": { - // "$ref": "TestPermissionsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// method id "compute.nodeTemplates.aggregatedList": - -type NodeTemplatesAggregatedListCall struct { - s *Service - project string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// AggregatedList: Retrieves an aggregated list of node templates. -// -// - project: Project ID for this request. -func (r *NodeTemplatesService) AggregatedList(project string) *NodeTemplatesAggregatedListCall { - c := &NodeTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - return c -} - -// Filter sets the optional parameter "filter": A filter expression that -// filters resources listed in the response. Most Compute resources -// support two types of filter expressions: expressions that support -// regular expressions and expressions that follow API improvement -// proposal AIP-160. If you want to use AIP-160, your expression must -// specify the field name, an operator, and the value that you want to -// use for filtering. The value must be a string, a number, or a -// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` -// or `:`. For example, if you are filtering Compute Engine instances, -// you can exclude instances named `example-instance` by specifying -// `name != example-instance`. The `:` operator can be used with string -// fields to match substrings. For non-string fields it is equivalent to -// the `=` operator. The `:*` comparison can be used to test whether a -// key has been defined. For example, to find all objects with `owner` -// label use: ``` labels.owner:* ``` You can also filter nested fields. -// For example, you could specify `scheduling.automaticRestart = false` -// to include instances only if they are not scheduled for automatic -// restarts. You can use filtering on nested fields to filter based on -// resource labels. To filter on multiple expressions, provide each -// separate expression within parentheses. For example: ``` -// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") -// ``` By default, each expression is an `AND` expression. However, you -// can include `AND` and `OR` expressions explicitly. For example: ``` -// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") -// AND (scheduling.automaticRestart = true) ``` If you want to use a -// regular expression, use the `eq` (equal) or `ne` (not equal) operator -// against a single un-parenthesized expression with or without quotes -// or against multiple parenthesized expressions. Examples: `fieldname -// eq unquoted literal` `fieldname eq 'single quoted literal'` -// `fieldname eq "double quoted literal" `(fieldname1 eq literal) -// (fieldname2 ne "literal")` The literal value is interpreted as a -// regular expression using Google RE2 library syntax. The literal value -// must match the entire field. For example, to filter for instances -// that do not end with name "instance", you would use `name ne -// .*instance`. -func (c *NodeTemplatesAggregatedListCall) Filter(filter string) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// IncludeAllScopes sets the optional parameter "includeAllScopes": -// Indicates whether every visible scope for each scope type (zone, -// region, global) should be included in the response. For new resource -// types added after this field, the flag has no effect as new resource -// types will always include every visible scope for each scope type in -// response. For resource types which predate this field, if this flag -// is omitted or false, only scopes of the scope types where the -// resource type is expected to be found will be included. -func (c *NodeTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes)) - return c -} - -// MaxResults sets the optional parameter "maxResults": The maximum -// number of results per page that should be returned. If the number of -// available results is larger than `maxResults`, Compute Engine returns -// a `nextPageToken` that can be used to get the next page of results in -// subsequent list requests. Acceptable values are `0` to `500`, -// inclusive. (Default: `500`) -func (c *NodeTemplatesAggregatedListCall) MaxResults(maxResults int64) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) - return c -} - -// OrderBy sets the optional parameter "orderBy": Sorts list results by -// a certain order. By default, results are returned in alphanumerical -// order based on the resource name. You can also sort results in -// descending order based on the creation timestamp using -// `orderBy="creationTimestamp desc". This sorts results based on the -// `creationTimestamp` field in reverse chronological order (newest -// result first). Use this to sort resources like operations so that the -// newest operation is returned first. Currently, only sorting by `name` -// or `creationTimestamp desc` is supported. -func (c *NodeTemplatesAggregatedListCall) OrderBy(orderBy string) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("orderBy", orderBy) - return c -} - -// PageToken sets the optional parameter "pageToken": Specifies a page -// token to use. Set `pageToken` to the `nextPageToken` returned by a -// previous list request to get the next page of results. -func (c *NodeTemplatesAggregatedListCall) PageToken(pageToken string) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("pageToken", pageToken) - return c -} - -// ReturnPartialSuccess sets the optional parameter -// "returnPartialSuccess": Opt-in for partial success behavior which -// provides partial results in case of failure. The default value is -// false. -func (c *NodeTemplatesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTemplatesAggregatedListCall { - c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *NodeTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTemplatesAggregatedListCall { - 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 *NodeTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTemplatesAggregatedListCall { - 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 *NodeTemplatesAggregatedListCall) Context(ctx context.Context) *NodeTemplatesAggregatedListCall { - 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 *NodeTemplatesAggregatedListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *NodeTemplatesAggregatedListCall) 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, "projects/{project}/aggregated/nodeTemplates") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.nodeTemplates.aggregatedList" call. -// Exactly one of *NodeTemplateAggregatedList or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *NodeTemplateAggregatedList.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 *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateAggregatedList, 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 := &NodeTemplateAggregatedList{ - 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": "Retrieves an aggregated list of node templates.", - // "flatPath": "projects/{project}/aggregated/nodeTemplates", - // "httpMethod": "GET", - // "id": "compute.nodeTemplates.aggregatedList", - // "parameterOrder": [ - // "project" - // ], - // "parameters": { - // "filter": { - // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", - // "location": "query", - // "type": "string" - // }, - // "includeAllScopes": { - // "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - // "location": "query", - // "type": "boolean" - // }, - // "maxResults": { - // "default": "500", - // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - // "format": "uint32", - // "location": "query", - // "minimum": "0", - // "type": "integer" - // }, - // "orderBy": { - // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - // "location": "query", - // "type": "string" - // }, - // "pageToken": { - // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - // "location": "query", - // "type": "string" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "returnPartialSuccess": { - // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", - // "location": "query", - // "type": "boolean" - // } - // }, - // "path": "projects/{project}/aggregated/nodeTemplates", - // "response": { - // "$ref": "NodeTemplateAggregatedList" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *NodeTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTemplateAggregatedList) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - -// method id "compute.nodeTemplates.delete": - -type NodeTemplatesDeleteCall struct { - s *Service - project string - region string - nodeTemplate string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes the specified NodeTemplate resource. -// -// - nodeTemplate: Name of the NodeTemplate resource to delete. -// - project: Project ID for this request. -// - region: The name of the region for this request. -func (r *NodeTemplatesService) Delete(project string, region string, nodeTemplate string) *NodeTemplatesDeleteCall { - c := &NodeTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.nodeTemplate = nodeTemplate + c.nodeGroup = nodeGroup + c.nodegroupssimulatemaintenanceeventrequest = nodegroupssimulatemaintenanceeventrequest return c } @@ -145180,7 +144946,7 @@ func (r *NodeTemplatesService) Delete(project string, region string, nodeTemplat // clients from accidentally creating duplicate commitments. The request // ID must be a valid UUID with the exception that zero UUID is not // supported ( 00000000-0000-0000-0000-000000000000). -func (c *NodeTemplatesDeleteCall) RequestId(requestId string) *NodeTemplatesDeleteCall { +func (c *NodeGroupsSimulateMaintenanceEventCall) RequestId(requestId string) *NodeGroupsSimulateMaintenanceEventCall { c.urlParams_.Set("requestId", requestId) return c } @@ -145188,7 +144954,7 @@ func (c *NodeTemplatesDeleteCall) RequestId(requestId string) *NodeTemplatesDele // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *NodeTemplatesDeleteCall) Fields(s ...googleapi.Field) *NodeTemplatesDeleteCall { +func (c *NodeGroupsSimulateMaintenanceEventCall) Fields(s ...googleapi.Field) *NodeGroupsSimulateMaintenanceEventCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -145196,21 +144962,21 @@ func (c *NodeTemplatesDeleteCall) Fields(s ...googleapi.Field) *NodeTemplatesDel // 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 *NodeTemplatesDeleteCall) Context(ctx context.Context) *NodeTemplatesDeleteCall { +func (c *NodeGroupsSimulateMaintenanceEventCall) Context(ctx context.Context) *NodeGroupsSimulateMaintenanceEventCall { 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 *NodeTemplatesDeleteCall) Header() http.Header { +func (c *NodeGroupsSimulateMaintenanceEventCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) { +func (c *NodeGroupsSimulateMaintenanceEventCall) 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_ { @@ -145218,31 +144984,683 @@ func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.nodegroupssimulatemaintenanceeventrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "nodeTemplate": c.nodeTemplate, + "project": c.project, + "zone": c.zone, + "nodeGroup": c.nodeGroup, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "compute.nodeTemplates.delete" call. +// Do executes the "compute.nodeGroups.simulateMaintenanceEvent" 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 *NodeTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { +func (c *NodeGroupsSimulateMaintenanceEventCall) 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": "Simulates maintenance event on specified nodes from the node group.", + // "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + // "httpMethod": "POST", + // "id": "compute.nodeGroups.simulateMaintenanceEvent", + // "parameterOrder": [ + // "project", + // "zone", + // "nodeGroup" + // ], + // "parameters": { + // "nodeGroup": { + // "description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + // "request": { + // "$ref": "NodeGroupsSimulateMaintenanceEventRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.nodeGroups.testIamPermissions": + +type NodeGroupsTestIamPermissionsCall struct { + s *Service + project string + zone string + resource string + testpermissionsrequest *TestPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. +// +// - project: Project ID for this request. +// - resource: Name or id of the resource for this request. +// - zone: The name of the zone for this request. +func (r *NodeGroupsService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *NodeGroupsTestIamPermissionsCall { + c := &NodeGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.resource = resource + c.testpermissionsrequest = testpermissionsrequest + 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 *NodeGroupsTestIamPermissionsCall) Fields(s ...googleapi.Field) *NodeGroupsTestIamPermissionsCall { + 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 *NodeGroupsTestIamPermissionsCall) Context(ctx context.Context) *NodeGroupsTestIamPermissionsCall { + 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 *NodeGroupsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *NodeGroupsTestIamPermissionsCall) 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.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.nodeGroups.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *TestPermissionsResponse.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 *NodeGroupsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, 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 := &TestPermissionsResponse{ + 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 permissions that a caller has on the specified resource.", + // "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + // "httpMethod": "POST", + // "id": "compute.nodeGroups.testIamPermissions", + // "parameterOrder": [ + // "project", + // "zone", + // "resource" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "resource": { + // "description": "Name or id of the resource for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.nodeTemplates.aggregatedList": + +type NodeTemplatesAggregatedListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// AggregatedList: Retrieves an aggregated list of node templates. +// +// - project: Project ID for this request. +func (r *NodeTemplatesService) AggregatedList(project string) *NodeTemplatesAggregatedListCall { + c := &NodeTemplatesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *NodeTemplatesAggregatedListCall) Filter(filter string) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// IncludeAllScopes sets the optional parameter "includeAllScopes": +// Indicates whether every visible scope for each scope type (zone, +// region, global) should be included in the response. For new resource +// types added after this field, the flag has no effect as new resource +// types will always include every visible scope for each scope type in +// response. For resource types which predate this field, if this flag +// is omitted or false, only scopes of the scope types where the +// resource type is expected to be found will be included. +func (c *NodeTemplatesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("includeAllScopes", fmt.Sprint(includeAllScopes)) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *NodeTemplatesAggregatedListCall) MaxResults(maxResults int64) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *NodeTemplatesAggregatedListCall) OrderBy(orderBy string) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *NodeTemplatesAggregatedListCall) PageToken(pageToken string) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *NodeTemplatesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *NodeTemplatesAggregatedListCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *NodeTemplatesAggregatedListCall) Fields(s ...googleapi.Field) *NodeTemplatesAggregatedListCall { + 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 *NodeTemplatesAggregatedListCall) IfNoneMatch(entityTag string) *NodeTemplatesAggregatedListCall { + 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 *NodeTemplatesAggregatedListCall) Context(ctx context.Context) *NodeTemplatesAggregatedListCall { + 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 *NodeTemplatesAggregatedListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *NodeTemplatesAggregatedListCall) 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, "projects/{project}/aggregated/nodeTemplates") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.nodeTemplates.aggregatedList" call. +// Exactly one of *NodeTemplateAggregatedList or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *NodeTemplateAggregatedList.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 *NodeTemplatesAggregatedListCall) Do(opts ...googleapi.CallOption) (*NodeTemplateAggregatedList, 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 := &NodeTemplateAggregatedList{ + 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": "Retrieves an aggregated list of node templates.", + // "flatPath": "projects/{project}/aggregated/nodeTemplates", + // "httpMethod": "GET", + // "id": "compute.nodeTemplates.aggregatedList", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "includeAllScopes": { + // "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + // "location": "query", + // "type": "boolean" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "projects/{project}/aggregated/nodeTemplates", + // "response": { + // "$ref": "NodeTemplateAggregatedList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *NodeTemplatesAggregatedListCall) Pages(ctx context.Context, f func(*NodeTemplateAggregatedList) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "compute.nodeTemplates.delete": + +type NodeTemplatesDeleteCall struct { + s *Service + project string + region string + nodeTemplate string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified NodeTemplate resource. +// +// - nodeTemplate: Name of the NodeTemplate resource to delete. +// - project: Project ID for this request. +// - region: The name of the region for this request. +func (r *NodeTemplatesService) Delete(project string, region string, nodeTemplate string) *NodeTemplatesDeleteCall { + c := &NodeTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.nodeTemplate = nodeTemplate + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *NodeTemplatesDeleteCall) RequestId(requestId string) *NodeTemplatesDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *NodeTemplatesDeleteCall) Fields(s ...googleapi.Field) *NodeTemplatesDeleteCall { + 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 *NodeTemplatesDeleteCall) Context(ctx context.Context) *NodeTemplatesDeleteCall { + 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 *NodeTemplatesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "nodeTemplate": c.nodeTemplate, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.nodeTemplates.delete" 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 *NodeTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -164697,13 +165115,13 @@ func (c *RegionDisksStopAsyncReplicationCall) Do(opts ...googleapi.CallOption) ( // method id "compute.regionDisks.stopGroupAsyncReplication": type RegionDisksStopGroupAsyncReplicationCall struct { - s *Service - project string - region string - regiondisksstopgroupasyncreplicationrequest *RegionDisksStopGroupAsyncReplicationRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header + s *Service + project string + region string + disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } // StopGroupAsyncReplication: Stops asynchronous replication for a @@ -164713,11 +165131,11 @@ type RegionDisksStopGroupAsyncReplicationCall struct { // - project: Project ID for this request. // - region: The name of the region for this request. This must be the // region of the primary or secondary disks in the consistency group. -func (r *RegionDisksService) StopGroupAsyncReplication(project string, region string, regiondisksstopgroupasyncreplicationrequest *RegionDisksStopGroupAsyncReplicationRequest) *RegionDisksStopGroupAsyncReplicationCall { +func (r *RegionDisksService) StopGroupAsyncReplication(project string, region string, disksstopgroupasyncreplicationresource *DisksStopGroupAsyncReplicationResource) *RegionDisksStopGroupAsyncReplicationCall { c := &RegionDisksStopGroupAsyncReplicationCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.region = region - c.regiondisksstopgroupasyncreplicationrequest = regiondisksstopgroupasyncreplicationrequest + c.disksstopgroupasyncreplicationresource = disksstopgroupasyncreplicationresource return c } @@ -164770,7 +165188,7 @@ func (c *RegionDisksStopGroupAsyncReplicationCall) doRequest(alt string) (*http. } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.regiondisksstopgroupasyncreplicationrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.disksstopgroupasyncreplicationresource) if err != nil { return nil, err } @@ -164860,7 +165278,7 @@ func (c *RegionDisksStopGroupAsyncReplicationCall) Do(opts ...googleapi.CallOpti // }, // "path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", // "request": { - // "$ref": "RegionDisksStopGroupAsyncReplicationRequest" + // "$ref": "DisksStopGroupAsyncReplicationResource" // }, // "response": { // "$ref": "Operation" @@ -181005,1266 +181423,28 @@ func (c *RegionNetworkFirewallPoliciesRemoveAssociationCall) Do(opts ...googleap } return ret, nil // { - // "description": "Removes an association for the specified network firewall policy.", - // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", - // "httpMethod": "POST", - // "id": "compute.regionNetworkFirewallPolicies.removeAssociation", - // "parameterOrder": [ - // "project", - // "region", - // "firewallPolicy" - // ], - // "parameters": { - // "firewallPolicy": { - // "description": "Name of the firewall policy to update.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // }, - // "name": { - // "description": "Name for the association that will be removed.", - // "location": "query", - // "type": "string" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "Name of the region scoping this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - -// method id "compute.regionNetworkFirewallPolicies.removeRule": - -type RegionNetworkFirewallPoliciesRemoveRuleCall struct { - s *Service - project string - region string - firewallPolicy string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// RemoveRule: Deletes a rule of the specified priority. -// -// - firewallPolicy: Name of the firewall policy to update. -// - project: Project ID for this request. -// - region: Name of the region scoping this request. -func (r *RegionNetworkFirewallPoliciesService) RemoveRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveRuleCall { - c := &RegionNetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.firewallPolicy = firewallPolicy - return c -} - -// Priority sets the optional parameter "priority": The priority of the -// rule to remove from the firewall policy. -func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesRemoveRuleCall { - c.urlParams_.Set("priority", fmt.Sprint(priority)) - return c -} - -// RequestId sets the optional parameter "requestId": An optional -// request ID to identify requests. Specify a unique request ID so that -// if you must retry your request, the server will know to ignore the -// request if it has already been completed. For example, consider a -// situation where you make an initial request and the request times -// out. If you make the request again with the same request ID, the -// server can check if original operation with the same request ID was -// received, and if so, will ignore the second request. This prevents -// clients from accidentally creating duplicate commitments. The request -// ID must be a valid UUID with the exception that zero UUID is not -// supported ( 00000000-0000-0000-0000-000000000000). -func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveRuleCall { - c.urlParams_.Set("requestId", requestId) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveRuleCall { - 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 *RegionNetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveRuleCall { - 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 *RegionNetworkFirewallPoliciesRemoveRuleCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "firewallPolicy": c.firewallPolicy, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworkFirewallPolicies.removeRule" 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 *RegionNetworkFirewallPoliciesRemoveRuleCall) 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": "Deletes a rule of the specified priority.", - // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", - // "httpMethod": "POST", - // "id": "compute.regionNetworkFirewallPolicies.removeRule", - // "parameterOrder": [ - // "project", - // "region", - // "firewallPolicy" - // ], - // "parameters": { - // "firewallPolicy": { - // "description": "Name of the firewall policy to update.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // }, - // "priority": { - // "description": "The priority of the rule to remove from the firewall policy.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "Name of the region scoping this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - -// method id "compute.regionNetworkFirewallPolicies.setIamPolicy": - -type RegionNetworkFirewallPoliciesSetIamPolicyCall struct { - s *Service - project string - region string - resource string - regionsetpolicyrequest *RegionSetPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// SetIamPolicy: Sets the access control policy on the specified -// resource. Replaces any existing policy. -// -// - project: Project ID for this request. -// - region: The name of the region for this request. -// - resource: Name or id of the resource for this request. -func (r *RegionNetworkFirewallPoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionNetworkFirewallPoliciesSetIamPolicyCall { - c := &RegionNetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.resource = resource - c.regionsetpolicyrequest = regionsetpolicyrequest - 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 *RegionNetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesSetIamPolicyCall { - 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 *RegionNetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesSetIamPolicyCall { - 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 *RegionNetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) 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.regionsetpolicyrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworkFirewallPolicies.setIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.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 *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ - 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": "Sets the access control policy on the specified resource. Replaces any existing policy.", - // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", - // "httpMethod": "POST", - // "id": "compute.regionNetworkFirewallPolicies.setIamPolicy", - // "parameterOrder": [ - // "project", - // "region", - // "resource" - // ], - // "parameters": { - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "The name of the region for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "resource": { - // "description": "Name or id of the resource for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", - // "request": { - // "$ref": "RegionSetPolicyRequest" - // }, - // "response": { - // "$ref": "Policy" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - -// method id "compute.regionNetworkFirewallPolicies.testIamPermissions": - -type RegionNetworkFirewallPoliciesTestIamPermissionsCall struct { - s *Service - project string - region string - resource string - testpermissionsrequest *TestPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. -// -// - project: Project ID for this request. -// - region: The name of the region for this request. -// - resource: Name or id of the resource for this request. -func (r *RegionNetworkFirewallPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { - c := &RegionNetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.resource = resource - c.testpermissionsrequest = testpermissionsrequest - 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 *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { - 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 *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { - 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 *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) 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.testpermissionsrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworkFirewallPolicies.testIamPermissions" call. -// Exactly one of *TestPermissionsResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *TestPermissionsResponse.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 *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, 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 := &TestPermissionsResponse{ - 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 permissions that a caller has on the specified resource.", - // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", - // "httpMethod": "POST", - // "id": "compute.regionNetworkFirewallPolicies.testIamPermissions", - // "parameterOrder": [ - // "project", - // "region", - // "resource" - // ], - // "parameters": { - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "The name of the region for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "resource": { - // "description": "Name or id of the resource for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", - // "request": { - // "$ref": "TestPermissionsRequest" - // }, - // "response": { - // "$ref": "TestPermissionsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// method id "compute.regionNetworks.delete": - -type RegionNetworksDeleteCall struct { - s *Service - project string - region string - network string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes the specified network. -// -// - network: Name of the network to delete. -// - project: Project ID for this request. -// - region: Name of the region scoping this request. -func (r *RegionNetworksService) Delete(project string, region string, network string) *RegionNetworksDeleteCall { - c := &RegionNetworksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.network = network - return c -} - -// RequestId sets the optional parameter "requestId": An optional -// request ID to identify requests. Specify a unique request ID so that -// if you must retry your request, the server will know to ignore the -// request if it has already been completed. For example, consider a -// situation where you make an initial request and the request times -// out. If you make the request again with the same request ID, the -// server can check if original operation with the same request ID was -// received, and if so, will ignore the second request. This prevents -// clients from accidentally creating duplicate commitments. The request -// ID must be a valid UUID with the exception that zero UUID is not -// supported ( 00000000-0000-0000-0000-000000000000). -func (c *RegionNetworksDeleteCall) RequestId(requestId string) *RegionNetworksDeleteCall { - c.urlParams_.Set("requestId", requestId) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *RegionNetworksDeleteCall) Fields(s ...googleapi.Field) *RegionNetworksDeleteCall { - 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 *RegionNetworksDeleteCall) Context(ctx context.Context) *RegionNetworksDeleteCall { - 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 *RegionNetworksDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworksDeleteCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networks/{network}") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "network": c.network, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworks.delete" 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 *RegionNetworksDeleteCall) 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": "Deletes the specified network.", - // "flatPath": "projects/{project}/regions/{region}/networks/{network}", - // "httpMethod": "DELETE", - // "id": "compute.regionNetworks.delete", - // "parameterOrder": [ - // "project", - // "region", - // "network" - // ], - // "parameters": { - // "network": { - // "description": "Name of the network to delete.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "Name of the region scoping this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/networks/{network}", - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - -// method id "compute.regionNetworks.get": - -type RegionNetworksGetCall struct { - s *Service - project string - region string - network string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Returns the specified network. -// -// - network: Name of the network to return. -// - project: Project ID for this request. -// - region: Name of the region scoping this request. -func (r *RegionNetworksService) Get(project string, region string, network string) *RegionNetworksGetCall { - c := &RegionNetworksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.network = network - 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 *RegionNetworksGetCall) Fields(s ...googleapi.Field) *RegionNetworksGetCall { - 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 *RegionNetworksGetCall) IfNoneMatch(entityTag string) *RegionNetworksGetCall { - 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 *RegionNetworksGetCall) Context(ctx context.Context) *RegionNetworksGetCall { - 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 *RegionNetworksGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworksGetCall) 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, "projects/{project}/regions/{region}/networks/{network}") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "network": c.network, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworks.get" call. -// Exactly one of *Network or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Network.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 *RegionNetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, 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 := &Network{ - 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 the specified network.", - // "flatPath": "projects/{project}/regions/{region}/networks/{network}", - // "httpMethod": "GET", - // "id": "compute.regionNetworks.get", - // "parameterOrder": [ - // "project", - // "region", - // "network" - // ], - // "parameters": { - // "network": { - // "description": "Name of the network to return.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "Name of the region scoping this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/networks/{network}", - // "response": { - // "$ref": "Network" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// method id "compute.regionNetworks.getIamPolicy": - -type RegionNetworksGetIamPolicyCall struct { - s *Service - project string - region string - resource string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// GetIamPolicy: Gets the access control policy for a resource. May be -// empty if no such policy or resource exists. -// -// - project: Project ID for this request. -// - region: The name of the region for this request. -// - resource: Name or id of the resource for this request. -func (r *RegionNetworksService) GetIamPolicy(project string, region string, resource string) *RegionNetworksGetIamPolicyCall { - c := &RegionNetworksGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.resource = resource - return c -} - -// OptionsRequestedPolicyVersion sets the optional parameter -// "optionsRequestedPolicyVersion": Requested IAM Policy version. -func (c *RegionNetworksGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *RegionNetworksGetIamPolicyCall { - c.urlParams_.Set("optionsRequestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) - 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 *RegionNetworksGetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworksGetIamPolicyCall { - 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 *RegionNetworksGetIamPolicyCall) IfNoneMatch(entityTag string) *RegionNetworksGetIamPolicyCall { - 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 *RegionNetworksGetIamPolicyCall) Context(ctx context.Context) *RegionNetworksGetIamPolicyCall { - 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 *RegionNetworksGetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworksGetIamPolicyCall) 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, "projects/{project}/regions/{region}/networks/{resource}/getIamPolicy") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworks.getIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.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 *RegionNetworksGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - // "flatPath": "projects/{project}/regions/{region}/networks/{resource}/getIamPolicy", - // "httpMethod": "GET", - // "id": "compute.regionNetworks.getIamPolicy", - // "parameterOrder": [ - // "project", - // "region", - // "resource" - // ], - // "parameters": { - // "optionsRequestedPolicyVersion": { - // "description": "Requested IAM Policy version.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "The name of the region for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "resource": { - // "description": "Name or id of the resource for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - // "required": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/networks/{resource}/getIamPolicy", - // "response": { - // "$ref": "Policy" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// method id "compute.regionNetworks.insert": - -type RegionNetworksInsertCall struct { - s *Service - project string - region string - network *Network - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Insert: Creates a network in the specified project and region using -// the data included in the request. -// -// - project: Project ID for this request. -// - region: Name of the region scoping this request. -func (r *RegionNetworksService) Insert(project string, region string, network *Network) *RegionNetworksInsertCall { - c := &RegionNetworksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.network = network - return c -} - -// RequestId sets the optional parameter "requestId": An optional -// request ID to identify requests. Specify a unique request ID so that -// if you must retry your request, the server will know to ignore the -// request if it has already been completed. For example, consider a -// situation where you make an initial request and the request times -// out. If you make the request again with the same request ID, the -// server can check if original operation with the same request ID was -// received, and if so, will ignore the second request. This prevents -// clients from accidentally creating duplicate commitments. The request -// ID must be a valid UUID with the exception that zero UUID is not -// supported ( 00000000-0000-0000-0000-000000000000). -func (c *RegionNetworksInsertCall) RequestId(requestId string) *RegionNetworksInsertCall { - c.urlParams_.Set("requestId", requestId) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *RegionNetworksInsertCall) Fields(s ...googleapi.Field) *RegionNetworksInsertCall { - 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 *RegionNetworksInsertCall) Context(ctx context.Context) *RegionNetworksInsertCall { - 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 *RegionNetworksInsertCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionNetworksInsertCall) 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.network) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networks") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionNetworks.insert" 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 *RegionNetworksInsertCall) 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": "Creates a network in the specified project and region using the data included in the request.", - // "flatPath": "projects/{project}/regions/{region}/networks", + // "description": "Removes an association for the specified network firewall policy.", + // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", // "httpMethod": "POST", - // "id": "compute.regionNetworks.insert", + // "id": "compute.regionNetworkFirewallPolicies.removeAssociation", // "parameterOrder": [ // "project", - // "region" + // "region", + // "firewallPolicy" // ], // "parameters": { + // "firewallPolicy": { + // "description": "Name of the firewall policy to update.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // }, + // "name": { + // "description": "Name for the association that will be removed.", + // "location": "query", + // "type": "string" + // }, // "project": { // "description": "Project ID for this request.", // "location": "path", @@ -182285,10 +181465,7 @@ func (c *RegionNetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, // "type": "string" // } // }, - // "path": "projects/{project}/regions/{region}/networks", - // "request": { - // "$ref": "Network" - // }, + // "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", // "response": { // "$ref": "Operation" // }, @@ -182300,182 +181477,112 @@ func (c *RegionNetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, } -// method id "compute.regionNetworks.list": +// method id "compute.regionNetworkFirewallPolicies.removeRule": -type RegionNetworksListCall struct { - s *Service - project string - region string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type RegionNetworkFirewallPoliciesRemoveRuleCall struct { + s *Service + project string + region string + firewallPolicy string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// List: Retrieves the list of networks available to the specified -// project in the given region. +// RemoveRule: Deletes a rule of the specified priority. // +// - firewallPolicy: Name of the firewall policy to update. // - project: Project ID for this request. // - region: Name of the region scoping this request. -func (r *RegionNetworksService) List(project string, region string) *RegionNetworksListCall { - c := &RegionNetworksListCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *RegionNetworkFirewallPoliciesService) RemoveRule(project string, region string, firewallPolicy string) *RegionNetworkFirewallPoliciesRemoveRuleCall { + c := &RegionNetworkFirewallPoliciesRemoveRuleCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.region = region + c.firewallPolicy = firewallPolicy return c } -// Filter sets the optional parameter "filter": A filter expression that -// filters resources listed in the response. Most Compute resources -// support two types of filter expressions: expressions that support -// regular expressions and expressions that follow API improvement -// proposal AIP-160. If you want to use AIP-160, your expression must -// specify the field name, an operator, and the value that you want to -// use for filtering. The value must be a string, a number, or a -// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` -// or `:`. For example, if you are filtering Compute Engine instances, -// you can exclude instances named `example-instance` by specifying -// `name != example-instance`. The `:` operator can be used with string -// fields to match substrings. For non-string fields it is equivalent to -// the `=` operator. The `:*` comparison can be used to test whether a -// key has been defined. For example, to find all objects with `owner` -// label use: ``` labels.owner:* ``` You can also filter nested fields. -// For example, you could specify `scheduling.automaticRestart = false` -// to include instances only if they are not scheduled for automatic -// restarts. You can use filtering on nested fields to filter based on -// resource labels. To filter on multiple expressions, provide each -// separate expression within parentheses. For example: ``` -// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") -// ``` By default, each expression is an `AND` expression. However, you -// can include `AND` and `OR` expressions explicitly. For example: ``` -// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") -// AND (scheduling.automaticRestart = true) ``` If you want to use a -// regular expression, use the `eq` (equal) or `ne` (not equal) operator -// against a single un-parenthesized expression with or without quotes -// or against multiple parenthesized expressions. Examples: `fieldname -// eq unquoted literal` `fieldname eq 'single quoted literal'` -// `fieldname eq "double quoted literal" `(fieldname1 eq literal) -// (fieldname2 ne "literal")` The literal value is interpreted as a -// regular expression using Google RE2 library syntax. The literal value -// must match the entire field. For example, to filter for instances -// that do not end with name "instance", you would use `name ne -// .*instance`. -func (c *RegionNetworksListCall) Filter(filter string) *RegionNetworksListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// MaxResults sets the optional parameter "maxResults": The maximum -// number of results per page that should be returned. If the number of -// available results is larger than `maxResults`, Compute Engine returns -// a `nextPageToken` that can be used to get the next page of results in -// subsequent list requests. Acceptable values are `0` to `500`, -// inclusive. (Default: `500`) -func (c *RegionNetworksListCall) MaxResults(maxResults int64) *RegionNetworksListCall { - c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) - return c -} - -// OrderBy sets the optional parameter "orderBy": Sorts list results by -// a certain order. By default, results are returned in alphanumerical -// order based on the resource name. You can also sort results in -// descending order based on the creation timestamp using -// `orderBy="creationTimestamp desc". This sorts results based on the -// `creationTimestamp` field in reverse chronological order (newest -// result first). Use this to sort resources like operations so that the -// newest operation is returned first. Currently, only sorting by `name` -// or `creationTimestamp desc` is supported. -func (c *RegionNetworksListCall) OrderBy(orderBy string) *RegionNetworksListCall { - c.urlParams_.Set("orderBy", orderBy) - return c -} - -// PageToken sets the optional parameter "pageToken": Specifies a page -// token to use. Set `pageToken` to the `nextPageToken` returned by a -// previous list request to get the next page of results. -func (c *RegionNetworksListCall) PageToken(pageToken string) *RegionNetworksListCall { - c.urlParams_.Set("pageToken", pageToken) +// Priority sets the optional parameter "priority": The priority of the +// rule to remove from the firewall policy. +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Priority(priority int64) *RegionNetworkFirewallPoliciesRemoveRuleCall { + c.urlParams_.Set("priority", fmt.Sprint(priority)) return c } -// ReturnPartialSuccess sets the optional parameter -// "returnPartialSuccess": Opt-in for partial success behavior which -// provides partial results in case of failure. The default value is -// false. -func (c *RegionNetworksListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionNetworksListCall { - c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) RequestId(requestId string) *RegionNetworkFirewallPoliciesRemoveRuleCall { + c.urlParams_.Set("requestId", requestId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *RegionNetworksListCall) Fields(s ...googleapi.Field) *RegionNetworksListCall { +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesRemoveRuleCall { 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 *RegionNetworksListCall) IfNoneMatch(entityTag string) *RegionNetworksListCall { - 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 *RegionNetworksListCall) Context(ctx context.Context) *RegionNetworksListCall { +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesRemoveRuleCall { 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 *RegionNetworksListCall) Header() http.Header { +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *RegionNetworksListCall) doRequest(alt string) (*http.Response, error) { +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) 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, "projects/{project}/regions/{region}/networks") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, + "project": c.project, + "region": c.region, + "firewallPolicy": c.firewallPolicy, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "compute.regionNetworks.list" call. -// Exactly one of *NetworkList or error will be non-nil. Any non-2xx +// Do executes the "compute.regionNetworkFirewallPolicies.removeRule" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either -// *NetworkList.ServerResponse.Header or (if a response was returned at +// *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 *RegionNetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error) { +func (c *RegionNetworkFirewallPoliciesRemoveRuleCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -182494,7 +181601,7 @@ func (c *RegionNetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &NetworkList{ + ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -182506,38 +181613,29 @@ func (c *RegionNetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, } return ret, nil // { - // "description": "Retrieves the list of networks available to the specified project in the given region.", - // "flatPath": "projects/{project}/regions/{region}/networks", - // "httpMethod": "GET", - // "id": "compute.regionNetworks.list", + // "description": "Deletes a rule of the specified priority.", + // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", + // "httpMethod": "POST", + // "id": "compute.regionNetworkFirewallPolicies.removeRule", // "parameterOrder": [ // "project", - // "region" + // "region", + // "firewallPolicy" // ], // "parameters": { - // "filter": { - // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", - // "location": "query", + // "firewallPolicy": { + // "description": "Name of the firewall policy to update.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, // "type": "string" // }, - // "maxResults": { - // "default": "500", - // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - // "format": "uint32", + // "priority": { + // "description": "The priority of the rule to remove from the firewall policy.", + // "format": "int32", // "location": "query", - // "minimum": "0", // "type": "integer" // }, - // "orderBy": { - // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - // "location": "query", - // "type": "string" - // }, - // "pageToken": { - // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - // "location": "query", - // "type": "string" - // }, // "project": { // "description": "Project ID for this request.", // "location": "path", @@ -182552,49 +181650,27 @@ func (c *RegionNetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, // "required": true, // "type": "string" // }, - // "returnPartialSuccess": { - // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", // "location": "query", - // "type": "boolean" + // "type": "string" // } // }, - // "path": "projects/{project}/regions/{region}/networks", + // "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", // "response": { - // "$ref": "NetworkList" + // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } } -// 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 *RegionNetworksListCall) Pages(ctx context.Context, f func(*NetworkList) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - -// method id "compute.regionNetworks.setIamPolicy": +// method id "compute.regionNetworkFirewallPolicies.setIamPolicy": -type RegionNetworksSetIamPolicyCall struct { +type RegionNetworkFirewallPoliciesSetIamPolicyCall struct { s *Service project string region string @@ -182611,8 +181687,8 @@ type RegionNetworksSetIamPolicyCall struct { // - project: Project ID for this request. // - region: The name of the region for this request. // - resource: Name or id of the resource for this request. -func (r *RegionNetworksService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionNetworksSetIamPolicyCall { - c := &RegionNetworksSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *RegionNetworkFirewallPoliciesService) SetIamPolicy(project string, region string, resource string, regionsetpolicyrequest *RegionSetPolicyRequest) *RegionNetworkFirewallPoliciesSetIamPolicyCall { + c := &RegionNetworkFirewallPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.region = region c.resource = resource @@ -182623,7 +181699,7 @@ func (r *RegionNetworksService) SetIamPolicy(project string, region string, reso // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *RegionNetworksSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworksSetIamPolicyCall { +func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -182631,21 +181707,21 @@ func (c *RegionNetworksSetIamPolicyCall) Fields(s ...googleapi.Field) *RegionNet // 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 *RegionNetworksSetIamPolicyCall) Context(ctx context.Context) *RegionNetworksSetIamPolicyCall { +func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesSetIamPolicyCall { 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 *RegionNetworksSetIamPolicyCall) Header() http.Header { +func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *RegionNetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) 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_ { @@ -182660,7 +181736,7 @@ func (c *RegionNetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -182675,14 +181751,14 @@ func (c *RegionNetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "compute.regionNetworks.setIamPolicy" call. +// Do executes the "compute.regionNetworkFirewallPolicies.setIamPolicy" call. // Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Policy.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 *RegionNetworksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +func (c *RegionNetworkFirewallPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -182714,9 +181790,9 @@ func (c *RegionNetworksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Poli return ret, nil // { // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - // "flatPath": "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy", + // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", // "httpMethod": "POST", - // "id": "compute.regionNetworks.setIamPolicy", + // "id": "compute.regionNetworkFirewallPolicies.setIamPolicy", // "parameterOrder": [ // "project", // "region", @@ -182745,7 +181821,7 @@ func (c *RegionNetworksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Poli // "type": "string" // } // }, - // "path": "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy", + // "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", // "request": { // "$ref": "RegionSetPolicyRequest" // }, @@ -182760,9 +181836,9 @@ func (c *RegionNetworksSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Poli } -// method id "compute.regionNetworks.testIamPermissions": +// method id "compute.regionNetworkFirewallPolicies.testIamPermissions": -type RegionNetworksTestIamPermissionsCall struct { +type RegionNetworkFirewallPoliciesTestIamPermissionsCall struct { s *Service project string region string @@ -182779,8 +181855,8 @@ type RegionNetworksTestIamPermissionsCall struct { // - project: Project ID for this request. // - region: The name of the region for this request. // - resource: Name or id of the resource for this request. -func (r *RegionNetworksService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNetworksTestIamPermissionsCall { - c := &RegionNetworksTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *RegionNetworkFirewallPoliciesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { + c := &RegionNetworkFirewallPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project c.region = region c.resource = resource @@ -182791,7 +181867,7 @@ func (r *RegionNetworksService) TestIamPermissions(project string, region string // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *RegionNetworksTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNetworksTestIamPermissionsCall { +func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -182799,21 +181875,21 @@ func (c *RegionNetworksTestIamPermissionsCall) Fields(s ...googleapi.Field) *Reg // 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 *RegionNetworksTestIamPermissionsCall) Context(ctx context.Context) *RegionNetworksTestIamPermissionsCall { +func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Context(ctx context.Context) *RegionNetworkFirewallPoliciesTestIamPermissionsCall { 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 *RegionNetworksTestIamPermissionsCall) Header() http.Header { +func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *RegionNetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { +func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) 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_ { @@ -182828,7 +181904,7 @@ func (c *RegionNetworksTestIamPermissionsCall) doRequest(alt string) (*http.Resp reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/networks/{resource}/testIamPermissions") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -182843,14 +181919,14 @@ func (c *RegionNetworksTestIamPermissionsCall) doRequest(alt string) (*http.Resp return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "compute.regionNetworks.testIamPermissions" call. +// Do executes the "compute.regionNetworkFirewallPolicies.testIamPermissions" call. // Exactly one of *TestPermissionsResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *TestPermissionsResponse.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 *RegionNetworksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) { +func (c *RegionNetworkFirewallPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -182882,9 +181958,9 @@ func (c *RegionNetworksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) return ret, nil // { // "description": "Returns permissions that a caller has on the specified resource.", - // "flatPath": "projects/{project}/regions/{region}/networks/{resource}/testIamPermissions", + // "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", // "httpMethod": "POST", - // "id": "compute.regionNetworks.testIamPermissions", + // "id": "compute.regionNetworkFirewallPolicies.testIamPermissions", // "parameterOrder": [ // "project", // "region", @@ -182913,7 +181989,7 @@ func (c *RegionNetworksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "type": "string" // } // }, - // "path": "projects/{project}/regions/{region}/networks/{resource}/testIamPermissions", + // "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", // "request": { // "$ref": "TestPermissionsRequest" // }, diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index f5601375571..04cb5170eb3 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -35452,7 +35452,7 @@ } } }, - "revision": "20220726", + "revision": "20220809", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -39178,7 +39178,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -52130,6 +52130,9 @@ ], "type": "string" }, + "pscData": { + "$ref": "NetworkEndpointGroupPscData" + }, "pscTargetService": { "description": "The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: \"asia-northeast3-cloudkms.googleapis.com\"", "type": "string" @@ -52485,6 +52488,42 @@ }, "type": "object" }, + "NetworkEndpointGroupPscData": { + "description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", + "id": "NetworkEndpointGroupPscData", + "properties": { + "consumerPscAddress": { + "description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", + "type": "string" + }, + "pscConnectionId": { + "description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", + "format": "uint64", + "type": "string" + }, + "pscConnectionStatus": { + "description": "[Output Only] The connection status of the PSC Forwarding Rule.", + "enum": [ + "ACCEPTED", + "CLOSED", + "NEEDS_ATTENTION", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The connection has been accepted by the producer.", + "The connection has been closed by the producer and will not serve traffic going forward.", + "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", + "The connection is pending acceptance by the producer.", + "The connection has been rejected by the producer.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "NetworkEndpointGroupServerlessDeployment": { "description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", "id": "NetworkEndpointGroupServerlessDeployment", @@ -59189,6 +59228,13 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "resourcePolicies": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", + "type": "object" + }, "satisfiesPzs": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -63124,6 +63170,10 @@ "$ref": "SecurityPolicyRuleMatcher", "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." }, + "preconfiguredWafConfig": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfig", + "description": "Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect." + }, "preview": { "description": "If set to true, the specified action is not enforced.", "type": "boolean" @@ -63266,6 +63316,92 @@ }, "type": "object" }, + "SecurityPolicyRulePreconfiguredWafConfig": { + "id": "SecurityPolicyRulePreconfiguredWafConfig", + "properties": { + "exclusions": { + "description": "A list of exclusions to apply during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusion" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityPolicyRulePreconfiguredWafConfigExclusion": { + "id": "SecurityPolicyRulePreconfiguredWafConfigExclusion", + "properties": { + "requestCookiesToExclude": { + "description": "A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestHeadersToExclude": { + "description": "A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestQueryParamsToExclude": { + "description": "A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "requestUrisToExclude": { + "description": "A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded.", + "items": { + "$ref": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams" + }, + "type": "array" + }, + "targetRuleIds": { + "description": "A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetRuleSet": { + "description": "Target WAF rule set to apply the preconfigured WAF exclusion.", + "type": "string" + } + }, + "type": "object" + }, + "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams": { + "id": "SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams", + "properties": { + "op": { + "description": "The match operator for the field.", + "enum": [ + "CONTAINS", + "ENDS_WITH", + "EQUALS", + "EQUALS_ANY", + "STARTS_WITH" + ], + "enumDescriptions": [ + "The operator matches if the field value contains the specified value.", + "The operator matches if the field value ends with the specified value.", + "The operator matches if the field value equals the specified value.", + "The operator matches if the field value is any value.", + "The operator matches if the field value starts with the specified value." + ], + "type": "string" + }, + "val": { + "description": "The value of the field.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyRuleRateLimitOptions": { "id": "SecurityPolicyRuleRateLimitOptions", "properties": { diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index 082d7f4c960..6eb05a4fe96 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -7260,16 +7260,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -27825,6 +27829,8 @@ type NetworkEndpointGroup struct { // serverless infrastructure. NetworkEndpointType string `json:"networkEndpointType,omitempty"` + PscData *NetworkEndpointGroupPscData `json:"pscData,omitempty"` + // PscTargetService: The target service url used to set up private // service connection to a Google API or a PSC Producer Service // Attachment. An example value is: @@ -28451,6 +28457,57 @@ func (s *NetworkEndpointGroupListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkEndpointGroupPscData: All data that is specifically relevant +// to only network endpoint groups of type PRIVATE_SERVICE_CONNECT. +type NetworkEndpointGroupPscData struct { + // ConsumerPscAddress: [Output Only] Address allocated from given + // subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, + // allowing it to act as an endpoint in L7 PSC-XLB. + ConsumerPscAddress string `json:"consumerPscAddress,omitempty"` + + // PscConnectionId: [Output Only] The PSC connection id of the PSC + // Network Endpoint Group Consumer. + PscConnectionId uint64 `json:"pscConnectionId,omitempty,string"` + + // PscConnectionStatus: [Output Only] The connection status of the PSC + // Forwarding Rule. + // + // Possible values: + // "ACCEPTED" - The connection has been accepted by the producer. + // "CLOSED" - The connection has been closed by the producer and will + // not serve traffic going forward. + // "NEEDS_ATTENTION" - The connection has been accepted by the + // producer, but the producer needs to take further action before the + // forwarding rule can serve traffic. + // "PENDING" - The connection is pending acceptance by the producer. + // "REJECTED" - The connection has been rejected by the producer. + // "STATUS_UNSPECIFIED" + PscConnectionStatus string `json:"pscConnectionStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConsumerPscAddress") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsumerPscAddress") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupPscData) MarshalJSON() ([]byte, error) { + type NoMethod NetworkEndpointGroupPscData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkEndpointGroupServerlessDeployment: Configuration for a // serverless network endpoint group (NEG). The platform must be // provided. Note: The target backend service must be in the same @@ -38897,6 +38954,11 @@ type Reservation struct { // be a dash. Name string `json:"name,omitempty"` + // ResourcePolicies: Resource policies to be added to this reservation. + // The key is defined by user, and the value is resource policy url. + // This is to define placement policy with reservation. + ResourcePolicies map[string]string `json:"resourcePolicies,omitempty"` + // SatisfiesPzs: [Output Only] Reserved for future use. SatisfiesPzs bool `json:"satisfiesPzs,omitempty"` @@ -44717,6 +44779,12 @@ type SecurityPolicyRule struct { // If it evaluates to true, the corresponding 'action' is enforced. Match *SecurityPolicyRuleMatcher `json:"match,omitempty"` + // PreconfiguredWafConfig: Preconfigured WAF configuration to be applied + // for the rule. If the rule does not evaluate preconfigured WAF rules, + // i.e., if evaluatePreconfiguredWaf() is not used, this field will have + // no effect. + PreconfiguredWafConfig *SecurityPolicyRulePreconfiguredWafConfig `json:"preconfiguredWafConfig,omitempty"` + // Preview: If set to true, the specified action is not enforced. Preview bool `json:"preview,omitempty"` @@ -44963,6 +45031,130 @@ func (s *SecurityPolicyRuleMatcherConfigLayer4Config) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type SecurityPolicyRulePreconfiguredWafConfig struct { + // Exclusions: A list of exclusions to apply during preconfigured WAF + // evaluation. + Exclusions []*SecurityPolicyRulePreconfiguredWafConfigExclusion `json:"exclusions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Exclusions") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Exclusions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfig) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyRulePreconfiguredWafConfigExclusion struct { + // RequestCookiesToExclude: A list of request cookie names whose value + // will be excluded from inspection during preconfigured WAF evaluation. + RequestCookiesToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestCookiesToExclude,omitempty"` + + // RequestHeadersToExclude: A list of request header names whose value + // will be excluded from inspection during preconfigured WAF evaluation. + RequestHeadersToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestHeadersToExclude,omitempty"` + + // RequestQueryParamsToExclude: A list of request query parameter names + // whose value will be excluded from inspection during preconfigured WAF + // evaluation. Note that the parameter can be in the query string or in + // the POST body. + RequestQueryParamsToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestQueryParamsToExclude,omitempty"` + + // RequestUrisToExclude: A list of request URIs from the request line to + // be excluded from inspection during preconfigured WAF evaluation. When + // specifying this field, the query or fragment part should be excluded. + RequestUrisToExclude []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams `json:"requestUrisToExclude,omitempty"` + + // TargetRuleIds: A list of target rule IDs under the WAF rule set to + // apply the preconfigured WAF exclusion. If omitted, it refers to all + // the rule IDs under the WAF rule set. + TargetRuleIds []string `json:"targetRuleIds,omitempty"` + + // TargetRuleSet: Target WAF rule set to apply the preconfigured WAF + // exclusion. + TargetRuleSet string `json:"targetRuleSet,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "RequestCookiesToExclude") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RequestCookiesToExclude") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfigExclusion) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfigExclusion + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams struct { + // Op: The match operator for the field. + // + // Possible values: + // "CONTAINS" - The operator matches if the field value contains the + // specified value. + // "ENDS_WITH" - The operator matches if the field value ends with the + // specified value. + // "EQUALS" - The operator matches if the field value equals the + // specified value. + // "EQUALS_ANY" - The operator matches if the field value is any + // value. + // "STARTS_WITH" - The operator matches if the field value starts with + // the specified value. + Op string `json:"op,omitempty"` + + // Val: The value of the field. + Val string `json:"val,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Op") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Op") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) MarshalJSON() ([]byte, error) { + type NoMethod SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SecurityPolicyRuleRateLimitOptions struct { // BanDurationSec: Can only be specified if the action for the rule is // "rate_based_ban". If specified, determines the time (in seconds) the diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index 4075e2505bf..1e86fa60800 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -22141,6 +22141,315 @@ } } }, + "regionSslPolicies": { + "methods": { + "delete": { + "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "httpMethod": "DELETE", + "id": "compute.regionSslPolicies.delete", + "parameterOrder": [ + "project", + "region", + "sslPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "sslPolicy": { + "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Lists all of the ordered rules present in a single specified policy.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.get", + "parameterOrder": [ + "project", + "region", + "sslPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "response": { + "$ref": "SslPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a new policy in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies", + "httpMethod": "POST", + "id": "compute.regionSslPolicies.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies", + "request": { + "$ref": "SslPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all the SSL policies that have been configured for the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies", + "response": { + "$ref": "SslPoliciesList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listAvailableFeatures": { + "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.listAvailableFeatures", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "response": { + "$ref": "SslPoliciesListAvailableFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified SSL policy with the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "httpMethod": "PATCH", + "id": "compute.regionSslPolicies.patch", + "parameterOrder": [ + "project", + "region", + "sslPolicy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "request": { + "$ref": "SslPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "regionTargetHttpProxies": { "methods": { "delete": { @@ -31172,7 +31481,7 @@ } } }, - "revision": "20220726", + "revision": "20220809", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -34795,7 +35104,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -41300,6 +41609,46 @@ }, "type": "object" }, + "InstanceConsumptionData": { + "id": "InstanceConsumptionData", + "properties": { + "consumptionInfo": { + "$ref": "InstanceConsumptionInfo", + "description": "Resources consumed by the instance." + }, + "instance": { + "description": "Server-defined URL for the instance.", + "type": "string" + } + }, + "type": "object" + }, + "InstanceConsumptionInfo": { + "id": "InstanceConsumptionInfo", + "properties": { + "guestCpus": { + "description": "The number of virtual CPUs that are available to the instance.", + "format": "int32", + "type": "integer" + }, + "localSsdGb": { + "description": "The amount of local SSD storage available to the instance, defined in GiB.", + "format": "int32", + "type": "integer" + }, + "memoryMb": { + "description": "The amount of physical memory available to the instance, defined in MiB.", + "format": "int32", + "type": "integer" + }, + "minNodeCpus": { + "description": "The minimal guaranteed number of virtual CPUs that are reserved.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "InstanceGroup": { "description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", "id": "InstanceGroup", @@ -48404,6 +48753,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "shareSettings": { + "$ref": "ShareSettings", + "description": "Share-settings for the node group" + }, "size": { "description": "[Output Only] The total number of nodes in the node group.", "format": "int32", @@ -48735,6 +49088,10 @@ }, "type": "array" }, + "consumedResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Node resources that are reserved by all instances." + }, "cpuOvercommitType": { "description": "CPU overcommit.", "enum": [ @@ -48756,6 +49113,13 @@ }, "type": "array" }, + "instanceConsumptionData": { + "description": "Instance data that shows consumed resources on the node.", + "items": { + "$ref": "InstanceConsumptionData" + }, + "type": "array" + }, "instances": { "description": "Instances scheduled on this node.", "items": { @@ -48799,6 +49163,10 @@ "" ], "type": "string" + }, + "totalResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Total amount of available resources on the node." } }, "type": "object" @@ -58657,11 +59025,13 @@ "description": "Type of sharing for this shared-reservation", "enum": [ "LOCAL", + "ORGANIZATION", "SHARE_TYPE_UNSPECIFIED", "SPECIFIC_PROJECTS" ], "enumDescriptions": [ "Default value.", + "Shared-reservation is open to entire Organization", "Default value. This value is unused.", "Shared-reservation is open to specific projects" ], @@ -59896,6 +60266,10 @@ ], "type": "string" }, + "region": { + "description": "[Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies.", + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index 479215ca355..0c49417b47f 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -204,6 +204,7 @@ func New(client *http.Client) (*Service, error) { s.RegionOperations = NewRegionOperationsService(s) s.RegionSecurityPolicies = NewRegionSecurityPoliciesService(s) s.RegionSslCertificates = NewRegionSslCertificatesService(s) + s.RegionSslPolicies = NewRegionSslPoliciesService(s) s.RegionTargetHttpProxies = NewRegionTargetHttpProxiesService(s) s.RegionTargetHttpsProxies = NewRegionTargetHttpsProxiesService(s) s.RegionUrlMaps = NewRegionUrlMapsService(s) @@ -359,6 +360,8 @@ type Service struct { RegionSslCertificates *RegionSslCertificatesService + RegionSslPolicies *RegionSslPoliciesService + RegionTargetHttpProxies *RegionTargetHttpProxiesService RegionTargetHttpsProxies *RegionTargetHttpsProxiesService @@ -961,6 +964,15 @@ type RegionSslCertificatesService struct { s *Service } +func NewRegionSslPoliciesService(s *Service) *RegionSslPoliciesService { + rs := &RegionSslPoliciesService{s: s} + return rs +} + +type RegionSslPoliciesService struct { + s *Service +} + func NewRegionTargetHttpProxiesService(s *Service) *RegionTargetHttpProxiesService { rs := &RegionTargetHttpProxiesService{s: s} return rs @@ -7074,16 +7086,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -17421,6 +17437,77 @@ func (s *InstanceAggregatedListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type InstanceConsumptionData struct { + // ConsumptionInfo: Resources consumed by the instance. + ConsumptionInfo *InstanceConsumptionInfo `json:"consumptionInfo,omitempty"` + + // Instance: Server-defined URL for the instance. + Instance string `json:"instance,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConsumptionInfo") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsumptionInfo") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InstanceConsumptionData) MarshalJSON() ([]byte, error) { + type NoMethod InstanceConsumptionData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceConsumptionInfo struct { + // GuestCpus: The number of virtual CPUs that are available to the + // instance. + GuestCpus int64 `json:"guestCpus,omitempty"` + + // LocalSsdGb: The amount of local SSD storage available to the + // instance, defined in GiB. + LocalSsdGb int64 `json:"localSsdGb,omitempty"` + + // MemoryMb: The amount of physical memory available to the instance, + // defined in MiB. + MemoryMb int64 `json:"memoryMb,omitempty"` + + // MinNodeCpus: The minimal guaranteed number of virtual CPUs that are + // reserved. + MinNodeCpus int64 `json:"minNodeCpus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GuestCpus") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GuestCpus") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceConsumptionInfo) MarshalJSON() ([]byte, error) { + type NoMethod InstanceConsumptionInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceGroup: Represents an Instance Group resource. Instance Groups // can be used to configure a target for load balancing. Instance groups // can either be managed or unmanaged. To create managed instance @@ -28746,6 +28833,9 @@ type NodeGroup struct { // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` + // ShareSettings: Share-settings for the node group + ShareSettings *ShareSettings `json:"shareSettings,omitempty"` + // Size: [Output Only] The total number of nodes in the node group. Size int64 `json:"size,omitempty"` @@ -29253,6 +29343,9 @@ type NodeGroupNode struct { // Accelerators: Accelerators for this node. Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"` + // ConsumedResources: Node resources that are reserved by all instances. + ConsumedResources *InstanceConsumptionInfo `json:"consumedResources,omitempty"` + // CpuOvercommitType: CPU overcommit. // // Possible values: @@ -29264,6 +29357,10 @@ type NodeGroupNode struct { // Disks: Local disk configurations. Disks []*LocalDisk `json:"disks,omitempty"` + // InstanceConsumptionData: Instance data that shows consumed resources + // on the node. + InstanceConsumptionData []*InstanceConsumptionData `json:"instanceConsumptionData,omitempty"` + // Instances: Instances scheduled on this node. Instances []string `json:"instances,omitempty"` @@ -29290,6 +29387,9 @@ type NodeGroupNode struct { // "REPAIRING" Status string `json:"status,omitempty"` + // TotalResources: Total amount of available resources on the node. + TotalResources *InstanceConsumptionInfo `json:"totalResources,omitempty"` + // ForceSendFields is a list of field names (e.g. "Accelerators") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -44413,6 +44513,7 @@ type ShareSettings struct { // // Possible values: // "LOCAL" - Default value. + // "ORGANIZATION" - Shared-reservation is open to entire Organization // "SHARE_TYPE_UNSPECIFIED" - Default value. This value is unused. // "SPECIFIC_PROJECTS" - Shared-reservation is open to specific // projects @@ -46261,6 +46362,10 @@ type SslPolicy struct { // features, intended to meet stricter compliance requirements. Profile string `json:"profile,omitempty"` + // Region: [Output Only] URL of the region where the regional SSL policy + // resides. This field is not applicable to global SSL policies. + Region string `json:"region,omitempty"` + // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` @@ -149163,6 +149268,1290 @@ func (c *RegionSslCertificatesListCall) Pages(ctx context.Context, f func(*SslCe } } +// method id "compute.regionSslPolicies.delete": + +type RegionSslPoliciesDeleteCall struct { + s *Service + project string + region string + sslPolicy string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified SSL policy. The SSL policy resource can +// be deleted only if it is not in use by any TargetHttpsProxy or +// TargetSslProxy resources. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +// - sslPolicy: Name of the SSL policy to delete. The name must be 1-63 +// characters long, and comply with RFC1035. +func (r *RegionSslPoliciesService) Delete(project string, region string, sslPolicy string) *RegionSslPoliciesDeleteCall { + c := &RegionSslPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.sslPolicy = sslPolicy + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RegionSslPoliciesDeleteCall) RequestId(requestId string) *RegionSslPoliciesDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionSslPoliciesDeleteCall) Fields(s ...googleapi.Field) *RegionSslPoliciesDeleteCall { + 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 *RegionSslPoliciesDeleteCall) Context(ctx context.Context) *RegionSslPoliciesDeleteCall { + 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 *RegionSslPoliciesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.delete" 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 *RegionSslPoliciesDeleteCall) 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": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "httpMethod": "DELETE", + // "id": "compute.regionSslPolicies.delete", + // "parameterOrder": [ + // "project", + // "region", + // "sslPolicy" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.regionSslPolicies.get": + +type RegionSslPoliciesGetCall struct { + s *Service + project string + region string + sslPolicy string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Lists all of the ordered rules present in a single specified +// policy. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +// - sslPolicy: Name of the SSL policy to update. The name must be 1-63 +// characters long, and comply with RFC1035. +func (r *RegionSslPoliciesService) Get(project string, region string, sslPolicy string) *RegionSslPoliciesGetCall { + c := &RegionSslPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.sslPolicy = sslPolicy + 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 *RegionSslPoliciesGetCall) Fields(s ...googleapi.Field) *RegionSslPoliciesGetCall { + 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 *RegionSslPoliciesGetCall) IfNoneMatch(entityTag string) *RegionSslPoliciesGetCall { + 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 *RegionSslPoliciesGetCall) Context(ctx context.Context) *RegionSslPoliciesGetCall { + 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 *RegionSslPoliciesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesGetCall) 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, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.get" call. +// Exactly one of *SslPolicy or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *SslPolicy.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 *RegionSslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy, 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 := &SslPolicy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all of the ordered rules present in a single specified policy.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "httpMethod": "GET", + // "id": "compute.regionSslPolicies.get", + // "parameterOrder": [ + // "project", + // "region", + // "sslPolicy" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "response": { + // "$ref": "SslPolicy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.regionSslPolicies.insert": + +type RegionSslPoliciesInsertCall struct { + s *Service + project string + region string + sslpolicy *SslPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Creates a new policy in the specified project and region +// using the data included in the request. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +func (r *RegionSslPoliciesService) Insert(project string, region string, sslpolicy *SslPolicy) *RegionSslPoliciesInsertCall { + c := &RegionSslPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.sslpolicy = sslpolicy + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RegionSslPoliciesInsertCall) RequestId(requestId string) *RegionSslPoliciesInsertCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionSslPoliciesInsertCall) Fields(s ...googleapi.Field) *RegionSslPoliciesInsertCall { + 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 *RegionSslPoliciesInsertCall) Context(ctx context.Context) *RegionSslPoliciesInsertCall { + 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 *RegionSslPoliciesInsertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesInsertCall) 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.sslpolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.insert" 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 *RegionSslPoliciesInsertCall) 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": "Creates a new policy in the specified project and region using the data included in the request.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies", + // "httpMethod": "POST", + // "id": "compute.regionSslPolicies.insert", + // "parameterOrder": [ + // "project", + // "region" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies", + // "request": { + // "$ref": "SslPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.regionSslPolicies.list": + +type RegionSslPoliciesListCall struct { + s *Service + project string + region string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the SSL policies that have been configured for the +// specified project and region. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +func (r *RegionSslPoliciesService) List(project string, region string) *RegionSslPoliciesListCall { + c := &RegionSslPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *RegionSslPoliciesListCall) Filter(filter string) *RegionSslPoliciesListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *RegionSslPoliciesListCall) MaxResults(maxResults int64) *RegionSslPoliciesListCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *RegionSslPoliciesListCall) OrderBy(orderBy string) *RegionSslPoliciesListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *RegionSslPoliciesListCall) PageToken(pageToken string) *RegionSslPoliciesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *RegionSslPoliciesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSslPoliciesListCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionSslPoliciesListCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListCall { + 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 *RegionSslPoliciesListCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListCall { + 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 *RegionSslPoliciesListCall) Context(ctx context.Context) *RegionSslPoliciesListCall { + 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 *RegionSslPoliciesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesListCall) 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, "projects/{project}/regions/{region}/sslPolicies") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.list" call. +// Exactly one of *SslPoliciesList or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *SslPoliciesList.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 *RegionSslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPoliciesList, 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 := &SslPoliciesList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the SSL policies that have been configured for the specified project and region.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies", + // "httpMethod": "GET", + // "id": "compute.regionSslPolicies.list", + // "parameterOrder": [ + // "project", + // "region" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies", + // "response": { + // "$ref": "SslPoliciesList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *RegionSslPoliciesListCall) Pages(ctx context.Context, f func(*SslPoliciesList) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "compute.regionSslPolicies.listAvailableFeatures": + +type RegionSslPoliciesListAvailableFeaturesCall struct { + s *Service + project string + region string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListAvailableFeatures: Lists all features that can be specified in +// the SSL policy when using custom profile. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +func (r *RegionSslPoliciesService) ListAvailableFeatures(project string, region string) *RegionSslPoliciesListAvailableFeaturesCall { + c := &RegionSslPoliciesListAvailableFeaturesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *RegionSslPoliciesListAvailableFeaturesCall) Filter(filter string) *RegionSslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *RegionSslPoliciesListAvailableFeaturesCall) MaxResults(maxResults int64) *RegionSslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *RegionSslPoliciesListAvailableFeaturesCall) OrderBy(orderBy string) *RegionSslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *RegionSslPoliciesListAvailableFeaturesCall) PageToken(pageToken string) *RegionSslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *RegionSslPoliciesListAvailableFeaturesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RegionSslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionSslPoliciesListAvailableFeaturesCall) Fields(s ...googleapi.Field) *RegionSslPoliciesListAvailableFeaturesCall { + 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 *RegionSslPoliciesListAvailableFeaturesCall) IfNoneMatch(entityTag string) *RegionSslPoliciesListAvailableFeaturesCall { + 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 *RegionSslPoliciesListAvailableFeaturesCall) Context(ctx context.Context) *RegionSslPoliciesListAvailableFeaturesCall { + 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 *RegionSslPoliciesListAvailableFeaturesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesListAvailableFeaturesCall) 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, "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.listAvailableFeatures" call. +// Exactly one of *SslPoliciesListAvailableFeaturesResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *SslPoliciesListAvailableFeaturesResponse.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 *RegionSslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOption) (*SslPoliciesListAvailableFeaturesResponse, 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 := &SslPoliciesListAvailableFeaturesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + // "httpMethod": "GET", + // "id": "compute.regionSslPolicies.listAvailableFeatures", + // "parameterOrder": [ + // "project", + // "region" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + // "response": { + // "$ref": "SslPoliciesListAvailableFeaturesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.regionSslPolicies.patch": + +type RegionSslPoliciesPatchCall struct { + s *Service + project string + region string + sslPolicy string + sslpolicy *SslPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Patches the specified SSL policy with the data included in the +// request. +// +// - project: Project ID for this request. +// - region: Name of the region scoping this request. +// - sslPolicy: Name of the SSL policy to update. The name must be 1-63 +// characters long, and comply with RFC1035. +func (r *RegionSslPoliciesService) Patch(project string, region string, sslPolicy string, sslpolicy *SslPolicy) *RegionSslPoliciesPatchCall { + c := &RegionSslPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.sslPolicy = sslPolicy + c.sslpolicy = sslpolicy + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RegionSslPoliciesPatchCall) RequestId(requestId string) *RegionSslPoliciesPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegionSslPoliciesPatchCall) Fields(s ...googleapi.Field) *RegionSslPoliciesPatchCall { + 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 *RegionSslPoliciesPatchCall) Context(ctx context.Context) *RegionSslPoliciesPatchCall { + 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 *RegionSslPoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionSslPoliciesPatchCall) 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.sslpolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionSslPolicies.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 *RegionSslPoliciesPatchCall) 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": "Patches the specified SSL policy with the data included in the request.", + // "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "httpMethod": "PATCH", + // "id": "compute.regionSslPolicies.patch", + // "parameterOrder": [ + // "project", + // "region", + // "sslPolicy" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + // "request": { + // "$ref": "SslPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.regionTargetHttpProxies.delete": type RegionTargetHttpProxiesDeleteCall struct { diff --git a/connectors/v1/connectors-api.json b/connectors/v1/connectors-api.json index adf7b710f10..f566c1eb58d 100644 --- a/connectors/v1/connectors-api.json +++ b/connectors/v1/connectors-api.json @@ -603,239 +603,6 @@ } } }, - "global": { - "resources": { - "providers": { - "methods": { - "get": { - "description": "Gets details of a single Provider.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Provider" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Providers in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/providers", - "response": { - "$ref": "ListProvidersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "connectors": { - "methods": { - "get": { - "description": "Gets details of a single Connector.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.connectors.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Connector" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Connectors in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.connectors.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/connectors", - "response": { - "$ref": "ListConnectorsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "versions": { - "methods": { - "get": { - "description": "Gets details of a single connector version.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.connectors.versions.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+/versions/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", - "enum": [ - "CONNECTOR_VERSION_VIEW_UNSPECIFIED", - "CONNECTOR_VERSION_VIEW_BASIC", - "CONNECTOR_VERSION_VIEW_FULL" - ], - "enumDescriptions": [ - "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", - "Do not include role grant configs.", - "Include role grant configs." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "ConnectorVersion" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Connector Versions in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions", - "httpMethod": "GET", - "id": "connectors.projects.locations.global.providers.connectors.versions.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*/connectors/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", - "enum": [ - "CONNECTOR_VERSION_VIEW_UNSPECIFIED", - "CONNECTOR_VERSION_VIEW_BASIC", - "CONNECTOR_VERSION_VIEW_FULL" - ], - "enumDescriptions": [ - "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", - "Do not include role grant configs.", - "Include role grant configs." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/versions", - "response": { - "$ref": "ListConnectorVersionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - } - } - } - } - }, "operations": { "methods": { "cancel": { @@ -961,6 +728,31 @@ }, "providers": { "methods": { + "get": { + "description": "Gets details of a provider.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*` Only global location is supported for Provider resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Provider" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:getIamPolicy", @@ -992,6 +784,42 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists Providers in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*` Only global location is supported for Provider resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/providers", + "response": { + "$ref": "ListProvidersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy", @@ -1048,6 +876,170 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "connectors": { + "methods": { + "get": { + "description": "Gets details of a single Connector.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.connectors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for Connector resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Connector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Connectors in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.connectors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*` Only global location is supported for Connector resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connectors", + "response": { + "$ref": "ListConnectorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "get": { + "description": "Gets details of a single connector version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.connectors.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*` Only global location is supported for ConnectorVersion resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", + "enum": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + "CONNECTOR_VERSION_VIEW_BASIC", + "CONNECTOR_VERSION_VIEW_FULL" + ], + "enumDescriptions": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + "Do not include role grant configs.", + "Include role grant configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ConnectorVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Connector Versions in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.connectors.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for ConnectorVersion resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `BASIC` view.", + "enum": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + "CONNECTOR_VERSION_VIEW_BASIC", + "CONNECTOR_VERSION_VIEW_FULL" + ], + "enumDescriptions": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + "Do not include role grant configs.", + "Include role grant configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListConnectorVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } } } } @@ -1055,7 +1047,7 @@ } } }, - "revision": "20220724", + "revision": "20220808", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -1221,7 +1213,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1362,7 +1354,7 @@ "type": "array" }, "connectorVersion": { - "description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/global/providers/*/connectors/*/versions/*", + "description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/*/providers/*/connectors/*/versions/* Only global location is supported for ConnectorVersion resource.", "type": "string" }, "createTime": { @@ -1375,6 +1367,13 @@ "description": "Optional. Description of the resource.", "type": "string" }, + "destinationConfigs": { + "description": "Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).", + "items": { + "$ref": "DestinationConfig" + }, + "type": "array" + }, "envoyImageLocation": { "description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}", "readOnly": true, @@ -1401,6 +1400,10 @@ "readOnly": true, "type": "string" }, + "nodeConfig": { + "$ref": "NodeConfig", + "description": "Optional. Configuration for the connection." + }, "serviceAccount": { "description": "Optional. Service account needed for runtime plane to access GCP resources.", "type": "string" @@ -1544,7 +1547,7 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the Connector. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}", + "description": "Output only. Resource name of the Connector. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector} Only global location is supported for Connector resource.", "readOnly": true, "type": "string" }, @@ -1624,7 +1627,7 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the Version. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version}", + "description": "Output only. Resource name of the Version. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version} Only global location is supported for Connector resource.", "readOnly": true, "type": "string" }, @@ -1660,6 +1663,43 @@ }, "type": "object" }, + "Destination": { + "id": "Destination", + "properties": { + "host": { + "description": "For publicly routable host.", + "type": "string" + }, + "port": { + "description": "The port is the target port number that is accepted by the destination.", + "format": "int32", + "type": "integer" + }, + "serviceAttachment": { + "description": "PSC service attachments. Format: projects/*/regions/*/serviceAttachments/*", + "type": "string" + } + }, + "type": "object" + }, + "DestinationConfig": { + "description": "Define the Connectors target endpoint.", + "id": "DestinationConfig", + "properties": { + "destinations": { + "description": "The destinations for the key.", + "items": { + "$ref": "Destination" + }, + "type": "array" + }, + "key": { + "description": "The key is the destination identifier that is supported by the Connector.", + "type": "string" + } + }, + "type": "object" + }, "EgressControlConfig": { "description": "Egress control config for connector runtime. These configurations define the rules to identify which outbound domains/hosts needs to be whitelisted. It may be a static information for a particular connector version or it is derived from the configurations provided by the customer in Connection resource.", "id": "EgressControlConfig", @@ -2246,6 +2286,23 @@ }, "type": "object" }, + "NodeConfig": { + "description": "Configuration for the connection.", + "id": "NodeConfig", + "properties": { + "maxNodeCount": { + "description": "Maximum number of nodes in the runtime nodes.", + "format": "int32", + "type": "integer" + }, + "minNodeCount": { + "description": "Minimum number of nodes in the runtime nodes.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Oauth2ClientCredentials": { "description": "Parameters to support Oauth 2.0 Client Credentials Grant Authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.", "id": "Oauth2ClientCredentials", @@ -2442,7 +2499,7 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the Provider. Format: projects/{project}/locations/{location}/providers/{provider}", + "description": "Output only. Resource name of the Provider. Format: projects/{project}/locations/{location}/providers/{provider} Only global location is supported for Provider resource.", "readOnly": true, "type": "string" }, diff --git a/connectors/v1/connectors-gen.go b/connectors/v1/connectors-gen.go index 2e7ff7ae90b..ce66c86c4bd 100644 --- a/connectors/v1/connectors-gen.go +++ b/connectors/v1/connectors-gen.go @@ -152,7 +152,6 @@ type ProjectsService struct { func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} rs.Connections = NewProjectsLocationsConnectionsService(s) - rs.Global = NewProjectsLocationsGlobalService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.Providers = NewProjectsLocationsProvidersService(s) return rs @@ -163,8 +162,6 @@ type ProjectsLocationsService struct { Connections *ProjectsLocationsConnectionsService - Global *ProjectsLocationsGlobalService - Operations *ProjectsLocationsOperationsService Providers *ProjectsLocationsProvidersService @@ -203,66 +200,45 @@ type ProjectsLocationsConnectionsRuntimeEntitySchemasService struct { s *Service } -func NewProjectsLocationsGlobalService(s *Service) *ProjectsLocationsGlobalService { - rs := &ProjectsLocationsGlobalService{s: s} - rs.Providers = NewProjectsLocationsGlobalProvidersService(s) - return rs -} - -type ProjectsLocationsGlobalService struct { - s *Service - - Providers *ProjectsLocationsGlobalProvidersService -} - -func NewProjectsLocationsGlobalProvidersService(s *Service) *ProjectsLocationsGlobalProvidersService { - rs := &ProjectsLocationsGlobalProvidersService{s: s} - rs.Connectors = NewProjectsLocationsGlobalProvidersConnectorsService(s) +func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { + rs := &ProjectsLocationsOperationsService{s: s} return rs } -type ProjectsLocationsGlobalProvidersService struct { +type ProjectsLocationsOperationsService struct { s *Service - - Connectors *ProjectsLocationsGlobalProvidersConnectorsService } -func NewProjectsLocationsGlobalProvidersConnectorsService(s *Service) *ProjectsLocationsGlobalProvidersConnectorsService { - rs := &ProjectsLocationsGlobalProvidersConnectorsService{s: s} - rs.Versions = NewProjectsLocationsGlobalProvidersConnectorsVersionsService(s) +func NewProjectsLocationsProvidersService(s *Service) *ProjectsLocationsProvidersService { + rs := &ProjectsLocationsProvidersService{s: s} + rs.Connectors = NewProjectsLocationsProvidersConnectorsService(s) return rs } -type ProjectsLocationsGlobalProvidersConnectorsService struct { +type ProjectsLocationsProvidersService struct { s *Service - Versions *ProjectsLocationsGlobalProvidersConnectorsVersionsService + Connectors *ProjectsLocationsProvidersConnectorsService } -func NewProjectsLocationsGlobalProvidersConnectorsVersionsService(s *Service) *ProjectsLocationsGlobalProvidersConnectorsVersionsService { - rs := &ProjectsLocationsGlobalProvidersConnectorsVersionsService{s: s} +func NewProjectsLocationsProvidersConnectorsService(s *Service) *ProjectsLocationsProvidersConnectorsService { + rs := &ProjectsLocationsProvidersConnectorsService{s: s} + rs.Versions = NewProjectsLocationsProvidersConnectorsVersionsService(s) return rs } -type ProjectsLocationsGlobalProvidersConnectorsVersionsService struct { +type ProjectsLocationsProvidersConnectorsService struct { s *Service -} -func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { - rs := &ProjectsLocationsOperationsService{s: s} - return rs -} - -type ProjectsLocationsOperationsService struct { - s *Service + Versions *ProjectsLocationsProvidersConnectorsVersionsService } -func NewProjectsLocationsProvidersService(s *Service) *ProjectsLocationsProvidersService { - rs := &ProjectsLocationsProvidersService{s: s} +func NewProjectsLocationsProvidersConnectorsVersionsService(s *Service) *ProjectsLocationsProvidersConnectorsVersionsService { + rs := &ProjectsLocationsProvidersConnectorsVersionsService{s: s} return rs } -type ProjectsLocationsProvidersService struct { +type ProjectsLocationsProvidersConnectorsVersionsService struct { s *Service } @@ -520,16 +496,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -707,7 +687,8 @@ type Connection struct { // ConnectorVersion: Required. Connector version on which the connection // is created. The format is: - // projects/*/locations/global/providers/*/connectors/*/versions/* + // projects/*/locations/*/providers/*/connectors/*/versions/* Only + // global location is supported for ConnectorVersion resource. ConnectorVersion string `json:"connectorVersion,omitempty"` // CreateTime: Output only. Created time. @@ -716,6 +697,11 @@ type Connection struct { // Description: Optional. Description of the resource. Description string `json:"description,omitempty"` + // DestinationConfigs: Optional. Configuration of the Connector's + // destination. Only accepted for Connectors that accepts user defined + // destination(s). + DestinationConfigs []*DestinationConfig `json:"destinationConfigs,omitempty"` + // EnvoyImageLocation: Output only. GCR location where the envoy image // is stored. formatted like: gcr.io/{bucketName}/{imageName} EnvoyImageLocation string `json:"envoyImageLocation,omitempty"` @@ -737,6 +723,9 @@ type Connection struct { // projects/{project}/locations/{location}/connections/{connection} Name string `json:"name,omitempty"` + // NodeConfig: Optional. Configuration for the connection. + NodeConfig *NodeConfig `json:"nodeConfig,omitempty"` + // ServiceAccount: Optional. Service account needed for runtime plane to // access GCP resources. ServiceAccount string `json:"serviceAccount,omitempty"` @@ -899,7 +888,8 @@ type Connector struct { // Name: Output only. Resource name of the Connector. Format: // projects/{project}/locations/{location}/providers/{provider}/connector - // s/{connector} + // s/{connector} Only global location is supported for Connector + // resource. Name string `json:"name,omitempty"` // UpdateTime: Output only. Updated time. @@ -973,7 +963,8 @@ type ConnectorVersion struct { // Name: Output only. Resource name of the Version. Format: // projects/{project}/locations/{location}/providers/{provider}/connector - // s/{connector}/versions/{version} + // s/{connector}/versions/{version} Only global location is supported + // for Connector resource. Name string `json:"name,omitempty"` // ReleaseVersion: Output only. ReleaseVersion of the connector, for @@ -1023,6 +1014,73 @@ func (s *ConnectorVersion) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type Destination struct { + // Host: For publicly routable host. + Host string `json:"host,omitempty"` + + // Port: The port is the target port number that is accepted by the + // destination. + Port int64 `json:"port,omitempty"` + + // ServiceAttachment: PSC service attachments. Format: + // projects/*/regions/*/serviceAttachments/* + ServiceAttachment string `json:"serviceAttachment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Host") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Host") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Destination) MarshalJSON() ([]byte, error) { + type NoMethod Destination + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DestinationConfig: Define the Connectors target endpoint. +type DestinationConfig struct { + // Destinations: The destinations for the key. + Destinations []*Destination `json:"destinations,omitempty"` + + // Key: The key is the destination identifier that is supported by the + // Connector. + Key string `json:"key,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Destinations") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Destinations") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DestinationConfig) MarshalJSON() ([]byte, error) { + type NoMethod DestinationConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // EgressControlConfig: Egress control config for connector runtime. // These configurations define the rules to identify which outbound // domains/hosts needs to be whitelisted. It may be a static information @@ -1843,6 +1901,37 @@ func (s *LockConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NodeConfig: Configuration for the connection. +type NodeConfig struct { + // MaxNodeCount: Maximum number of nodes in the runtime nodes. + MaxNodeCount int64 `json:"maxNodeCount,omitempty"` + + // MinNodeCount: Minimum number of nodes in the runtime nodes. + MinNodeCount int64 `json:"minNodeCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxNodeCount") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxNodeCount") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodeConfig) MarshalJSON() ([]byte, error) { + type NoMethod NodeConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Oauth2ClientCredentials: Parameters to support Oauth 2.0 Client // Credentials Grant Authentication. See // https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details. @@ -2169,7 +2258,8 @@ type Provider struct { LaunchStage string `json:"launchStage,omitempty"` // Name: Output only. Resource name of the Provider. Format: - // projects/{project}/locations/{location}/providers/{provider} + // projects/{project}/locations/{location}/providers/{provider} Only + // global location is supported for Provider resource. Name string `json:"name,omitempty"` // UpdateTime: Output only. Updated time. @@ -5261,78 +5351,79 @@ func (c *ProjectsLocationsConnectionsRuntimeEntitySchemasListCall) Pages(ctx con } } -// method id "connectors.projects.locations.global.providers.get": +// method id "connectors.projects.locations.operations.cancel": -type ProjectsLocationsGlobalProvidersGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsOperationsCancelCall struct { + s *Service + name string + canceloperationrequest *CancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Get: Gets details of a single Provider. +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server makes a best effort to cancel the operation, but success +// is not guaranteed. If the server doesn't support this method, it +// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use +// Operations.GetOperation or other methods to check whether the +// cancellation succeeded or whether the operation completed despite +// cancellation. On successful cancellation, the operation is not +// deleted; instead, it becomes an operation with an Operation.error +// value with a google.rpc.Status.code of 1, corresponding to +// `Code.CANCELLED`. // -// - name: Resource name of the form: -// `projects/*/locations/*/providers/*`. -func (r *ProjectsLocationsGlobalProvidersService) Get(name string) *ProjectsLocationsGlobalProvidersGetCall { - c := &ProjectsLocationsGlobalProvidersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: The name of the operation resource to be cancelled. +func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall { + c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name + c.canceloperationrequest = canceloperationrequest 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 *ProjectsLocationsGlobalProvidersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersGetCall { +func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { 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 *ProjectsLocationsGlobalProvidersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersGetCall { - 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 *ProjectsLocationsGlobalProvidersGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersGetCall { +func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { 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 *ProjectsLocationsGlobalProvidersGetCall) Header() http.Header { +func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsCancelCall) 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.canceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } @@ -5343,14 +5434,14 @@ func (c *ProjectsLocationsGlobalProvidersGetCall) doRequest(alt string) (*http.R return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.get" call. -// Exactly one of *Provider or error will be non-nil. Any non-2xx status +// Do executes the "connectors.projects.locations.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either -// *Provider.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 *ProjectsLocationsGlobalProvidersGetCall) Do(opts ...googleapi.CallOption) (*Provider, error) { +// *Empty.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 *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -5369,7 +5460,7 @@ func (c *ProjectsLocationsGlobalProvidersGetCall) Do(opts ...googleapi.CallOptio if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Provider{ + ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -5381,25 +5472,28 @@ func (c *ProjectsLocationsGlobalProvidersGetCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Gets details of a single Provider.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}", - // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.get", + // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.operations.cancel", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*`", + // "description": "The name of the operation resource to be cancelled.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+name}", + // "path": "v1/{+name}:cancel", + // "request": { + // "$ref": "CancelOperationRequest" + // }, // "response": { - // "$ref": "Provider" + // "$ref": "Empty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -5408,108 +5502,84 @@ func (c *ProjectsLocationsGlobalProvidersGetCall) Do(opts ...googleapi.CallOptio } -// method id "connectors.projects.locations.global.providers.list": +// method id "connectors.projects.locations.operations.delete": -type ProjectsLocationsGlobalProvidersListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// List: Lists Providers in a given project and location. +// Delete: Deletes a long-running operation. This method indicates that +// the client is no longer interested in the operation result. It does +// not cancel the operation. If the server doesn't support this method, +// it returns `google.rpc.Code.UNIMPLEMENTED`. // -// - parent: Parent resource of the API, of the form: -// `projects/*/locations/*`. -func (r *ProjectsLocationsGlobalProvidersService) List(parent string) *ProjectsLocationsGlobalProvidersListCall { - c := &ProjectsLocationsGlobalProvidersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// PageSize sets the optional parameter "pageSize": Page size. -func (c *ProjectsLocationsGlobalProvidersListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalProvidersListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": Page token. -func (c *ProjectsLocationsGlobalProvidersListCall) PageToken(pageToken string) *ProjectsLocationsGlobalProvidersListCall { - c.urlParams_.Set("pageToken", pageToken) +// - name: The name of the operation resource to be deleted. +func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { + c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalProvidersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersListCall { +func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { 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 *ProjectsLocationsGlobalProvidersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersListCall { - 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 *ProjectsLocationsGlobalProvidersListCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersListCall { +func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { 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 *ProjectsLocationsGlobalProvidersListCall) Header() http.Header { +func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/providers") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.list" call. -// Exactly one of *ListProvidersResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListProvidersResponse.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 *ProjectsLocationsGlobalProvidersListCall) Do(opts ...googleapi.CallOption) (*ListProvidersResponse, error) { +// Do executes the "connectors.projects.locations.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.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 *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -5528,7 +5598,7 @@ func (c *ProjectsLocationsGlobalProvidersListCall) Do(opts ...googleapi.CallOpti if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListProvidersResponse{ + ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -5540,36 +5610,25 @@ func (c *ProjectsLocationsGlobalProvidersListCall) Do(opts ...googleapi.CallOpti } return ret, nil // { - // "description": "Lists Providers in a given project and location.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers", - // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.list", + // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "connectors.projects.locations.operations.delete", // "parameterOrder": [ - // "parent" + // "name" // ], // "parameters": { - // "pageSize": { - // "description": "Page size.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Page token.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*`", + // "name": { + // "description": "The name of the operation resource to be deleted.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+parent}/providers", + // "path": "v1/{+name}", // "response": { - // "$ref": "ListProvidersResponse" + // "$ref": "Empty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -5578,30 +5637,9 @@ func (c *ProjectsLocationsGlobalProvidersListCall) Do(opts ...googleapi.CallOpti } -// 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 *ProjectsLocationsGlobalProvidersListCall) Pages(ctx context.Context, f func(*ListProvidersResponse) 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 "connectors.projects.locations.global.providers.connectors.get": +// method id "connectors.projects.locations.operations.get": -type ProjectsLocationsGlobalProvidersConnectorsGetCall struct { +type ProjectsLocationsOperationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams @@ -5610,12 +5648,13 @@ type ProjectsLocationsGlobalProvidersConnectorsGetCall struct { header_ http.Header } -// Get: Gets details of a single Connector. +// Get: Gets the latest state of a long-running operation. Clients can +// use this method to poll the operation result at intervals as +// recommended by the API service. // -// - name: Resource name of the form: -// `projects/*/locations/*/providers/*/connectors/*`. -func (r *ProjectsLocationsGlobalProvidersConnectorsService) Get(name string) *ProjectsLocationsGlobalProvidersConnectorsGetCall { - c := &ProjectsLocationsGlobalProvidersConnectorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: The name of the operation resource. +func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { + c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } @@ -5623,7 +5662,7 @@ func (r *ProjectsLocationsGlobalProvidersConnectorsService) Get(name string) *Pr // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersConnectorsGetCall { +func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -5633,7 +5672,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) Fields(s ...googleap // 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 *ProjectsLocationsGlobalProvidersConnectorsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersConnectorsGetCall { +func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { c.ifNoneMatch_ = entityTag return c } @@ -5641,21 +5680,21 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) IfNoneMatch(entityTa // 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 *ProjectsLocationsGlobalProvidersConnectorsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersConnectorsGetCall { +func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { 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 *ProjectsLocationsGlobalProvidersConnectorsGetCall) Header() http.Header { +func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsGetCall) 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_ { @@ -5681,14 +5720,14 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) doRequest(alt string return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.connectors.get" call. -// Exactly one of *Connector or error will be non-nil. Any non-2xx +// Do executes the "connectors.projects.locations.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either -// *Connector.ServerResponse.Header or (if a response was returned at +// *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 *ProjectsLocationsGlobalProvidersConnectorsGetCall) Do(opts ...googleapi.CallOption) (*Connector, error) { +func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -5707,7 +5746,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) Do(opts ...googleapi if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Connector{ + ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -5719,25 +5758,25 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) Do(opts ...googleapi } return ret, nil // { - // "description": "Gets details of a single Connector.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}", + // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.connectors.get", + // "id": "connectors.projects.locations.operations.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*`", + // "description": "The name of the operation resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+name}", // "response": { - // "$ref": "Connector" + // "$ref": "Operation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -5746,35 +5785,52 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsGetCall) Do(opts ...googleapi } -// method id "connectors.projects.locations.global.providers.connectors.list": +// method id "connectors.projects.locations.operations.list": -type ProjectsLocationsGlobalProvidersConnectorsListCall struct { +type ProjectsLocationsOperationsListCall struct { s *Service - parent string + name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } -// List: Lists Connectors in a given project and location. +// List: Lists operations that match the specified filter in the +// request. If the server doesn't support this method, it returns +// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to +// override the binding to use different resource name schemes, such as +// `users/*/operations`. To override the binding, API services can add a +// binding such as "/v1/{name=users/*}/operations" to their service +// configuration. For backwards compatibility, the default name includes +// the operations collection id, however overriding users must ensure +// the name binding is the parent resource, without the operations +// collection id. // -// - parent: Parent resource of the connectors, of the form: -// `projects/*/locations/*/providers/*`. -func (r *ProjectsLocationsGlobalProvidersConnectorsService) List(parent string) *ProjectsLocationsGlobalProvidersConnectorsListCall { - c := &ProjectsLocationsGlobalProvidersConnectorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent +// - name: The name of the operation's parent resource. +func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { + c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } -// PageSize sets the optional parameter "pageSize": Page size. -func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalProvidersConnectorsListCall { +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } -// PageToken sets the optional parameter "pageToken": Page token. -func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalProvidersConnectorsListCall { +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } @@ -5782,7 +5838,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) PageToken(pageToken // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersConnectorsListCall { +func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -5792,7 +5848,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Fields(s ...googlea // 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 *ProjectsLocationsGlobalProvidersConnectorsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersConnectorsListCall { +func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { c.ifNoneMatch_ = entityTag return c } @@ -5800,21 +5856,21 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) IfNoneMatch(entityT // 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 *ProjectsLocationsGlobalProvidersConnectorsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersConnectorsListCall { +func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { 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 *ProjectsLocationsGlobalProvidersConnectorsListCall) Header() http.Header { +func (c *ProjectsLocationsOperationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsListCall) 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_ { @@ -5827,7 +5883,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) doRequest(alt strin var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/connectors") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { @@ -5835,19 +5891,19 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) doRequest(alt strin } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.connectors.list" call. -// Exactly one of *ListConnectorsResponse or error will be non-nil. Any +// Do executes the "connectors.projects.locations.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either -// *ListConnectorsResponse.ServerResponse.Header or (if a response was +// *ListOperationsResponse.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 *ProjectsLocationsGlobalProvidersConnectorsListCall) Do(opts ...googleapi.CallOption) (*ListConnectorsResponse, error) { +func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -5866,7 +5922,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Do(opts ...googleap if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListConnectorsResponse{ + ret := &ListOperationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -5878,36 +5934,41 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Do(opts ...googleap } return ret, nil // { - // "description": "Lists Connectors in a given project and location.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors", + // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.connectors.list", + // "id": "connectors.projects.locations.operations.list", // "parameterOrder": [ - // "parent" + // "name" // ], // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // }, // "pageSize": { - // "description": "Page size.", + // "description": "The standard list page size.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { - // "description": "Page token.", + // "description": "The standard list page token.", // "location": "query", // "type": "string" - // }, - // "parent": { - // "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*`", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", - // "required": true, - // "type": "string" // } // }, - // "path": "v1/{+parent}/connectors", + // "path": "v1/{+name}/operations", // "response": { - // "$ref": "ListConnectorsResponse" + // "$ref": "ListOperationsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -5919,7 +5980,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Do(opts ...googleap // 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 *ProjectsLocationsGlobalProvidersConnectorsListCall) Pages(ctx context.Context, f func(*ListConnectorsResponse) error) error { +func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { @@ -5937,9 +5998,9 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsListCall) Pages(ctx context.C } } -// method id "connectors.projects.locations.global.providers.connectors.versions.get": +// method id "connectors.projects.locations.providers.get": -type ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall struct { +type ProjectsLocationsProvidersGetCall struct { s *Service name string urlParams_ gensupport.URLParams @@ -5948,37 +6009,21 @@ type ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall struct { header_ http.Header } -// Get: Gets details of a single connector version. +// Get: Gets details of a provider. // // - name: Resource name of the form: -// `projects/*/locations/*/providers/*/connectors/*/versions/*`. -func (r *ProjectsLocationsGlobalProvidersConnectorsVersionsService) Get(name string) *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall { - c := &ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// `projects/*/locations/*/providers/*` Only global location is +// supported for Provider resource. +func (r *ProjectsLocationsProvidersService) Get(name string) *ProjectsLocationsProvidersGetCall { + c := &ProjectsLocationsProvidersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } -// View sets the optional parameter "view": Specifies which fields of -// the ConnectorVersion are returned in the response. Defaults to -// `CUSTOMER` view. -// -// Possible values: -// -// "CONNECTOR_VERSION_VIEW_UNSPECIFIED" - -// -// CONNECTOR_VERSION_VIEW_UNSPECIFIED. -// -// "CONNECTOR_VERSION_VIEW_BASIC" - Do not include role grant configs. -// "CONNECTOR_VERSION_VIEW_FULL" - Include role grant configs. -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) View(view string) *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall { - c.urlParams_.Set("view", view) - 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall { +func (c *ProjectsLocationsProvidersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -5988,7 +6033,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Fields(s ... // 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall { +func (c *ProjectsLocationsProvidersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersGetCall { c.ifNoneMatch_ = entityTag return c } @@ -5996,21 +6041,21 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) IfNoneMatch( // 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall { +func (c *ProjectsLocationsProvidersGetCall) Context(ctx context.Context) *ProjectsLocationsProvidersGetCall { 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Header() http.Header { +func (c *ProjectsLocationsProvidersGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersGetCall) 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_ { @@ -6036,14 +6081,14 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) doRequest(al return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.connectors.versions.get" call. -// Exactly one of *ConnectorVersion or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ConnectorVersion.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 *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Do(opts ...googleapi.CallOption) (*ConnectorVersion, error) { +// Do executes the "connectors.projects.locations.providers.get" call. +// Exactly one of *Provider or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Provider.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 *ProjectsLocationsProvidersGetCall) Do(opts ...googleapi.CallOption) (*Provider, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6062,7 +6107,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Do(opts ...g if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ConnectorVersion{ + ret := &Provider{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6074,40 +6119,25 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Do(opts ...g } return ret, nil // { - // "description": "Gets details of a single connector version.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}", + // "description": "Gets details of a provider.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}", // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.connectors.versions.get", + // "id": "connectors.projects.locations.providers.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*`", + // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*` Only global location is supported for Provider resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+/versions/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", // "required": true, // "type": "string" - // }, - // "view": { - // "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", - // "enum": [ - // "CONNECTOR_VERSION_VIEW_UNSPECIFIED", - // "CONNECTOR_VERSION_VIEW_BASIC", - // "CONNECTOR_VERSION_VIEW_FULL" - // ], - // "enumDescriptions": [ - // "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", - // "Do not include role grant configs.", - // "Include role grant configs." - // ], - // "location": "query", - // "type": "string" // } // }, // "path": "v1/{+name}", // "response": { - // "$ref": "ConnectorVersion" + // "$ref": "Provider" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6116,60 +6146,219 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsGetCall) Do(opts ...g } -// method id "connectors.projects.locations.global.providers.connectors.versions.list": +// method id "connectors.projects.locations.providers.getIamPolicy": -type ProjectsLocationsGlobalProvidersConnectorsVersionsListCall struct { +type ProjectsLocationsProvidersGetIamPolicyCall struct { s *Service - parent string + resource string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } -// List: Lists Connector Versions in a given project and location. +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. // -// - parent: Parent resource of the connectors, of the form: -// `projects/*/locations/*/providers/*/connectors/*`. -func (r *ProjectsLocationsGlobalProvidersConnectorsVersionsService) List(parent string) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { - c := &ProjectsLocationsGlobalProvidersConnectorsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent +// - resource: REQUIRED: The resource for which the policy is being +// requested. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsProvidersService) GetIamPolicy(resource string) *ProjectsLocationsProvidersGetIamPolicyCall { + c := &ProjectsLocationsProvidersGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource return c } -// PageSize sets the optional parameter "pageSize": Page size. -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) +// OptionsRequestedPolicyVersion sets the optional parameter +// "options.requestedPolicyVersion": The maximum policy version that +// will be used to format the policy. Valid values are 0, 1, and 3. +// Requests specifying an invalid value will be rejected. Requests for +// policies with any conditional role bindings must specify version 3. +// Policies with no conditional role bindings may specify any valid +// value or leave the field unset. The policy in the response might use +// the policy version that you specified, or it might use a lower policy +// version. For example, if you specify version 3, but the policy has no +// conditional role bindings, the response uses version 1. To learn +// which resources support conditions in their IAM policies, see the IAM +// documentation +// (https://cloud.google.com/iam/help/conditions/resource-policies). +func (c *ProjectsLocationsProvidersGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsProvidersGetIamPolicyCall { + c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) return c } -// PageToken sets the optional parameter "pageToken": Page token. -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { - c.urlParams_.Set("pageToken", pageToken) +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsProvidersGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// View sets the optional parameter "view": Specifies which fields of -// the ConnectorVersion are returned in the response. Defaults to -// `CUSTOMER` view. -// -// Possible values: -// -// "CONNECTOR_VERSION_VIEW_UNSPECIFIED" - -// -// CONNECTOR_VERSION_VIEW_UNSPECIFIED. -// -// "CONNECTOR_VERSION_VIEW_BASIC" - Do not include role grant configs. -// "CONNECTOR_VERSION_VIEW_FULL" - Include role grant configs. -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) View(view string) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { - c.urlParams_.Set("view", view) +// 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 *ProjectsLocationsProvidersGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersGetIamPolicyCall { + 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 *ProjectsLocationsProvidersGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsProvidersGetIamPolicyCall { + 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 *ProjectsLocationsProvidersGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsProvidersGetIamPolicyCall) 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/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.providers.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.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 *ProjectsLocationsProvidersGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.providers.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:getIamPolicy", + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.providers.list": + +type ProjectsLocationsProvidersListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Providers in a given project and location. +// +// - parent: Parent resource of the API, of the form: +// `projects/*/locations/*` Only global location is supported for +// Provider resource. +func (r *ProjectsLocationsProvidersService) List(parent string) *ProjectsLocationsProvidersListCall { + c := &ProjectsLocationsProvidersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Page size. +func (c *ProjectsLocationsProvidersListCall) PageSize(pageSize int64) *ProjectsLocationsProvidersListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Page token. +func (c *ProjectsLocationsProvidersListCall) PageToken(pageToken string) *ProjectsLocationsProvidersListCall { + 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { +func (c *ProjectsLocationsProvidersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -6179,7 +6368,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Fields(s .. // 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { +func (c *ProjectsLocationsProvidersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersListCall { c.ifNoneMatch_ = entityTag return c } @@ -6187,21 +6376,21 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) IfNoneMatch // 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall { +func (c *ProjectsLocationsProvidersListCall) Context(ctx context.Context) *ProjectsLocationsProvidersListCall { 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Header() http.Header { +func (c *ProjectsLocationsProvidersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersListCall) 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_ { @@ -6214,7 +6403,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) doRequest(a var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/versions") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/providers") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { @@ -6227,14 +6416,14 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) doRequest(a return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.global.providers.connectors.versions.list" call. -// Exactly one of *ListConnectorVersionsResponse or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *ListConnectorVersionsResponse.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use +// Do executes the "connectors.projects.locations.providers.list" call. +// Exactly one of *ListProvidersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListProvidersResponse.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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Do(opts ...googleapi.CallOption) (*ListConnectorVersionsResponse, error) { +func (c *ProjectsLocationsProvidersListCall) Do(opts ...googleapi.CallOption) (*ListProvidersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6253,7 +6442,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Do(opts ... if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListConnectorVersionsResponse{ + ret := &ListProvidersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6265,10 +6454,10 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Do(opts ... } return ret, nil // { - // "description": "Lists Connector Versions in a given project and location.", - // "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions", + // "description": "Lists Providers in a given project and location.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers", // "httpMethod": "GET", - // "id": "connectors.projects.locations.global.providers.connectors.versions.list", + // "id": "connectors.projects.locations.providers.list", // "parameterOrder": [ // "parent" // ], @@ -6285,31 +6474,16 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Do(opts ... // "type": "string" // }, // "parent": { - // "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*/connectors/*`", + // "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*` Only global location is supported for Provider resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+$", // "required": true, // "type": "string" - // }, - // "view": { - // "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", - // "enum": [ - // "CONNECTOR_VERSION_VIEW_UNSPECIFIED", - // "CONNECTOR_VERSION_VIEW_BASIC", - // "CONNECTOR_VERSION_VIEW_FULL" - // ], - // "enumDescriptions": [ - // "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", - // "Do not include role grant configs.", - // "Include role grant configs." - // ], - // "location": "query", - // "type": "string" // } // }, - // "path": "v1/{+parent}/versions", + // "path": "v1/{+parent}/providers", // "response": { - // "$ref": "ListConnectorVersionsResponse" + // "$ref": "ListProvidersResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6321,7 +6495,7 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Do(opts ... // 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 *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Pages(ctx context.Context, f func(*ListConnectorVersionsResponse) error) error { +func (c *ProjectsLocationsProvidersListCall) Pages(ctx context.Context, f func(*ListProvidersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { @@ -6339,40 +6513,36 @@ func (c *ProjectsLocationsGlobalProvidersConnectorsVersionsListCall) Pages(ctx c } } -// method id "connectors.projects.locations.operations.cancel": +// method id "connectors.projects.locations.providers.setIamPolicy": -type ProjectsLocationsOperationsCancelCall struct { - s *Service - name string - canceloperationrequest *CancelOperationRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsProvidersSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Cancel: Starts asynchronous cancellation on a long-running operation. -// The server makes a best effort to cancel the operation, but success -// is not guaranteed. If the server doesn't support this method, it -// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use -// Operations.GetOperation or other methods to check whether the -// cancellation succeeded or whether the operation completed despite -// cancellation. On successful cancellation, the operation is not -// deleted; instead, it becomes an operation with an Operation.error -// value with a google.rpc.Status.code of 1, corresponding to -// `Code.CANCELLED`. +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. Can return `NOT_FOUND`, +// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. // -// - name: The name of the operation resource to be cancelled. -func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall { - c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.canceloperationrequest = canceloperationrequest +// - resource: REQUIRED: The resource for which the policy is being +// specified. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsProvidersService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsProvidersSetIamPolicyCall { + c := &ProjectsLocationsProvidersSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest 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 *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { +func (c *ProjectsLocationsProvidersSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -6380,21 +6550,21 @@ func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *Pr // 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 *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { +func (c *ProjectsLocationsProvidersSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsProvidersSetIamPolicyCall { 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 *ProjectsLocationsOperationsCancelCall) Header() http.Header { +func (c *ProjectsLocationsProvidersSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersSetIamPolicyCall) 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_ { @@ -6402,14 +6572,14 @@ func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Res } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -6417,19 +6587,19 @@ func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Res } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.operations.cancel" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// Do executes the "connectors.projects.locations.providers.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) +// *Policy.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 *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +func (c *ProjectsLocationsProvidersSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6448,7 +6618,7 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6460,28 +6630,28 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy", // "httpMethod": "POST", - // "id": "connectors.projects.locations.operations.cancel", + // "id": "connectors.projects.locations.providers.setIamPolicy", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "The name of the operation resource to be cancelled.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+name}:cancel", + // "path": "v1/{+resource}:setIamPolicy", // "request": { - // "$ref": "CancelOperationRequest" + // "$ref": "SetIamPolicyRequest" // }, // "response": { - // "$ref": "Empty" + // "$ref": "Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6490,32 +6660,39 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) } -// method id "connectors.projects.locations.operations.delete": +// method id "connectors.projects.locations.providers.testIamPermissions": -type ProjectsLocationsOperationsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsProvidersTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Delete: Deletes a long-running operation. This method indicates that -// the client is no longer interested in the operation result. It does -// not cancel the operation. If the server doesn't support this method, -// it returns `google.rpc.Code.UNIMPLEMENTED`. +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. If the resource does not exist, this will return +// an empty set of permissions, not a `NOT_FOUND` error. Note: This +// operation is designed to be used for building permission-aware UIs +// and command-line tools, not for authorization checking. This +// operation may "fail open" without warning. // -// - name: The name of the operation resource to be deleted. -func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { - c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - resource: REQUIRED: The resource for which the policy detail is +// being requested. See Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsProvidersService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsProvidersTestIamPermissionsCall { + c := &ProjectsLocationsProvidersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest 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 *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { +func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -6523,21 +6700,21 @@ func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *Pr // 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 *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { +func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsProvidersTestIamPermissionsCall { 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 *ProjectsLocationsOperationsDeleteCall) Header() http.Header { +func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersTestIamPermissionsCall) 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_ { @@ -6545,29 +6722,34 @@ func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Res } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.operations.delete" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Empty.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 *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +// Do executes the "connectors.projects.locations.providers.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.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 *ProjectsLocationsProvidersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6586,7 +6768,7 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &TestIamPermissionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6598,25 +6780,28 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - // "httpMethod": "DELETE", - // "id": "connectors.projects.locations.operations.delete", + // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.providers.testIamPermissions", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "The name of the operation resource to be deleted.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+name}", + // "path": "v1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, // "response": { - // "$ref": "Empty" + // "$ref": "TestIamPermissionsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6625,9 +6810,9 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) } -// method id "connectors.projects.locations.operations.get": +// method id "connectors.projects.locations.providers.connectors.get": -type ProjectsLocationsOperationsGetCall struct { +type ProjectsLocationsProvidersConnectorsGetCall struct { s *Service name string urlParams_ gensupport.URLParams @@ -6636,13 +6821,13 @@ type ProjectsLocationsOperationsGetCall struct { header_ http.Header } -// Get: Gets the latest state of a long-running operation. Clients can -// use this method to poll the operation result at intervals as -// recommended by the API service. +// Get: Gets details of a single Connector. // -// - name: The name of the operation resource. -func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { - c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: Resource name of the form: +// `projects/*/locations/*/providers/*/connectors/*` Only global +// location is supported for Connector resource. +func (r *ProjectsLocationsProvidersConnectorsService) Get(name string) *ProjectsLocationsProvidersConnectorsGetCall { + c := &ProjectsLocationsProvidersConnectorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } @@ -6650,7 +6835,7 @@ func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocations // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { +func (c *ProjectsLocationsProvidersConnectorsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersConnectorsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -6660,7 +6845,7 @@ func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *Proje // 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 *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { +func (c *ProjectsLocationsProvidersConnectorsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersConnectorsGetCall { c.ifNoneMatch_ = entityTag return c } @@ -6668,21 +6853,21 @@ func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *Proj // 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 *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { +func (c *ProjectsLocationsProvidersConnectorsGetCall) Context(ctx context.Context) *ProjectsLocationsProvidersConnectorsGetCall { 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 *ProjectsLocationsOperationsGetCall) Header() http.Header { +func (c *ProjectsLocationsProvidersConnectorsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersConnectorsGetCall) 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_ { @@ -6708,14 +6893,14 @@ func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Respon return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.operations.get" call. -// Exactly one of *Operation or error will be non-nil. Any non-2xx +// Do executes the "connectors.projects.locations.providers.connectors.get" call. +// Exactly one of *Connector 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 +// *Connector.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 *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { +func (c *ProjectsLocationsProvidersConnectorsGetCall) Do(opts ...googleapi.CallOption) (*Connector, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6734,7 +6919,7 @@ func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (* if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Operation{ + ret := &Connector{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6746,25 +6931,25 @@ func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (* } return ret, nil // { - // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + // "description": "Gets details of a single Connector.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}", // "httpMethod": "GET", - // "id": "connectors.projects.locations.operations.get", + // "id": "connectors.projects.locations.providers.connectors.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "The name of the operation resource.", + // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for Connector resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v1/{+name}", // "response": { - // "$ref": "Operation" + // "$ref": "Connector" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6773,52 +6958,36 @@ func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (* } -// method id "connectors.projects.locations.operations.list": +// method id "connectors.projects.locations.providers.connectors.list": -type ProjectsLocationsOperationsListCall struct { +type ProjectsLocationsProvidersConnectorsListCall struct { s *Service - name string + parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } -// List: Lists operations that match the specified filter in the -// request. If the server doesn't support this method, it returns -// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to -// override the binding to use different resource name schemes, such as -// `users/*/operations`. To override the binding, API services can add a -// binding such as "/v1/{name=users/*}/operations" to their service -// configuration. For backwards compatibility, the default name includes -// the operations collection id, however overriding users must ensure -// the name binding is the parent resource, without the operations -// collection id. +// List: Lists Connectors in a given project and location. // -// - name: The name of the operation's parent resource. -func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { - c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Filter sets the optional parameter "filter": The standard list -// filter. -func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { - c.urlParams_.Set("filter", filter) +// - parent: Parent resource of the connectors, of the form: +// `projects/*/locations/*/providers/*` Only global location is +// supported for Connector resource. +func (r *ProjectsLocationsProvidersConnectorsService) List(parent string) *ProjectsLocationsProvidersConnectorsListCall { + c := &ProjectsLocationsProvidersConnectorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent return c } -// PageSize sets the optional parameter "pageSize": The standard list -// page size. -func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { +// PageSize sets the optional parameter "pageSize": Page size. +func (c *ProjectsLocationsProvidersConnectorsListCall) PageSize(pageSize int64) *ProjectsLocationsProvidersConnectorsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } -// PageToken sets the optional parameter "pageToken": The standard list -// page token. -func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { +// PageToken sets the optional parameter "pageToken": Page token. +func (c *ProjectsLocationsProvidersConnectorsListCall) PageToken(pageToken string) *ProjectsLocationsProvidersConnectorsListCall { c.urlParams_.Set("pageToken", pageToken) return c } @@ -6826,7 +6995,7 @@ func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *Proje // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { +func (c *ProjectsLocationsProvidersConnectorsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersConnectorsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -6836,7 +7005,7 @@ func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *Proj // 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 *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { +func (c *ProjectsLocationsProvidersConnectorsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersConnectorsListCall { c.ifNoneMatch_ = entityTag return c } @@ -6844,21 +7013,21 @@ func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *Pro // 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 *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { +func (c *ProjectsLocationsProvidersConnectorsListCall) Context(ctx context.Context) *ProjectsLocationsProvidersConnectorsListCall { 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 *ProjectsLocationsOperationsListCall) Header() http.Header { +func (c *ProjectsLocationsProvidersConnectorsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersConnectorsListCall) 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_ { @@ -6871,7 +7040,7 @@ func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Respo var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/connectors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { @@ -6879,19 +7048,19 @@ func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Respo } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.operations.list" call. -// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// Do executes the "connectors.projects.locations.providers.connectors.list" call. +// Exactly one of *ListConnectorsResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either -// *ListOperationsResponse.ServerResponse.Header or (if a response was +// *ListConnectorsResponse.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 *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { +func (c *ProjectsLocationsProvidersConnectorsListCall) Do(opts ...googleapi.CallOption) (*ListConnectorsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -6910,7 +7079,7 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListOperationsResponse{ + ret := &ListConnectorsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -6922,41 +7091,36 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + // "description": "Lists Connectors in a given project and location.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors", // "httpMethod": "GET", - // "id": "connectors.projects.locations.operations.list", + // "id": "connectors.projects.locations.providers.connectors.list", // "parameterOrder": [ - // "name" + // "parent" // ], // "parameters": { - // "filter": { - // "description": "The standard list filter.", - // "location": "query", - // "type": "string" - // }, - // "name": { - // "description": "The name of the operation's parent resource.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+$", - // "required": true, - // "type": "string" - // }, // "pageSize": { - // "description": "The standard list page size.", + // "description": "Page size.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { - // "description": "The standard list page token.", + // "description": "Page token.", // "location": "query", // "type": "string" + // }, + // "parent": { + // "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*` Only global location is supported for Connector resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + // "required": true, + // "type": "string" // } // }, - // "path": "v1/{+name}/operations", + // "path": "v1/{+parent}/connectors", // "response": { - // "$ref": "ListOperationsResponse" + // "$ref": "ListConnectorsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -6968,7 +7132,7 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( // 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 *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { +func (c *ProjectsLocationsProvidersConnectorsListCall) Pages(ctx context.Context, f func(*ListConnectorsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { @@ -6986,53 +7150,49 @@ func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func( } } -// method id "connectors.projects.locations.providers.getIamPolicy": +// method id "connectors.projects.locations.providers.connectors.versions.get": -type ProjectsLocationsProvidersGetIamPolicyCall struct { +type ProjectsLocationsProvidersConnectorsVersionsGetCall struct { s *Service - resource string + name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } -// GetIamPolicy: Gets the access control policy for a resource. Returns -// an empty policy if the resource exists and does not have a policy -// set. +// Get: Gets details of a single connector version. // -// - resource: REQUIRED: The resource for which the policy is being -// requested. See Resource names -// (https://cloud.google.com/apis/design/resource_names) for the -// appropriate value for this field. -func (r *ProjectsLocationsProvidersService) GetIamPolicy(resource string) *ProjectsLocationsProvidersGetIamPolicyCall { - c := &ProjectsLocationsProvidersGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource +// - name: Resource name of the form: +// `projects/*/locations/*/providers/*/connectors/*/versions/*` Only +// global location is supported for ConnectorVersion resource. +func (r *ProjectsLocationsProvidersConnectorsVersionsService) Get(name string) *ProjectsLocationsProvidersConnectorsVersionsGetCall { + c := &ProjectsLocationsProvidersConnectorsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } -// OptionsRequestedPolicyVersion sets the optional parameter -// "options.requestedPolicyVersion": The maximum policy version that -// will be used to format the policy. Valid values are 0, 1, and 3. -// Requests specifying an invalid value will be rejected. Requests for -// policies with any conditional role bindings must specify version 3. -// Policies with no conditional role bindings may specify any valid -// value or leave the field unset. The policy in the response might use -// the policy version that you specified, or it might use a lower policy -// version. For example, if you specify version 3, but the policy has no -// conditional role bindings, the response uses version 1. To learn -// which resources support conditions in their IAM policies, see the IAM -// documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). -func (c *ProjectsLocationsProvidersGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsProvidersGetIamPolicyCall { - c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) +// View sets the optional parameter "view": Specifies which fields of +// the ConnectorVersion are returned in the response. Defaults to +// `CUSTOMER` view. +// +// Possible values: +// +// "CONNECTOR_VERSION_VIEW_UNSPECIFIED" - +// +// CONNECTOR_VERSION_VIEW_UNSPECIFIED. +// +// "CONNECTOR_VERSION_VIEW_BASIC" - Do not include role grant configs. +// "CONNECTOR_VERSION_VIEW_FULL" - Include role grant configs. +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) View(view string) *ProjectsLocationsProvidersConnectorsVersionsGetCall { + c.urlParams_.Set("view", view) 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 *ProjectsLocationsProvidersGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersGetIamPolicyCall { +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersConnectorsVersionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -7042,7 +7202,7 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) Fields(s ...googleapi.Field // 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 *ProjectsLocationsProvidersGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersGetIamPolicyCall { +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersConnectorsVersionsGetCall { c.ifNoneMatch_ = entityTag return c } @@ -7050,21 +7210,21 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) IfNoneMatch(entityTag strin // 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 *ProjectsLocationsProvidersGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsProvidersGetIamPolicyCall { +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsProvidersConnectorsVersionsGetCall { 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 *ProjectsLocationsProvidersGetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsProvidersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersConnectorsVersionsGetCall) 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_ { @@ -7077,7 +7237,7 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) doRequest(alt string) (*htt var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { @@ -7085,19 +7245,19 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) doRequest(alt string) (*htt } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.providers.getIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.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 *ProjectsLocationsProvidersGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +// Do executes the "connectors.projects.locations.providers.connectors.versions.get" call. +// Exactly one of *ConnectorVersion or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ConnectorVersion.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 *ProjectsLocationsProvidersConnectorsVersionsGetCall) Do(opts ...googleapi.CallOption) (*ConnectorVersion, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -7116,7 +7276,7 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) Do(opts ...googleapi.CallOp if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Policy{ + ret := &ConnectorVersion{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -7128,31 +7288,40 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) Do(opts ...googleapi.CallOp } return ret, nil // { - // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:getIamPolicy", + // "description": "Gets details of a single connector version.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}", // "httpMethod": "GET", - // "id": "connectors.projects.locations.providers.getIamPolicy", + // "id": "connectors.projects.locations.providers.connectors.versions.get", // "parameterOrder": [ - // "resource" + // "name" // ], // "parameters": { - // "options.requestedPolicyVersion": { - // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "name": { + // "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*` Only global location is supported for ConnectorVersion resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+/versions/[^/]+$", // "required": true, // "type": "string" + // }, + // "view": { + // "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", + // "enum": [ + // "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + // "CONNECTOR_VERSION_VIEW_BASIC", + // "CONNECTOR_VERSION_VIEW_FULL" + // ], + // "enumDescriptions": [ + // "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + // "Do not include role grant configs.", + // "Include role grant configs." + // ], + // "location": "query", + // "type": "string" // } // }, - // "path": "v1/{+resource}:getIamPolicy", + // "path": "v1/{+name}", // "response": { - // "$ref": "Policy" + // "$ref": "ConnectorVersion" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -7161,243 +7330,126 @@ func (c *ProjectsLocationsProvidersGetIamPolicyCall) Do(opts ...googleapi.CallOp } -// method id "connectors.projects.locations.providers.setIamPolicy": +// method id "connectors.projects.locations.providers.connectors.versions.list": -type ProjectsLocationsProvidersSetIamPolicyCall struct { - s *Service - resource string - setiampolicyrequest *SetIamPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsProvidersConnectorsVersionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// SetIamPolicy: Sets the access control policy on the specified -// resource. Replaces any existing policy. Can return `NOT_FOUND`, -// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. +// List: Lists Connector Versions in a given project and location. // -// - resource: REQUIRED: The resource for which the policy is being -// specified. See Resource names -// (https://cloud.google.com/apis/design/resource_names) for the -// appropriate value for this field. -func (r *ProjectsLocationsProvidersService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsProvidersSetIamPolicyCall { - c := &ProjectsLocationsProvidersSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.setiampolicyrequest = setiampolicyrequest +// - parent: Parent resource of the connectors, of the form: +// `projects/*/locations/*/providers/*/connectors/*` Only global +// location is supported for ConnectorVersion resource. +func (r *ProjectsLocationsProvidersConnectorsVersionsService) List(parent string) *ProjectsLocationsProvidersConnectorsVersionsListCall { + c := &ProjectsLocationsProvidersConnectorsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent 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 *ProjectsLocationsProvidersSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersSetIamPolicyCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) +// PageSize sets the optional parameter "pageSize": Page size. +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsProvidersConnectorsVersionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 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 *ProjectsLocationsProvidersSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsProvidersSetIamPolicyCall { - c.ctx_ = ctx +// PageToken sets the optional parameter "pageToken": Page token. +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) PageToken(pageToken string) *ProjectsLocationsProvidersConnectorsVersionsListCall { + c.urlParams_.Set("pageToken", pageToken) return c } -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsProvidersSetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsProvidersSetIamPolicyCall) 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.setiampolicyrequest) - 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/{+resource}:setIamPolicy") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "connectors.projects.locations.providers.setIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.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 *ProjectsLocationsProvidersSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, 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 := &Policy{ - 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": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy", - // "httpMethod": "POST", - // "id": "connectors.projects.locations.providers.setIamPolicy", - // "parameterOrder": [ - // "resource" - // ], - // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+resource}:setIamPolicy", - // "request": { - // "$ref": "SetIamPolicyRequest" - // }, - // "response": { - // "$ref": "Policy" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "connectors.projects.locations.providers.testIamPermissions": - -type ProjectsLocationsProvidersTestIamPermissionsCall struct { - s *Service - resource string - testiampermissionsrequest *TestIamPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. If the resource does not exist, this will return -// an empty set of permissions, not a `NOT_FOUND` error. Note: This -// operation is designed to be used for building permission-aware UIs -// and command-line tools, not for authorization checking. This -// operation may "fail open" without warning. +// View sets the optional parameter "view": Specifies which fields of +// the ConnectorVersion are returned in the response. Defaults to +// `BASIC` view. // -// - resource: REQUIRED: The resource for which the policy detail is -// being requested. See Resource names -// (https://cloud.google.com/apis/design/resource_names) for the -// appropriate value for this field. -func (r *ProjectsLocationsProvidersService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsProvidersTestIamPermissionsCall { - c := &ProjectsLocationsProvidersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.testiampermissionsrequest = testiampermissionsrequest +// Possible values: +// +// "CONNECTOR_VERSION_VIEW_UNSPECIFIED" - +// +// CONNECTOR_VERSION_VIEW_UNSPECIFIED. +// +// "CONNECTOR_VERSION_VIEW_BASIC" - Do not include role grant configs. +// "CONNECTOR_VERSION_VIEW_FULL" - Include role grant configs. +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) View(view string) *ProjectsLocationsProvidersConnectorsVersionsListCall { + c.urlParams_.Set("view", view) 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 *ProjectsLocationsProvidersTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersTestIamPermissionsCall { +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsProvidersConnectorsVersionsListCall { 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 *ProjectsLocationsProvidersConnectorsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsProvidersConnectorsVersionsListCall { + 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 *ProjectsLocationsProvidersTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsProvidersTestIamPermissionsCall { +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) Context(ctx context.Context) *ProjectsLocationsProvidersConnectorsVersionsListCall { 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 *ProjectsLocationsProvidersTestIamPermissionsCall) Header() http.Header { +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsProvidersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) 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.testiampermissionsrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/versions") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "connectors.projects.locations.providers.testIamPermissions" call. -// Exactly one of *TestIamPermissionsResponse or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *TestIamPermissionsResponse.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use +// Do executes the "connectors.projects.locations.providers.connectors.versions.list" call. +// Exactly one of *ListConnectorVersionsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListConnectorVersionsResponse.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 *ProjectsLocationsProvidersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { +func (c *ProjectsLocationsProvidersConnectorsVersionsListCall) Do(opts ...googleapi.CallOption) (*ListConnectorVersionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -7416,7 +7468,7 @@ func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Do(opts ...googleapi. if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &TestIamPermissionsResponse{ + ret := &ListConnectorVersionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -7428,28 +7480,51 @@ func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Do(opts ...googleapi. } return ret, nil // { - // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:testIamPermissions", - // "httpMethod": "POST", - // "id": "connectors.projects.locations.providers.testIamPermissions", + // "description": "Lists Connector Versions in a given project and location.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}/connectors/{connectorsId}/versions", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.providers.connectors.versions.list", // "parameterOrder": [ - // "resource" + // "parent" // ], // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "pageSize": { + // "description": "Page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Page token.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Parent resource of the connectors, of the form: `projects/*/locations/*/providers/*/connectors/*` Only global location is supported for ConnectorVersion resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+/connectors/[^/]+$", // "required": true, // "type": "string" + // }, + // "view": { + // "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `BASIC` view.", + // "enum": [ + // "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + // "CONNECTOR_VERSION_VIEW_BASIC", + // "CONNECTOR_VERSION_VIEW_FULL" + // ], + // "enumDescriptions": [ + // "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + // "Do not include role grant configs.", + // "Include role grant configs." + // ], + // "location": "query", + // "type": "string" // } // }, - // "path": "v1/{+resource}:testIamPermissions", - // "request": { - // "$ref": "TestIamPermissionsRequest" - // }, + // "path": "v1/{+parent}/versions", // "response": { - // "$ref": "TestIamPermissionsResponse" + // "$ref": "ListConnectorVersionsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -7457,3 +7532,24 @@ func (c *ProjectsLocationsProvidersTestIamPermissionsCall) Do(opts ...googleapi. // } } + +// 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 *ProjectsLocationsProvidersConnectorsVersionsListCall) Pages(ctx context.Context, f func(*ListConnectorVersionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} diff --git a/connectors/v2/connectors-api.json b/connectors/v2/connectors-api.json new file mode 100644 index 00000000000..b1b594783df --- /dev/null +++ b/connectors/v2/connectors-api.json @@ -0,0 +1,1098 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://connectors.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Connectors", + "description": "Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "connectors:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://connectors.mtls.googleapis.com/", + "name": "connectors", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "connections": { + "methods": { + "executeSqlQuery": { + "description": "Executes a SQL statement specified in the body of the request. An example of this SQL statement in the case of Salesforce connector would be 'select * from Account a, Order o where a.Id = o.AccountId'.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:executeSqlQuery", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.executeSqlQuery", + "parameterOrder": [ + "connection" + ], + "parameters": { + "connection": { + "description": "Required. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+connection}:executeSqlQuery", + "request": { + "$ref": "ExecuteSqlQueryRequest" + }, + "response": { + "$ref": "ExecuteSqlQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "actions": { + "methods": { + "execute": { + "description": "Executes an action with the name specified in the request. The input parameters for executing the action are passed through the body of the ExecuteAction request.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/actions/{actionsId}:execute", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.actions.execute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Action. Format: projects/{project}/locations/{location}/connections/{connection}/actions/{action}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/actions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:execute", + "request": { + "$ref": "ExecuteActionRequest" + }, + "response": { + "$ref": "ExecuteActionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Gets the schema of all the actions supported by the connector.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/actions", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.actions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Number of Actions to return. Defaults to 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token, return from a previous ListActions call, that can be used retrieve the next page of content. If unspecified, the request returns the first page of actions.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource name of the Action. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/actions", + "response": { + "$ref": "ListActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "entityTypes": { + "methods": { + "list": { + "description": "Lists metadata related to all entity types present in the external system.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.entityTypes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Number of entity types to return. Defaults to 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token, return from a previous ListEntityTypes call, that can be used retrieve the next page of content. If unspecified, the request returns the first page of entity types.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/entityTypes", + "response": { + "$ref": "ListEntityTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "entities": { + "methods": { + "create": { + "description": "Creates a new entity row of the specified entity type in the external system. The field values for creating the row are contained in the body of the request. The response message contains a `Entity` message object returned as a response by the external system.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.entityTypes.entities.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/entities", + "request": { + "$ref": "Entity" + }, + "response": { + "$ref": "Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing entity row matching the entity type and entity id specified in the request.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + "httpMethod": "DELETE", + "id": "connectors.projects.locations.connections.entityTypes.entities.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deleteEntitiesWithConditions": { + "description": "Deletes entities based on conditions specified in the request and not on entity id.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities:deleteEntitiesWithConditions", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.entityTypes.entities.deleteEntitiesWithConditions", + "parameterOrder": [ + "entityType" + ], + "parameters": { + "conditions": { + "description": "Required. Conditions to be used when deleting entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported. Note: If this conditions field is left empty, an exception is thrown. We don't want to consider 'empty conditions' to be a match-all case. Connector developers can determine and document what a match-all case constraint would be.", + "location": "query", + "type": "string" + }, + "entityType": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+entityType}/entities:deleteEntitiesWithConditions", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single entity row matching the entity type and entity id specified in the request.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.entityTypes.entities.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists entity rows of a particular entity type contained in the request. Note: 1. Currently, only max of one 'sort_by' column is supported. 2. If no 'sort_by' column is provided, the primary key of the table is used. If zero or more than one primary key is available, we default to the unpaginated list entities logic which only returns the first page. 3. The values of the 'sort_by' columns must uniquely identify an entity row, otherwise undefined behaviors may be observed during pagination. 4. Since transactions are not supported, any updates, inserts or deletes during pagination can lead to stale data being returned or other unexpected behaviors.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.entityTypes.entities.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "conditions": { + "description": "Conditions to be used when listing entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of entity rows to return. Defaults page size = 25. Max page size = 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token value if available from a previous request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + "required": true, + "type": "string" + }, + "sortBy": { + "description": "List of 'sort_by' columns to use when returning the results.", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v2/{+parent}/entities", + "response": { + "$ref": "ListEntitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing entity row matching the entity type and entity id specified in the request. The fields in the entity row that need to be modified are contained in the body of the request. All unspecified fields are left unchanged. The response message contains a `Entity` message object returned as a response by the external system.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + "httpMethod": "PATCH", + "id": "connectors.projects.locations.connections.entityTypes.entities.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "Entity" + }, + "response": { + "$ref": "Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateEntitiesWithConditions": { + "description": "Updates entities based on conditions specified in the request and not on entity id.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities:updateEntitiesWithConditions", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.entityTypes.entities.updateEntitiesWithConditions", + "parameterOrder": [ + "entityType" + ], + "parameters": { + "conditions": { + "description": "Required. Conditions to be used when updating entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported. Note: If this conditions field is left empty, an exception is thrown. We don't want to consider 'empty conditions' to be a match-all case. Connector developers can determine and document what a match-all case constraint would be.", + "location": "query", + "type": "string" + }, + "entityType": { + "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+entityType}/entities:updateEntitiesWithConditions", + "request": { + "$ref": "Entity" + }, + "response": { + "$ref": "UpdateEntitiesWithConditionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20220808", + "rootUrl": "https://connectors.googleapis.com/", + "schemas": { + "Action": { + "description": "Action message contains metadata information about a single action present in the external system.", + "id": "Action", + "properties": { + "inputParameters": { + "description": "List containing input parameter metadata.", + "items": { + "$ref": "InputParameter" + }, + "type": "array" + }, + "name": { + "description": "Name of the action.", + "type": "string" + }, + "resultMetadata": { + "description": "List containing the metadata of result fields.", + "items": { + "$ref": "ResultMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Entity": { + "description": "'Entity row'/ 'Entity' refers to a single row of an entity type.", + "id": "Entity", + "properties": { + "fields": { + "additionalProperties": { + "type": "any" + }, + "description": "Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field.", + "type": "object" + }, + "name": { + "description": "Output only. Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityType": { + "description": "EntityType message contains metadata information about a single entity type present in the external system.", + "id": "EntityType", + "properties": { + "fields": { + "description": "List containing metadata information about each field of the entity type.", + "items": { + "$ref": "Field" + }, + "type": "array" + }, + "name": { + "description": "The name of the entity type.", + "type": "string" + } + }, + "type": "object" + }, + "ExecuteActionRequest": { + "description": "Request message for ActionService.ExecuteAction", + "id": "ExecuteActionRequest", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Parameters for executing the action. The parameters can be key/value pairs or nested structs.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteActionResponse": { + "description": "Response message for ActionService.ExecuteAction", + "id": "ExecuteActionResponse", + "properties": { + "results": { + "description": "In the case of successful invocation of the specified action, the results Struct contains values based on the response of the action invoked. 1. If the action execution produces any entities as a result, they are returned as an array of Structs with the 'key' being the field name and the 'value' being the value of that field in each result row. { 'results': [{'key': 'value'}, ...] }", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExecuteSqlQueryRequest": { + "description": "An execute sql query request containing the query and the connection to execute it on.", + "id": "ExecuteSqlQueryRequest", + "properties": { + "query": { + "$ref": "Query", + "description": "Required. SQL statement passed by clients like Integration Platform, the query is passed as-is to the driver used for interfacing with external systems." + } + }, + "type": "object" + }, + "ExecuteSqlQueryResponse": { + "description": "A response returned by the connection after executing the sql query.", + "id": "ExecuteSqlQueryResponse", + "properties": { + "results": { + "description": "In the case of successful execution of the query the response contains results returned by the external system. For example, the result rows of the query are contained in the 'results' Struct list - \"results\": [ { \"field1\": \"val1\", \"field2\": \"val2\",.. },.. ] Each Struct row can contain fields any type of like nested Structs or lists.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Field": { + "description": "Message contains EntityType's Field metadata.", + "id": "Field", + "properties": { + "additionalDetails": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The following map contains fields that are not explicitly mentioned above,this give connectors the flexibility to add new metadata fields.", + "type": "object" + }, + "dataType": { + "description": "The data type of the Field.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "INT", + "SMALLINT", + "DOUBLE", + "DATE", + "DATETIME", + "TIME", + "STRING", + "LONG", + "BOOLEAN", + "DECIMAL", + "UUID", + "BLOB", + "BIT", + "TINYINT", + "INTEGER", + "BIGINT", + "FLOAT", + "REAL", + "NUMERIC", + "CHAR", + "VARCHAR", + "LONGVARCHAR", + "TIMESTAMP", + "NCHAR", + "NVARCHAR", + "LONGNVARCHAR", + "NULL", + "OTHER", + "JAVA_OBJECT", + "DISTINCT", + "STRUCT", + "ARRAY", + "CLOB", + "REF", + "DATALINK", + "ROWID", + "BINARY", + "VARBINARY", + "LONGVARBINARY", + "NCLOB", + "SQLXML", + "REF_CURSOR", + "TIME_WITH_TIMEZONE", + "TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Datatype unspecified.", + "Deprecated Int type, use INTEGER type instead.", + "Small int type.", + "Double type.", + "Date type.", + "Deprecated Datetime type.", + "Time type.", + "Deprecated string type, use VARCHAR type instead.", + "Deprecated Long type, use BIGINT type instead.", + "Boolean type.", + "Decimal type.", + "Deprecated UUID type, use VARCHAR instead.", + "Blob type.", + "Bit type.", + "Tiny int type.", + "Integer type.", + "Big int type.", + "Float type.", + "Real type.", + "Numeric type.", + "Char type.", + "Varchar type.", + "Long varchar type.", + "Timestamp type.", + "Nchar type.", + "Nvarchar type.", + "Long Nvarchar type.", + "Null type.", + "Other type.", + "Java object type.", + "Distinct type keyword.", + "Struct type.", + "Array type.", + "Clob type.", + "Ref type.", + "Datalink type.", + "Row ID type.", + "Binary type.", + "Varbinary type.", + "Long Varbinary type.", + "Nclob type.", + "SQLXML type.", + "Ref_cursor type.", + "Time with timezone type.", + "Timestamp with timezone type." + ], + "type": "string" + }, + "defaultValue": { + "description": "The following field specifies the default value of the Field provided by the external system if a value is not provided.", + "type": "any" + }, + "description": { + "description": "A brief description of the Field.", + "type": "string" + }, + "key": { + "description": "The following boolean field specifies if the current Field acts as a primary key or id if the parent is of type entity.", + "type": "boolean" + }, + "name": { + "description": "Name of the Field.", + "type": "string" + }, + "nullable": { + "description": "Specifies whether a null value is allowed.", + "type": "boolean" + }, + "reference": { + "$ref": "Reference", + "description": "Reference captures the association between two different entity types. Value links to the reference of another entity type." + } + }, + "type": "object" + }, + "InputParameter": { + "description": "Input Parameter message contains metadata about the parameters required for executing an Action.", + "id": "InputParameter", + "properties": { + "dataType": { + "description": "The data type of the Parameter", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "INT", + "SMALLINT", + "DOUBLE", + "DATE", + "DATETIME", + "TIME", + "STRING", + "LONG", + "BOOLEAN", + "DECIMAL", + "UUID", + "BLOB", + "BIT", + "TINYINT", + "INTEGER", + "BIGINT", + "FLOAT", + "REAL", + "NUMERIC", + "CHAR", + "VARCHAR", + "LONGVARCHAR", + "TIMESTAMP", + "NCHAR", + "NVARCHAR", + "LONGNVARCHAR", + "NULL", + "OTHER", + "JAVA_OBJECT", + "DISTINCT", + "STRUCT", + "ARRAY", + "CLOB", + "REF", + "DATALINK", + "ROWID", + "BINARY", + "VARBINARY", + "LONGVARBINARY", + "NCLOB", + "SQLXML", + "REF_CURSOR", + "TIME_WITH_TIMEZONE", + "TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Datatype unspecified.", + "Deprecated Int type, use INTEGER type instead.", + "Small int type.", + "Double type.", + "Date type.", + "Deprecated Datetime type.", + "Time type.", + "Deprecated string type, use VARCHAR type instead.", + "Deprecated Long type, use BIGINT type instead.", + "Boolean type.", + "Decimal type.", + "Deprecated UUID type, use VARCHAR instead.", + "Blob type.", + "Bit type.", + "Tiny int type.", + "Integer type.", + "Big int type.", + "Float type.", + "Real type.", + "Numeric type.", + "Char type.", + "Varchar type.", + "Long varchar type.", + "Timestamp type.", + "Nchar type.", + "Nvarchar type.", + "Long Nvarchar type.", + "Null type.", + "Other type.", + "Java object type.", + "Distinct type keyword.", + "Struct type.", + "Array type.", + "Clob type.", + "Ref type.", + "Datalink type.", + "Row ID type.", + "Binary type.", + "Varbinary type.", + "Long Varbinary type.", + "Nclob type.", + "SQLXML type.", + "Ref_cursor type.", + "Time with timezone type.", + "Timestamp with timezone type." + ], + "type": "string" + }, + "defaultValue": { + "description": "The following field specifies the default value of the Parameter provided by the external system if a value is not provided.", + "type": "any" + }, + "description": { + "description": "A brief description of the Parameter.", + "type": "string" + }, + "name": { + "description": "Name of the Parameter.", + "type": "string" + }, + "nullable": { + "description": "Specifies whether a null value is allowed.", + "type": "boolean" + } + }, + "type": "object" + }, + "ListActionsResponse": { + "description": "Response message for ActionService.ListActions", + "id": "ListActionsResponse", + "properties": { + "actions": { + "description": "List of action metadata.", + "items": { + "$ref": "Action" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token if more actions available.", + "type": "string" + }, + "unsupportedActionNames": { + "description": "List of actions which contain unsupported Datatypes. Check datatype.proto for more information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListEntitiesResponse": { + "description": "Response message for EntityService.ListEntities", + "id": "ListEntitiesResponse", + "properties": { + "entities": { + "description": "List containing entity rows.", + "items": { + "$ref": "Entity" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token if more records are available.", + "type": "string" + } + }, + "type": "object" + }, + "ListEntityTypesResponse": { + "description": "Response message for EntityService.ListEntityTypes", + "id": "ListEntityTypesResponse", + "properties": { + "nextPageToken": { + "description": "Next page token if more entity types available.", + "type": "string" + }, + "types": { + "description": "List of metadata related to all entity types.", + "items": { + "$ref": "EntityType" + }, + "type": "array" + }, + "unsupportedTypeNames": { + "description": "List of entity type names which contain unsupported Datatypes. Check datatype.proto for more information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Query": { + "description": "A wrapper around the SQL query statement. This is needed so that the JSON representation of ExecuteSqlQueryRequest has the following format: `{\"query\":\"select *\"}`.", + "id": "Query", + "properties": { + "query": { + "description": "Required. Sql query to execute.", + "type": "string" + } + }, + "type": "object" + }, + "Reference": { + "id": "Reference", + "properties": { + "name": { + "description": "Name of the reference field.", + "type": "string" + }, + "type": { + "description": "Name of reference entity type.", + "type": "string" + } + }, + "type": "object" + }, + "ResultMetadata": { + "description": "Result Metadata message contains metadata about the result returned after executing an Action.", + "id": "ResultMetadata", + "properties": { + "dataType": { + "description": "The data type of the metadata field", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "INT", + "SMALLINT", + "DOUBLE", + "DATE", + "DATETIME", + "TIME", + "STRING", + "LONG", + "BOOLEAN", + "DECIMAL", + "UUID", + "BLOB", + "BIT", + "TINYINT", + "INTEGER", + "BIGINT", + "FLOAT", + "REAL", + "NUMERIC", + "CHAR", + "VARCHAR", + "LONGVARCHAR", + "TIMESTAMP", + "NCHAR", + "NVARCHAR", + "LONGNVARCHAR", + "NULL", + "OTHER", + "JAVA_OBJECT", + "DISTINCT", + "STRUCT", + "ARRAY", + "CLOB", + "REF", + "DATALINK", + "ROWID", + "BINARY", + "VARBINARY", + "LONGVARBINARY", + "NCLOB", + "SQLXML", + "REF_CURSOR", + "TIME_WITH_TIMEZONE", + "TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Datatype unspecified.", + "Deprecated Int type, use INTEGER type instead.", + "Small int type.", + "Double type.", + "Date type.", + "Deprecated Datetime type.", + "Time type.", + "Deprecated string type, use VARCHAR type instead.", + "Deprecated Long type, use BIGINT type instead.", + "Boolean type.", + "Decimal type.", + "Deprecated UUID type, use VARCHAR instead.", + "Blob type.", + "Bit type.", + "Tiny int type.", + "Integer type.", + "Big int type.", + "Float type.", + "Real type.", + "Numeric type.", + "Char type.", + "Varchar type.", + "Long varchar type.", + "Timestamp type.", + "Nchar type.", + "Nvarchar type.", + "Long Nvarchar type.", + "Null type.", + "Other type.", + "Java object type.", + "Distinct type keyword.", + "Struct type.", + "Array type.", + "Clob type.", + "Ref type.", + "Datalink type.", + "Row ID type.", + "Binary type.", + "Varbinary type.", + "Long Varbinary type.", + "Nclob type.", + "SQLXML type.", + "Ref_cursor type.", + "Time with timezone type.", + "Timestamp with timezone type." + ], + "type": "string" + }, + "description": { + "description": "A brief description of the metadata field.", + "type": "string" + }, + "name": { + "description": "Name of the metadata field.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateEntitiesWithConditionsResponse": { + "description": "Response message for EntityService.UpdateEntitiesWithConditions", + "id": "UpdateEntitiesWithConditionsResponse", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Response returned by the external system.", + "type": "object" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Connectors API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/connectors/v2/connectors-gen.go b/connectors/v2/connectors-gen.go new file mode 100644 index 00000000000..0cfeafa00c1 --- /dev/null +++ b/connectors/v2/connectors-gen.go @@ -0,0 +1,2756 @@ +// Copyright 2022 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package connectors provides access to the Connectors API. +// +// For product documentation, see: https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors +// +// # Creating a client +// +// Usage example: +// +// import "google.golang.org/api/connectors/v2" +// ... +// ctx := context.Background() +// connectorsService, err := connectors.NewService(ctx) +// +// In this example, Google Application Default Credentials are used for authentication. +// +// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. +// +// # Other authentication options +// +// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: +// +// connectorsService, err := connectors.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// connectorsService, err := connectors.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See https://godoc.org/google.golang.org/api/option/ for details on options. +package connectors // import "google.golang.org/api/connectors/v2" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint + +const apiId = "connectors:v2" +const apiName = "connectors" +const apiVersion = "v2" +const basePath = "https://connectors.googleapis.com/" +const mtlsBasePath = "https://connectors.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // See, edit, configure, and delete your Google Cloud data and see the + // email address for your Google Account. + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + +// NewService creates a new Service. +func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/cloud-platform", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) + opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s, err := New(client) + if err != nil { + return nil, err + } + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new Service. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Connections = NewProjectsLocationsConnectionsService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + Connections *ProjectsLocationsConnectionsService +} + +func NewProjectsLocationsConnectionsService(s *Service) *ProjectsLocationsConnectionsService { + rs := &ProjectsLocationsConnectionsService{s: s} + rs.Actions = NewProjectsLocationsConnectionsActionsService(s) + rs.EntityTypes = NewProjectsLocationsConnectionsEntityTypesService(s) + return rs +} + +type ProjectsLocationsConnectionsService struct { + s *Service + + Actions *ProjectsLocationsConnectionsActionsService + + EntityTypes *ProjectsLocationsConnectionsEntityTypesService +} + +func NewProjectsLocationsConnectionsActionsService(s *Service) *ProjectsLocationsConnectionsActionsService { + rs := &ProjectsLocationsConnectionsActionsService{s: s} + return rs +} + +type ProjectsLocationsConnectionsActionsService struct { + s *Service +} + +func NewProjectsLocationsConnectionsEntityTypesService(s *Service) *ProjectsLocationsConnectionsEntityTypesService { + rs := &ProjectsLocationsConnectionsEntityTypesService{s: s} + rs.Entities = NewProjectsLocationsConnectionsEntityTypesEntitiesService(s) + return rs +} + +type ProjectsLocationsConnectionsEntityTypesService struct { + s *Service + + Entities *ProjectsLocationsConnectionsEntityTypesEntitiesService +} + +func NewProjectsLocationsConnectionsEntityTypesEntitiesService(s *Service) *ProjectsLocationsConnectionsEntityTypesEntitiesService { + rs := &ProjectsLocationsConnectionsEntityTypesEntitiesService{s: s} + return rs +} + +type ProjectsLocationsConnectionsEntityTypesEntitiesService struct { + s *Service +} + +// Action: Action message contains metadata information about a single +// action present in the external system. +type Action struct { + // InputParameters: List containing input parameter metadata. + InputParameters []*InputParameter `json:"inputParameters,omitempty"` + + // Name: Name of the action. + Name string `json:"name,omitempty"` + + // ResultMetadata: List containing the metadata of result fields. + ResultMetadata []*ResultMetadata `json:"resultMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InputParameters") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InputParameters") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Action) MarshalJSON() ([]byte, error) { + type NoMethod Action + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use +// it as the request or the response type of an API method. For +// instance: service Foo { rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); } +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// Entity: 'Entity row'/ 'Entity' refers to a single row of an entity +// type. +type Entity struct { + // Fields: Fields of the entity. The key is name of the field and the + // value contains the applicable `google.protobuf.Value` entry for this + // field. + Fields googleapi.RawMessage `json:"fields,omitempty"` + + // Name: Output only. Resource name of the Entity. Format: + // projects/{project}/locations/{location}/connections/{connection}/entit + // yTypes/{type}/entities/{id} + 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. "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 *Entity) MarshalJSON() ([]byte, error) { + type NoMethod Entity + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EntityType: EntityType message contains metadata information about a +// single entity type present in the external system. +type EntityType struct { + // Fields: List containing metadata information about each field of the + // entity type. + Fields []*Field `json:"fields,omitempty"` + + // Name: The name of the entity type. + Name string `json:"name,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 *EntityType) MarshalJSON() ([]byte, error) { + type NoMethod EntityType + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExecuteActionRequest: Request message for ActionService.ExecuteAction +type ExecuteActionRequest struct { + // Parameters: Parameters for executing the action. The parameters can + // be key/value pairs or nested structs. + Parameters googleapi.RawMessage `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Parameters") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Parameters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExecuteActionRequest) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteActionRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExecuteActionResponse: Response message for +// ActionService.ExecuteAction +type ExecuteActionResponse struct { + // Results: In the case of successful invocation of the specified + // action, the results Struct contains values based on the response of + // the action invoked. 1. If the action execution produces any entities + // as a result, they are returned as an array of Structs with the 'key' + // being the field name and the 'value' being the value of that field in + // each result row. { 'results': [{'key': 'value'}, ...] } + Results []googleapi.RawMessage `json:"results,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Results") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Results") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExecuteActionResponse) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteActionResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExecuteSqlQueryRequest: An execute sql query request containing the +// query and the connection to execute it on. +type ExecuteSqlQueryRequest struct { + // Query: Required. SQL statement passed by clients like Integration + // Platform, the query is passed as-is to the driver used for + // interfacing with external systems. + Query *Query `json:"query,omitempty"` + + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExecuteSqlQueryRequest) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteSqlQueryRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExecuteSqlQueryResponse: A response returned by the connection after +// executing the sql query. +type ExecuteSqlQueryResponse struct { + // Results: In the case of successful execution of the query the + // response contains results returned by the external system. For + // example, the result rows of the query are contained in the 'results' + // Struct list - "results": [ { "field1": "val1", "field2": "val2",.. + // },.. ] Each Struct row can contain fields any type of like nested + // Structs or lists. + Results []googleapi.RawMessage `json:"results,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Results") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Results") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExecuteSqlQueryResponse) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteSqlQueryResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Field: Message contains EntityType's Field metadata. +type Field struct { + // AdditionalDetails: The following map contains fields that are not + // explicitly mentioned above,this give connectors the flexibility to + // add new metadata fields. + AdditionalDetails googleapi.RawMessage `json:"additionalDetails,omitempty"` + + // DataType: The data type of the Field. + // + // Possible values: + // "DATA_TYPE_UNSPECIFIED" - Datatype unspecified. + // "INT" - Deprecated Int type, use INTEGER type instead. + // "SMALLINT" - Small int type. + // "DOUBLE" - Double type. + // "DATE" - Date type. + // "DATETIME" - Deprecated Datetime type. + // "TIME" - Time type. + // "STRING" - Deprecated string type, use VARCHAR type instead. + // "LONG" - Deprecated Long type, use BIGINT type instead. + // "BOOLEAN" - Boolean type. + // "DECIMAL" - Decimal type. + // "UUID" - Deprecated UUID type, use VARCHAR instead. + // "BLOB" - Blob type. + // "BIT" - Bit type. + // "TINYINT" - Tiny int type. + // "INTEGER" - Integer type. + // "BIGINT" - Big int type. + // "FLOAT" - Float type. + // "REAL" - Real type. + // "NUMERIC" - Numeric type. + // "CHAR" - Char type. + // "VARCHAR" - Varchar type. + // "LONGVARCHAR" - Long varchar type. + // "TIMESTAMP" - Timestamp type. + // "NCHAR" - Nchar type. + // "NVARCHAR" - Nvarchar type. + // "LONGNVARCHAR" - Long Nvarchar type. + // "NULL" - Null type. + // "OTHER" - Other type. + // "JAVA_OBJECT" - Java object type. + // "DISTINCT" - Distinct type keyword. + // "STRUCT" - Struct type. + // "ARRAY" - Array type. + // "CLOB" - Clob type. + // "REF" - Ref type. + // "DATALINK" - Datalink type. + // "ROWID" - Row ID type. + // "BINARY" - Binary type. + // "VARBINARY" - Varbinary type. + // "LONGVARBINARY" - Long Varbinary type. + // "NCLOB" - Nclob type. + // "SQLXML" - SQLXML type. + // "REF_CURSOR" - Ref_cursor type. + // "TIME_WITH_TIMEZONE" - Time with timezone type. + // "TIMESTAMP_WITH_TIMEZONE" - Timestamp with timezone type. + DataType string `json:"dataType,omitempty"` + + // DefaultValue: The following field specifies the default value of the + // Field provided by the external system if a value is not provided. + DefaultValue interface{} `json:"defaultValue,omitempty"` + + // Description: A brief description of the Field. + Description string `json:"description,omitempty"` + + // Key: The following boolean field specifies if the current Field acts + // as a primary key or id if the parent is of type entity. + Key bool `json:"key,omitempty"` + + // Name: Name of the Field. + Name string `json:"name,omitempty"` + + // Nullable: Specifies whether a null value is allowed. + Nullable bool `json:"nullable,omitempty"` + + // Reference: Reference captures the association between two different + // entity types. Value links to the reference of another entity type. + Reference *Reference `json:"reference,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdditionalDetails") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdditionalDetails") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Field) MarshalJSON() ([]byte, error) { + type NoMethod Field + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InputParameter: Input Parameter message contains metadata about the +// parameters required for executing an Action. +type InputParameter struct { + // DataType: The data type of the Parameter + // + // Possible values: + // "DATA_TYPE_UNSPECIFIED" - Datatype unspecified. + // "INT" - Deprecated Int type, use INTEGER type instead. + // "SMALLINT" - Small int type. + // "DOUBLE" - Double type. + // "DATE" - Date type. + // "DATETIME" - Deprecated Datetime type. + // "TIME" - Time type. + // "STRING" - Deprecated string type, use VARCHAR type instead. + // "LONG" - Deprecated Long type, use BIGINT type instead. + // "BOOLEAN" - Boolean type. + // "DECIMAL" - Decimal type. + // "UUID" - Deprecated UUID type, use VARCHAR instead. + // "BLOB" - Blob type. + // "BIT" - Bit type. + // "TINYINT" - Tiny int type. + // "INTEGER" - Integer type. + // "BIGINT" - Big int type. + // "FLOAT" - Float type. + // "REAL" - Real type. + // "NUMERIC" - Numeric type. + // "CHAR" - Char type. + // "VARCHAR" - Varchar type. + // "LONGVARCHAR" - Long varchar type. + // "TIMESTAMP" - Timestamp type. + // "NCHAR" - Nchar type. + // "NVARCHAR" - Nvarchar type. + // "LONGNVARCHAR" - Long Nvarchar type. + // "NULL" - Null type. + // "OTHER" - Other type. + // "JAVA_OBJECT" - Java object type. + // "DISTINCT" - Distinct type keyword. + // "STRUCT" - Struct type. + // "ARRAY" - Array type. + // "CLOB" - Clob type. + // "REF" - Ref type. + // "DATALINK" - Datalink type. + // "ROWID" - Row ID type. + // "BINARY" - Binary type. + // "VARBINARY" - Varbinary type. + // "LONGVARBINARY" - Long Varbinary type. + // "NCLOB" - Nclob type. + // "SQLXML" - SQLXML type. + // "REF_CURSOR" - Ref_cursor type. + // "TIME_WITH_TIMEZONE" - Time with timezone type. + // "TIMESTAMP_WITH_TIMEZONE" - Timestamp with timezone type. + DataType string `json:"dataType,omitempty"` + + // DefaultValue: The following field specifies the default value of the + // Parameter provided by the external system if a value is not provided. + DefaultValue interface{} `json:"defaultValue,omitempty"` + + // Description: A brief description of the Parameter. + Description string `json:"description,omitempty"` + + // Name: Name of the Parameter. + Name string `json:"name,omitempty"` + + // Nullable: Specifies whether a null value is allowed. + Nullable bool `json:"nullable,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InputParameter) MarshalJSON() ([]byte, error) { + type NoMethod InputParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListActionsResponse: Response message for ActionService.ListActions +type ListActionsResponse struct { + // Actions: List of action metadata. + Actions []*Action `json:"actions,omitempty"` + + // NextPageToken: Next page token if more actions available. + NextPageToken string `json:"nextPageToken,omitempty"` + + // UnsupportedActionNames: List of actions which contain unsupported + // Datatypes. Check datatype.proto for more information. + UnsupportedActionNames []string `json:"unsupportedActionNames,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // 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 *ListActionsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListActionsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListEntitiesResponse: Response message for EntityService.ListEntities +type ListEntitiesResponse struct { + // Entities: List containing entity rows. + Entities []*Entity `json:"entities,omitempty"` + + // NextPageToken: Next page token if more records are available. + 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. "Entities") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Entities") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListEntitiesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListEntitiesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListEntityTypesResponse: Response message for +// EntityService.ListEntityTypes +type ListEntityTypesResponse struct { + // NextPageToken: Next page token if more entity types available. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Types: List of metadata related to all entity types. + Types []*EntityType `json:"types,omitempty"` + + // UnsupportedTypeNames: List of entity type names which contain + // unsupported Datatypes. Check datatype.proto for more information. + UnsupportedTypeNames []string `json:"unsupportedTypeNames,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 *ListEntityTypesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListEntityTypesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Query: A wrapper around the SQL query statement. This is needed so +// that the JSON representation of ExecuteSqlQueryRequest has the +// following format: `{"query":"select *"}`. +type Query struct { + // Query: Required. Sql query to execute. + Query string `json:"query,omitempty"` + + // 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 + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // 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 + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Query) MarshalJSON() ([]byte, error) { + type NoMethod Query + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type Reference struct { + // Name: Name of the reference field. + Name string `json:"name,omitempty"` + + // Type: Name of reference entity type. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Reference) MarshalJSON() ([]byte, error) { + type NoMethod Reference + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultMetadata: Result Metadata message contains metadata about the +// result returned after executing an Action. +type ResultMetadata struct { + // DataType: The data type of the metadata field + // + // Possible values: + // "DATA_TYPE_UNSPECIFIED" - Datatype unspecified. + // "INT" - Deprecated Int type, use INTEGER type instead. + // "SMALLINT" - Small int type. + // "DOUBLE" - Double type. + // "DATE" - Date type. + // "DATETIME" - Deprecated Datetime type. + // "TIME" - Time type. + // "STRING" - Deprecated string type, use VARCHAR type instead. + // "LONG" - Deprecated Long type, use BIGINT type instead. + // "BOOLEAN" - Boolean type. + // "DECIMAL" - Decimal type. + // "UUID" - Deprecated UUID type, use VARCHAR instead. + // "BLOB" - Blob type. + // "BIT" - Bit type. + // "TINYINT" - Tiny int type. + // "INTEGER" - Integer type. + // "BIGINT" - Big int type. + // "FLOAT" - Float type. + // "REAL" - Real type. + // "NUMERIC" - Numeric type. + // "CHAR" - Char type. + // "VARCHAR" - Varchar type. + // "LONGVARCHAR" - Long varchar type. + // "TIMESTAMP" - Timestamp type. + // "NCHAR" - Nchar type. + // "NVARCHAR" - Nvarchar type. + // "LONGNVARCHAR" - Long Nvarchar type. + // "NULL" - Null type. + // "OTHER" - Other type. + // "JAVA_OBJECT" - Java object type. + // "DISTINCT" - Distinct type keyword. + // "STRUCT" - Struct type. + // "ARRAY" - Array type. + // "CLOB" - Clob type. + // "REF" - Ref type. + // "DATALINK" - Datalink type. + // "ROWID" - Row ID type. + // "BINARY" - Binary type. + // "VARBINARY" - Varbinary type. + // "LONGVARBINARY" - Long Varbinary type. + // "NCLOB" - Nclob type. + // "SQLXML" - SQLXML type. + // "REF_CURSOR" - Ref_cursor type. + // "TIME_WITH_TIMEZONE" - Time with timezone type. + // "TIMESTAMP_WITH_TIMEZONE" - Timestamp with timezone type. + DataType string `json:"dataType,omitempty"` + + // Description: A brief description of the metadata field. + Description string `json:"description,omitempty"` + + // Name: Name of the metadata field. + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResultMetadata) MarshalJSON() ([]byte, error) { + type NoMethod ResultMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateEntitiesWithConditionsResponse: Response message for +// EntityService.UpdateEntitiesWithConditions +type UpdateEntitiesWithConditionsResponse struct { + // Response: Response returned by the external system. + 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. "Response") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Response") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateEntitiesWithConditionsResponse) MarshalJSON() ([]byte, error) { + type NoMethod UpdateEntitiesWithConditionsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "connectors.projects.locations.connections.executeSqlQuery": + +type ProjectsLocationsConnectionsExecuteSqlQueryCall struct { + s *Service + connection string + executesqlqueryrequest *ExecuteSqlQueryRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExecuteSqlQuery: Executes a SQL statement specified in the body of +// the request. An example of this SQL statement in the case of +// Salesforce connector would be 'select * from Account a, Order o where +// a.Id = o.AccountId'. +// +// - connection: Resource name of the Connection. Format: +// projects/{project}/locations/{location}/connections/{connection}. +func (r *ProjectsLocationsConnectionsService) ExecuteSqlQuery(connection string, executesqlqueryrequest *ExecuteSqlQueryRequest) *ProjectsLocationsConnectionsExecuteSqlQueryCall { + c := &ProjectsLocationsConnectionsExecuteSqlQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.connection = connection + c.executesqlqueryrequest = executesqlqueryrequest + 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 *ProjectsLocationsConnectionsExecuteSqlQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsExecuteSqlQueryCall { + 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 *ProjectsLocationsConnectionsExecuteSqlQueryCall) Context(ctx context.Context) *ProjectsLocationsConnectionsExecuteSqlQueryCall { + 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 *ProjectsLocationsConnectionsExecuteSqlQueryCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsExecuteSqlQueryCall) 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.executesqlqueryrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+connection}:executeSqlQuery") + 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{ + "connection": c.connection, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.executeSqlQuery" call. +// Exactly one of *ExecuteSqlQueryResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ExecuteSqlQueryResponse.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 *ProjectsLocationsConnectionsExecuteSqlQueryCall) Do(opts ...googleapi.CallOption) (*ExecuteSqlQueryResponse, 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 := &ExecuteSqlQueryResponse{ + 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": "Executes a SQL statement specified in the body of the request. An example of this SQL statement in the case of Salesforce connector would be 'select * from Account a, Order o where a.Id = o.AccountId'.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:executeSqlQuery", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.connections.executeSqlQuery", + // "parameterOrder": [ + // "connection" + // ], + // "parameters": { + // "connection": { + // "description": "Required. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+connection}:executeSqlQuery", + // "request": { + // "$ref": "ExecuteSqlQueryRequest" + // }, + // "response": { + // "$ref": "ExecuteSqlQueryResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.actions.execute": + +type ProjectsLocationsConnectionsActionsExecuteCall struct { + s *Service + name string + executeactionrequest *ExecuteActionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Execute: Executes an action with the name specified in the request. +// The input parameters for executing the action are passed through the +// body of the ExecuteAction request. +// +// - name: Resource name of the Action. Format: +// projects/{project}/locations/{location}/connections/{connection}/act +// ions/{action}. +func (r *ProjectsLocationsConnectionsActionsService) Execute(name string, executeactionrequest *ExecuteActionRequest) *ProjectsLocationsConnectionsActionsExecuteCall { + c := &ProjectsLocationsConnectionsActionsExecuteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.executeactionrequest = executeactionrequest + 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 *ProjectsLocationsConnectionsActionsExecuteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsActionsExecuteCall { + 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 *ProjectsLocationsConnectionsActionsExecuteCall) Context(ctx context.Context) *ProjectsLocationsConnectionsActionsExecuteCall { + 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 *ProjectsLocationsConnectionsActionsExecuteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsActionsExecuteCall) 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.executeactionrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:execute") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.actions.execute" call. +// Exactly one of *ExecuteActionResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ExecuteActionResponse.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 *ProjectsLocationsConnectionsActionsExecuteCall) Do(opts ...googleapi.CallOption) (*ExecuteActionResponse, 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 := &ExecuteActionResponse{ + 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": "Executes an action with the name specified in the request. The input parameters for executing the action are passed through the body of the ExecuteAction request.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/actions/{actionsId}:execute", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.connections.actions.execute", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Resource name of the Action. Format: projects/{project}/locations/{location}/connections/{connection}/actions/{action}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/actions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}:execute", + // "request": { + // "$ref": "ExecuteActionRequest" + // }, + // "response": { + // "$ref": "ExecuteActionResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.actions.list": + +type ProjectsLocationsConnectionsActionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Gets the schema of all the actions supported by the connector. +// +// - parent: Parent resource name of the Action. Format: +// projects/{project}/locations/{location}/connections/{connection}. +func (r *ProjectsLocationsConnectionsActionsService) List(parent string) *ProjectsLocationsConnectionsActionsListCall { + c := &ProjectsLocationsConnectionsActionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Number of Actions to +// return. Defaults to 25. +func (c *ProjectsLocationsConnectionsActionsListCall) PageSize(pageSize int64) *ProjectsLocationsConnectionsActionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Page token, return +// from a previous ListActions call, that can be used retrieve the next +// page of content. If unspecified, the request returns the first page +// of actions. +func (c *ProjectsLocationsConnectionsActionsListCall) PageToken(pageToken string) *ProjectsLocationsConnectionsActionsListCall { + 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 *ProjectsLocationsConnectionsActionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsActionsListCall { + 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 *ProjectsLocationsConnectionsActionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsActionsListCall { + 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 *ProjectsLocationsConnectionsActionsListCall) Context(ctx context.Context) *ProjectsLocationsConnectionsActionsListCall { + 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 *ProjectsLocationsConnectionsActionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsActionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/actions") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.actions.list" call. +// Exactly one of *ListActionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListActionsResponse.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 *ProjectsLocationsConnectionsActionsListCall) Do(opts ...googleapi.CallOption) (*ListActionsResponse, 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 := &ListActionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the schema of all the actions supported by the connector.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/actions", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.connections.actions.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Number of Actions to return. Defaults to 25.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Page token, return from a previous ListActions call, that can be used retrieve the next page of content. If unspecified, the request returns the first page of actions.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Parent resource name of the Action. Format: projects/{project}/locations/{location}/connections/{connection}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/actions", + // "response": { + // "$ref": "ListActionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsConnectionsActionsListCall) Pages(ctx context.Context, f func(*ListActionsResponse) 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 "connectors.projects.locations.connections.entityTypes.list": + +type ProjectsLocationsConnectionsEntityTypesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists metadata related to all entity types present in the +// external system. +// +// - parent: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}. +func (r *ProjectsLocationsConnectionsEntityTypesService) List(parent string) *ProjectsLocationsConnectionsEntityTypesListCall { + c := &ProjectsLocationsConnectionsEntityTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Number of entity +// types to return. Defaults to 25. +func (c *ProjectsLocationsConnectionsEntityTypesListCall) PageSize(pageSize int64) *ProjectsLocationsConnectionsEntityTypesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Page token, return +// from a previous ListEntityTypes call, that can be used retrieve the +// next page of content. If unspecified, the request returns the first +// page of entity types. +func (c *ProjectsLocationsConnectionsEntityTypesListCall) PageToken(pageToken string) *ProjectsLocationsConnectionsEntityTypesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsEntityTypesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entityTypes") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.list" call. +// Exactly one of *ListEntityTypesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListEntityTypesResponse.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 *ProjectsLocationsConnectionsEntityTypesListCall) Do(opts ...googleapi.CallOption) (*ListEntityTypesResponse, 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 := &ListEntityTypesResponse{ + 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 metadata related to all entity types present in the external system.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.connections.entityTypes.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Number of entity types to return. Defaults to 25.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Page token, return from a previous ListEntityTypes call, that can be used retrieve the next page of content. If unspecified, the request returns the first page of entity types.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/entityTypes", + // "response": { + // "$ref": "ListEntityTypesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsConnectionsEntityTypesListCall) Pages(ctx context.Context, f func(*ListEntityTypesResponse) 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 "connectors.projects.locations.connections.entityTypes.entities.create": + +type ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall struct { + s *Service + parent string + entity *Entity + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new entity row of the specified entity type in the +// external system. The field values for creating the row are contained +// in the body of the request. The response message contains a `Entity` +// message object returned as a response by the external system. +// +// - parent: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) Create(parent string, entity *Entity) *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.entity = entity + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall) 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.entity) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entities") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.create" call. +// Exactly one of *Entity or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Entity.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 *ProjectsLocationsConnectionsEntityTypesEntitiesCreateCall) Do(opts ...googleapi.CallOption) (*Entity, 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 := &Entity{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new entity row of the specified entity type in the external system. The field values for creating the row are contained in the body of the request. The response message contains a `Entity` message object returned as a response by the external system.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.connections.entityTypes.entities.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/entities", + // "request": { + // "$ref": "Entity" + // }, + // "response": { + // "$ref": "Entity" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.entityTypes.entities.delete": + +type ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an existing entity row matching the entity type and +// entity id specified in the request. +// +// - name: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}/entities/{id}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) Delete(name string) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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 := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an existing entity row matching the entity type and entity id specified in the request.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + // "httpMethod": "DELETE", + // "id": "connectors.projects.locations.connections.entityTypes.entities.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.entityTypes.entities.deleteEntitiesWithConditions": + +type ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall struct { + s *Service + entityType string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// DeleteEntitiesWithConditions: Deletes entities based on conditions +// specified in the request and not on entity id. +// +// - entityType: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) DeleteEntitiesWithConditions(entityType string) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.entityType = entityType + return c +} + +// Conditions sets the optional parameter "conditions": Required. +// Conditions to be used when deleting entities. From a proto +// standpoint, There are no restrictions on what can be passed using +// this field. The connector documentation should have information about +// what format of filters/conditions are supported. Note: If this +// conditions field is left empty, an exception is thrown. We don't want +// to consider 'empty conditions' to be a match-all case. Connector +// developers can determine and document what a match-all case +// constraint would be. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) Conditions(conditions string) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall { + c.urlParams_.Set("conditions", conditions) + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+entityType}/entities:deleteEntitiesWithConditions") + 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{ + "entityType": c.entityType, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.deleteEntitiesWithConditions" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.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 *ProjectsLocationsConnectionsEntityTypesEntitiesDeleteEntitiesWithConditionsCall) Do(opts ...googleapi.CallOption) (*Empty, 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 := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes entities based on conditions specified in the request and not on entity id.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities:deleteEntitiesWithConditions", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.connections.entityTypes.entities.deleteEntitiesWithConditions", + // "parameterOrder": [ + // "entityType" + // ], + // "parameters": { + // "conditions": { + // "description": "Required. Conditions to be used when deleting entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported. Note: If this conditions field is left empty, an exception is thrown. We don't want to consider 'empty conditions' to be a match-all case. Connector developers can determine and document what a match-all case constraint would be.", + // "location": "query", + // "type": "string" + // }, + // "entityType": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+entityType}/entities:deleteEntitiesWithConditions", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.entityTypes.entities.get": + +type ProjectsLocationsConnectionsEntityTypesEntitiesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a single entity row matching the entity type and entity id +// specified in the request. +// +// - name: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}/entities/{id}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) Get(name string) *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.get" call. +// Exactly one of *Entity or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Entity.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 *ProjectsLocationsConnectionsEntityTypesEntitiesGetCall) Do(opts ...googleapi.CallOption) (*Entity, 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 := &Entity{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a single entity row matching the entity type and entity id specified in the request.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.connections.entityTypes.entities.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Entity" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.entityTypes.entities.list": + +type ProjectsLocationsConnectionsEntityTypesEntitiesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists entity rows of a particular entity type contained in the +// request. Note: 1. Currently, only max of one 'sort_by' column is +// supported. 2. If no 'sort_by' column is provided, the primary key of +// the table is used. If zero or more than one primary key is available, +// we default to the unpaginated list entities logic which only returns +// the first page. 3. The values of the 'sort_by' columns must uniquely +// identify an entity row, otherwise undefined behaviors may be observed +// during pagination. 4. Since transactions are not supported, any +// updates, inserts or deletes during pagination can lead to stale data +// being returned or other unexpected behaviors. +// +// - parent: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) List(parent string) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Conditions sets the optional parameter "conditions": Conditions to be +// used when listing entities. From a proto standpoint, There are no +// restrictions on what can be passed using this field. The connector +// documentation should have information about what format of +// filters/conditions are supported. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Conditions(conditions string) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + c.urlParams_.Set("conditions", conditions) + return c +} + +// PageSize sets the optional parameter "pageSize": Number of entity +// rows to return. Defaults page size = 25. Max page size = 200. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) PageSize(pageSize int64) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Page token value +// if available from a previous request. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) PageToken(pageToken string) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// SortBy sets the optional parameter "sortBy": List of 'sort_by' +// columns to use when returning the results. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) SortBy(sortBy ...string) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + c.urlParams_.SetMulti("sortBy", append([]string{}, sortBy...)) + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesListCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/entities") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.list" call. +// Exactly one of *ListEntitiesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListEntitiesResponse.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 *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Do(opts ...googleapi.CallOption) (*ListEntitiesResponse, 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 := &ListEntitiesResponse{ + 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 entity rows of a particular entity type contained in the request. Note: 1. Currently, only max of one 'sort_by' column is supported. 2. If no 'sort_by' column is provided, the primary key of the table is used. If zero or more than one primary key is available, we default to the unpaginated list entities logic which only returns the first page. 3. The values of the 'sort_by' columns must uniquely identify an entity row, otherwise undefined behaviors may be observed during pagination. 4. Since transactions are not supported, any updates, inserts or deletes during pagination can lead to stale data being returned or other unexpected behaviors.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities", + // "httpMethod": "GET", + // "id": "connectors.projects.locations.connections.entityTypes.entities.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "conditions": { + // "description": "Conditions to be used when listing entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Number of entity rows to return. Defaults page size = 25. Max page size = 200.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Page token value if available from a previous request.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "sortBy": { + // "description": "List of 'sort_by' columns to use when returning the results.", + // "location": "query", + // "repeated": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/entities", + // "response": { + // "$ref": "ListEntitiesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesListCall) Pages(ctx context.Context, f func(*ListEntitiesResponse) 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 "connectors.projects.locations.connections.entityTypes.entities.patch": + +type ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall struct { + s *Service + name string + entity *Entity + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates an existing entity row matching the entity type and +// entity id specified in the request. The fields in the entity row that +// need to be modified are contained in the body of the request. All +// unspecified fields are left unchanged. The response message contains +// a `Entity` message object returned as a response by the external +// system. +// +// - name: Output only. Resource name of the Entity. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}/entities/{id}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) Patch(name string, entity *Entity) *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.entity = entity + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall) 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.entity) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.patch" call. +// Exactly one of *Entity or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Entity.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 *ProjectsLocationsConnectionsEntityTypesEntitiesPatchCall) Do(opts ...googleapi.CallOption) (*Entity, 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 := &Entity{ + 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 an existing entity row matching the entity type and entity id specified in the request. The fields in the entity row that need to be modified are contained in the body of the request. All unspecified fields are left unchanged. The response message contains a `Entity` message object returned as a response by the external system.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities/{entitiesId}", + // "httpMethod": "PATCH", + // "id": "connectors.projects.locations.connections.entityTypes.entities.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Output only. Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+/entities/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "Entity" + // }, + // "response": { + // "$ref": "Entity" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "connectors.projects.locations.connections.entityTypes.entities.updateEntitiesWithConditions": + +type ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall struct { + s *Service + entityType string + entity *Entity + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateEntitiesWithConditions: Updates entities based on conditions +// specified in the request and not on entity id. +// +// - entityType: Resource name of the Entity Type. Format: +// projects/{project}/locations/{location}/connections/{connection}/ent +// ityTypes/{type}. +func (r *ProjectsLocationsConnectionsEntityTypesEntitiesService) UpdateEntitiesWithConditions(entityType string, entity *Entity) *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall { + c := &ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.entityType = entityType + c.entity = entity + return c +} + +// Conditions sets the optional parameter "conditions": Required. +// Conditions to be used when updating entities. From a proto +// standpoint, There are no restrictions on what can be passed using +// this field. The connector documentation should have information about +// what format of filters/conditions are supported. Note: If this +// conditions field is left empty, an exception is thrown. We don't want +// to consider 'empty conditions' to be a match-all case. Connector +// developers can determine and document what a match-all case +// constraint would be. +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) Conditions(conditions string) *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall { + c.urlParams_.Set("conditions", conditions) + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) Context(ctx context.Context) *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall { + 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 *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) 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.entity) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+entityType}/entities:updateEntitiesWithConditions") + 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{ + "entityType": c.entityType, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "connectors.projects.locations.connections.entityTypes.entities.updateEntitiesWithConditions" call. +// Exactly one of *UpdateEntitiesWithConditionsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *UpdateEntitiesWithConditionsResponse.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 *ProjectsLocationsConnectionsEntityTypesEntitiesUpdateEntitiesWithConditionsCall) Do(opts ...googleapi.CallOption) (*UpdateEntitiesWithConditionsResponse, 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 := &UpdateEntitiesWithConditionsResponse{ + 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 entities based on conditions specified in the request and not on entity id.", + // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/entityTypes/{entityTypesId}/entities:updateEntitiesWithConditions", + // "httpMethod": "POST", + // "id": "connectors.projects.locations.connections.entityTypes.entities.updateEntitiesWithConditions", + // "parameterOrder": [ + // "entityType" + // ], + // "parameters": { + // "conditions": { + // "description": "Required. Conditions to be used when updating entities. From a proto standpoint, There are no restrictions on what can be passed using this field. The connector documentation should have information about what format of filters/conditions are supported. Note: If this conditions field is left empty, an exception is thrown. We don't want to consider 'empty conditions' to be a match-all case. Connector developers can determine and document what a match-all case constraint would be.", + // "location": "query", + // "type": "string" + // }, + // "entityType": { + // "description": "Required. Resource name of the Entity Type. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/entityTypes/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+entityType}/entities:updateEntitiesWithConditions", + // "request": { + // "$ref": "Entity" + // }, + // "response": { + // "$ref": "UpdateEntitiesWithConditionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} diff --git a/datamigration/v1/datamigration-api.json b/datamigration/v1/datamigration-api.json index 90a1bb4dd80..b5fb9d7b332 100644 --- a/datamigration/v1/datamigration-api.json +++ b/datamigration/v1/datamigration-api.json @@ -1049,7 +1049,7 @@ } } }, - "revision": "20220602", + "revision": "20220804", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { @@ -1109,7 +1109,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/datamigration/v1/datamigration-gen.go b/datamigration/v1/datamigration-gen.go index 1e5ae658c1f..413ded6ddb7 100644 --- a/datamigration/v1/datamigration-gen.go +++ b/datamigration/v1/datamigration-gen.go @@ -311,16 +311,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/datamigration/v1beta1/datamigration-api.json b/datamigration/v1beta1/datamigration-api.json index ef851b5c829..bc63c3cca5a 100644 --- a/datamigration/v1beta1/datamigration-api.json +++ b/datamigration/v1beta1/datamigration-api.json @@ -1049,7 +1049,7 @@ } } }, - "revision": "20220602", + "revision": "20220804", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { @@ -1109,7 +1109,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/datamigration/v1beta1/datamigration-gen.go b/datamigration/v1beta1/datamigration-gen.go index dc728b717c2..8b3daab9ce1 100644 --- a/datamigration/v1beta1/datamigration-gen.go +++ b/datamigration/v1beta1/datamigration-gen.go @@ -311,16 +311,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/domains/v1/domains-api.json b/domains/v1/domains-api.json index 6f07454af2f..76d9fbe825c 100644 --- a/domains/v1/domains-api.json +++ b/domains/v1/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20220712", + "revision": "20220808", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -914,7 +914,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/domains/v1/domains-gen.go b/domains/v1/domains-gen.go index 131752618c3..895a289676f 100644 --- a/domains/v1/domains-gen.go +++ b/domains/v1/domains-gen.go @@ -332,16 +332,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/domains/v1alpha2/domains-api.json b/domains/v1alpha2/domains-api.json index 424f5cafe9a..bea96d76c68 100644 --- a/domains/v1alpha2/domains-api.json +++ b/domains/v1alpha2/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20220712", + "revision": "20220808", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -914,7 +914,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/domains/v1alpha2/domains-gen.go b/domains/v1alpha2/domains-gen.go index c395265a695..68c563f7e3f 100644 --- a/domains/v1alpha2/domains-gen.go +++ b/domains/v1alpha2/domains-gen.go @@ -332,16 +332,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/domains/v1beta1/domains-api.json b/domains/v1beta1/domains-api.json index 06d3c9e1f81..bb75ac92975 100644 --- a/domains/v1beta1/domains-api.json +++ b/domains/v1beta1/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20220712", + "revision": "20220808", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -914,7 +914,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/domains/v1beta1/domains-gen.go b/domains/v1beta1/domains-gen.go index f303b20eaa8..0321f6ce7c2 100644 --- a/domains/v1beta1/domains-gen.go +++ b/domains/v1beta1/domains-gen.go @@ -332,16 +332,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/eventarc/v1/eventarc-api.json b/eventarc/v1/eventarc-api.json index 40a3a49187e..9944f45f626 100644 --- a/eventarc/v1/eventarc-api.json +++ b/eventarc/v1/eventarc-api.json @@ -1197,7 +1197,7 @@ } } }, - "revision": "20220628", + "revision": "20220812", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -1257,7 +1257,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/eventarc/v1/eventarc-gen.go b/eventarc/v1/eventarc-gen.go index 57aadf1e87b..6f6c10e9527 100644 --- a/eventarc/v1/eventarc-gen.go +++ b/eventarc/v1/eventarc-gen.go @@ -335,16 +335,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/eventarc/v1beta1/eventarc-api.json b/eventarc/v1beta1/eventarc-api.json index d4d74ce15f4..4fbfc498a76 100644 --- a/eventarc/v1beta1/eventarc-api.json +++ b/eventarc/v1beta1/eventarc-api.json @@ -584,7 +584,7 @@ } } }, - "revision": "20220607", + "revision": "20220812", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -644,7 +644,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/eventarc/v1beta1/eventarc-gen.go b/eventarc/v1beta1/eventarc-gen.go index 28d7c8a4d38..47428ce10c7 100644 --- a/eventarc/v1beta1/eventarc-gen.go +++ b/eventarc/v1beta1/eventarc-gen.go @@ -299,16 +299,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/gkehub/v1/gkehub-api.json b/gkehub/v1/gkehub-api.json index ac1653cce25..7d55ba66587 100644 --- a/gkehub/v1/gkehub-api.json +++ b/gkehub/v1/gkehub-api.json @@ -905,7 +905,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosVMMembershipSpec": { @@ -1105,7 +1105,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/gkehub/v1/gkehub-gen.go b/gkehub/v1/gkehub-gen.go index e2a14c29949..d4baf568f87 100644 --- a/gkehub/v1/gkehub-gen.go +++ b/gkehub/v1/gkehub-gen.go @@ -594,16 +594,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/gkehub/v1alpha/gkehub-api.json b/gkehub/v1alpha/gkehub-api.json index fe925c271da..36aa74a47ec 100644 --- a/gkehub/v1alpha/gkehub-api.json +++ b/gkehub/v1alpha/gkehub-api.json @@ -1151,7 +1151,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -1381,7 +1381,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -3508,13 +3508,13 @@ "INSTALL_SPEC_UNSPECIFIED", "INSTALL_SPEC_NOT_INSTALLED", "INSTALL_SPEC_ENABLED", - "INSTALL_SPEC_DISABLED" + "INSTALL_SPEC_SUSPENDED" ], "enumDescriptions": [ "Spec is unknown.", "Request to uninstall Policy Controller.", "Request to install and enable Policy Controller.", - "Request to disable Policy Controller. If Policy Controller is not installed, it will be installed but disabled." + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended." ], "type": "string" }, @@ -3541,47 +3541,6 @@ }, "type": "object" }, - "PolicyControllerHubState": { - "description": "State of the Policy Controller.", - "id": "PolicyControllerHubState", - "properties": { - "deploymentStates": { - "additionalProperties": { - "enum": [ - "DEPLOYMENT_STATE_UNSPECIFIED", - "DEPLOYMENT_STATE_NOT_INSTALLED", - "DEPLOYMENT_STATE_INSTALLED", - "DEPLOYMENT_STATE_ERROR" - ], - "enumDescriptions": [ - "Deployment's state cannot be determined", - "Deployment is not installed", - "Deployment is installed", - "Deployment was attempted to be installed, but has errors" - ], - "type": "string" - }, - "description": "Map from deployment name to deployment state. Example deployments are gatekeeper-controller-manager, gatekeeper-audit deployment, and gatekeeper-mutation.", - "type": "object" - }, - "version": { - "$ref": "PolicyControllerHubVersion", - "description": "The version of Gatekeeper Policy Controller deployed." - } - }, - "type": "object" - }, - "PolicyControllerHubVersion": { - "description": "The build version of Gatekeeper that Policy Controller is using.", - "id": "PolicyControllerHubVersion", - "properties": { - "version": { - "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", - "type": "string" - } - }, - "type": "object" - }, "PolicyControllerMembershipSpec": { "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", "id": "PolicyControllerMembershipSpec", @@ -3605,16 +3564,15 @@ "description": "The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership's membership_name, unless the user installed PC on the cluster manually prior to enabling the PC hub feature. Unique within a Policy Controller installation.", "type": "string" }, - "membershipSpec": { - "$ref": "PolicyControllerMembershipSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" - }, - "policyControllerHubState": { - "$ref": "PolicyControllerHubState", - "description": "Policy Controller state observed by the Policy Controller Hub" + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\" 4. \"constraint template library\"", + "type": "object" }, "state": { - "description": "The lifecycle state Policy Controller is in.", + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", "enum": [ "LIFECYCLE_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -3664,6 +3622,41 @@ }, "type": "object" }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it’s operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install’).", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off’ to avoid corrupting the PC or other data." + ], + "type": "string" + } + }, + "type": "object" + }, "PolicyControllerTemplateLibraryConfig": { "description": "The config specifying which default library templates to install.", "id": "PolicyControllerTemplateLibraryConfig", diff --git a/gkehub/v1alpha/gkehub-gen.go b/gkehub/v1alpha/gkehub-gen.go index eb3fc71fb44..040de8c4fae 100644 --- a/gkehub/v1alpha/gkehub-gen.go +++ b/gkehub/v1alpha/gkehub-gen.go @@ -714,16 +714,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -4099,9 +4103,9 @@ type PolicyControllerHubConfig struct { // Controller. // "INSTALL_SPEC_ENABLED" - Request to install and enable Policy // Controller. - // "INSTALL_SPEC_DISABLED" - Request to disable Policy Controller. If - // Policy Controller is not installed, it will be installed but - // disabled. + // "INSTALL_SPEC_SUSPENDED" - Request to suspend Policy Controller + // i.e. its webhooks. If Policy Controller is not installed, it will be + // installed but suspended. InstallSpec string `json:"installSpec,omitempty"` // LogDeniesEnabled: Logs all denies and dry run failures. @@ -4148,70 +4152,6 @@ func (s *PolicyControllerHubConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PolicyControllerHubState: State of the Policy Controller. -type PolicyControllerHubState struct { - // DeploymentStates: Map from deployment name to deployment state. - // Example deployments are gatekeeper-controller-manager, - // gatekeeper-audit deployment, and gatekeeper-mutation. - DeploymentStates map[string]string `json:"deploymentStates,omitempty"` - - // Version: The version of Gatekeeper Policy Controller deployed. - Version *PolicyControllerHubVersion `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DeploymentStates") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "DeploymentStates") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *PolicyControllerHubState) MarshalJSON() ([]byte, error) { - type NoMethod PolicyControllerHubState - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// PolicyControllerHubVersion: The build version of Gatekeeper that -// Policy Controller is using. -type PolicyControllerHubVersion struct { - // Version: The gatekeeper image tag that is composed of ACM version, - // git tag, build number. - Version string `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Version") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Version") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *PolicyControllerHubVersion) MarshalJSON() ([]byte, error) { - type NoMethod PolicyControllerHubVersion - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // PolicyControllerMembershipSpec: **Policy Controller**: Configuration // for a single cluster. Intended to parallel the PolicyController CR. type PolicyControllerMembershipSpec struct { @@ -4257,16 +4197,13 @@ type PolicyControllerMembershipState struct { // a Policy Controller installation. ClusterName string `json:"clusterName,omitempty"` - // MembershipSpec: Membership configuration in the cluster. This - // represents the actual state in the cluster, while the MembershipSpec - // in the FeatureSpec represents the intended state - MembershipSpec *PolicyControllerMembershipSpec `json:"membershipSpec,omitempty"` - - // PolicyControllerHubState: Policy Controller state observed by the - // Policy Controller Hub - PolicyControllerHubState *PolicyControllerHubState `json:"policyControllerHubState,omitempty"` + // ComponentStates: Currently these include (also serving as map keys): + // 1. "admission" 2. "audit" 3. "mutation" 4. "constraint template + // library" + ComponentStates map[string]PolicyControllerOnClusterState `json:"componentStates,omitempty"` - // State: The lifecycle state Policy Controller is in. + // State: The overall Policy Controller lifecycle state observed by the + // Hub Feature controller. // // Possible values: // "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified. @@ -4366,6 +4303,74 @@ func (s *PolicyControllerMonitoringConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PolicyControllerOnClusterState: OnClusterState represents the state +// of a sub-component of Policy Controller. +type PolicyControllerOnClusterState struct { + // Details: Surface potential errors or information logs. + Details string `json:"details,omitempty"` + + // State: The lifecycle state of this component. + // + // Possible values: + // "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified. + // "NOT_INSTALLED" - The PC does not exist on the given cluster, and + // no k8s resources of any type that are associated with the PC should + // exist there. The cluster does not possess a membership with the PCH. + // "INSTALLING" - The PCH possesses a Membership, however the PC is + // not fully installed on the cluster. In this state the hub can be + // expected to be taking actions to install the PC on the cluster. + // "ACTIVE" - The PC is fully installed on the cluster and in an + // operational mode. In this state PCH will be reconciling state with + // the PC, and the PC will be performing it’s operational tasks per + // that software. Entering a READY state requires that the hub has + // confirmed the PC is installed and its pods are operational with the + // version of the PC the PCH expects. + // "UPDATING" - The PC is fully installed, but in the process of + // changing the configuration (including changing the version of PC + // either up and down, or modifying the manifests of PC) of the + // resources running on the cluster. The PCH has a Membership, is aware + // of the version the cluster should be running in, but has not + // confirmed for itself that the PC is running with that version. + // "DECOMISSIONING" - The PC may have resources on the cluster, but + // the PCH wishes to remove the Membership. The Membership still exists. + // "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable + // to act to make it operational. Entering a CLUSTER_ERROR state happens + // automatically when the PCH determines that a PC installed on the + // cluster is non-operative or that the cluster does not meet + // requirements set for the PCH to administer the cluster but has + // nevertheless been given an instruction to do so (such as + // ‘install’). + // "HUB_ERROR" - In this state, the PC may still be operational, and + // only the PCH is unable to act. The hub should not issue instructions + // to change the PC state, or otherwise interfere with the on-cluster + // resources. Entering a HUB_ERROR state happens automatically when the + // PCH determines the hub is in an unhealthy state and it wishes to + // ‘take hands off’ to avoid corrupting the PC or other data. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Details") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Details") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PolicyControllerOnClusterState) MarshalJSON() ([]byte, error) { + type NoMethod PolicyControllerOnClusterState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // PolicyControllerTemplateLibraryConfig: The config specifying which // default library templates to install. type PolicyControllerTemplateLibraryConfig struct { diff --git a/gkehub/v1alpha2/gkehub-api.json b/gkehub/v1alpha2/gkehub-api.json index d54aacfe277..e0c1b50361a 100644 --- a/gkehub/v1alpha2/gkehub-api.json +++ b/gkehub/v1alpha2/gkehub-api.json @@ -652,7 +652,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "ApplianceCluster": { @@ -749,7 +749,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/gkehub/v1alpha2/gkehub-gen.go b/gkehub/v1alpha2/gkehub-gen.go index 6cec3dc5b53..15238009267 100644 --- a/gkehub/v1alpha2/gkehub-gen.go +++ b/gkehub/v1alpha2/gkehub-gen.go @@ -413,16 +413,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/gkehub/v1beta/gkehub-api.json b/gkehub/v1beta/gkehub-api.json index 1bb4fe06607..7f35179c830 100644 --- a/gkehub/v1beta/gkehub-api.json +++ b/gkehub/v1beta/gkehub-api.json @@ -670,7 +670,7 @@ } } }, - "revision": "20220706", + "revision": "20220805", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -863,7 +863,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -2392,13 +2392,13 @@ "INSTALL_SPEC_UNSPECIFIED", "INSTALL_SPEC_NOT_INSTALLED", "INSTALL_SPEC_ENABLED", - "INSTALL_SPEC_DISABLED" + "INSTALL_SPEC_SUSPENDED" ], "enumDescriptions": [ "Spec is unknown.", "Request to uninstall Policy Controller.", "Request to install and enable Policy Controller.", - "Request to disable Policy Controller. If Policy Controller is not installed, it will be installed but disabled." + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended." ], "type": "string" }, @@ -2425,47 +2425,6 @@ }, "type": "object" }, - "PolicyControllerHubState": { - "description": "State of the Policy Controller.", - "id": "PolicyControllerHubState", - "properties": { - "deploymentStates": { - "additionalProperties": { - "enum": [ - "DEPLOYMENT_STATE_UNSPECIFIED", - "DEPLOYMENT_STATE_NOT_INSTALLED", - "DEPLOYMENT_STATE_INSTALLED", - "DEPLOYMENT_STATE_ERROR" - ], - "enumDescriptions": [ - "Deployment's state cannot be determined", - "Deployment is not installed", - "Deployment is installed", - "Deployment was attempted to be installed, but has errors" - ], - "type": "string" - }, - "description": "Map from deployment name to deployment state. Example deployments are gatekeeper-controller-manager, gatekeeper-audit deployment, and gatekeeper-mutation.", - "type": "object" - }, - "version": { - "$ref": "PolicyControllerHubVersion", - "description": "The version of Gatekeeper Policy Controller deployed." - } - }, - "type": "object" - }, - "PolicyControllerHubVersion": { - "description": "The build version of Gatekeeper that Policy Controller is using.", - "id": "PolicyControllerHubVersion", - "properties": { - "version": { - "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", - "type": "string" - } - }, - "type": "object" - }, "PolicyControllerMembershipSpec": { "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", "id": "PolicyControllerMembershipSpec", @@ -2489,16 +2448,15 @@ "description": "The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership's membership_name, unless the user installed PC on the cluster manually prior to enabling the PC hub feature. Unique within a Policy Controller installation.", "type": "string" }, - "membershipSpec": { - "$ref": "PolicyControllerMembershipSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" - }, - "policyControllerHubState": { - "$ref": "PolicyControllerHubState", - "description": "Policy Controller state observed by the Policy Controller Hub" + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\" 4. \"constraint template library\"", + "type": "object" }, "state": { - "description": "The lifecycle state Policy Controller is in.", + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", "enum": [ "LIFECYCLE_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -2548,6 +2506,41 @@ }, "type": "object" }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it’s operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install’).", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off’ to avoid corrupting the PC or other data." + ], + "type": "string" + } + }, + "type": "object" + }, "PolicyControllerTemplateLibraryConfig": { "description": "The config specifying which default library templates to install.", "id": "PolicyControllerTemplateLibraryConfig", diff --git a/gkehub/v1beta/gkehub-gen.go b/gkehub/v1beta/gkehub-gen.go index a1c286e9f6e..60c2480fd2b 100644 --- a/gkehub/v1beta/gkehub-gen.go +++ b/gkehub/v1beta/gkehub-gen.go @@ -576,16 +576,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -2991,9 +2995,9 @@ type PolicyControllerHubConfig struct { // Controller. // "INSTALL_SPEC_ENABLED" - Request to install and enable Policy // Controller. - // "INSTALL_SPEC_DISABLED" - Request to disable Policy Controller. If - // Policy Controller is not installed, it will be installed but - // disabled. + // "INSTALL_SPEC_SUSPENDED" - Request to suspend Policy Controller + // i.e. its webhooks. If Policy Controller is not installed, it will be + // installed but suspended. InstallSpec string `json:"installSpec,omitempty"` // LogDeniesEnabled: Logs all denies and dry run failures. @@ -3040,70 +3044,6 @@ func (s *PolicyControllerHubConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// PolicyControllerHubState: State of the Policy Controller. -type PolicyControllerHubState struct { - // DeploymentStates: Map from deployment name to deployment state. - // Example deployments are gatekeeper-controller-manager, - // gatekeeper-audit deployment, and gatekeeper-mutation. - DeploymentStates map[string]string `json:"deploymentStates,omitempty"` - - // Version: The version of Gatekeeper Policy Controller deployed. - Version *PolicyControllerHubVersion `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DeploymentStates") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "DeploymentStates") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *PolicyControllerHubState) MarshalJSON() ([]byte, error) { - type NoMethod PolicyControllerHubState - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// PolicyControllerHubVersion: The build version of Gatekeeper that -// Policy Controller is using. -type PolicyControllerHubVersion struct { - // Version: The gatekeeper image tag that is composed of ACM version, - // git tag, build number. - Version string `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Version") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Version") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *PolicyControllerHubVersion) MarshalJSON() ([]byte, error) { - type NoMethod PolicyControllerHubVersion - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // PolicyControllerMembershipSpec: **Policy Controller**: Configuration // for a single cluster. Intended to parallel the PolicyController CR. type PolicyControllerMembershipSpec struct { @@ -3149,16 +3089,13 @@ type PolicyControllerMembershipState struct { // a Policy Controller installation. ClusterName string `json:"clusterName,omitempty"` - // MembershipSpec: Membership configuration in the cluster. This - // represents the actual state in the cluster, while the MembershipSpec - // in the FeatureSpec represents the intended state - MembershipSpec *PolicyControllerMembershipSpec `json:"membershipSpec,omitempty"` - - // PolicyControllerHubState: Policy Controller state observed by the - // Policy Controller Hub - PolicyControllerHubState *PolicyControllerHubState `json:"policyControllerHubState,omitempty"` + // ComponentStates: Currently these include (also serving as map keys): + // 1. "admission" 2. "audit" 3. "mutation" 4. "constraint template + // library" + ComponentStates map[string]PolicyControllerOnClusterState `json:"componentStates,omitempty"` - // State: The lifecycle state Policy Controller is in. + // State: The overall Policy Controller lifecycle state observed by the + // Hub Feature controller. // // Possible values: // "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified. @@ -3258,6 +3195,74 @@ func (s *PolicyControllerMonitoringConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PolicyControllerOnClusterState: OnClusterState represents the state +// of a sub-component of Policy Controller. +type PolicyControllerOnClusterState struct { + // Details: Surface potential errors or information logs. + Details string `json:"details,omitempty"` + + // State: The lifecycle state of this component. + // + // Possible values: + // "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified. + // "NOT_INSTALLED" - The PC does not exist on the given cluster, and + // no k8s resources of any type that are associated with the PC should + // exist there. The cluster does not possess a membership with the PCH. + // "INSTALLING" - The PCH possesses a Membership, however the PC is + // not fully installed on the cluster. In this state the hub can be + // expected to be taking actions to install the PC on the cluster. + // "ACTIVE" - The PC is fully installed on the cluster and in an + // operational mode. In this state PCH will be reconciling state with + // the PC, and the PC will be performing it’s operational tasks per + // that software. Entering a READY state requires that the hub has + // confirmed the PC is installed and its pods are operational with the + // version of the PC the PCH expects. + // "UPDATING" - The PC is fully installed, but in the process of + // changing the configuration (including changing the version of PC + // either up and down, or modifying the manifests of PC) of the + // resources running on the cluster. The PCH has a Membership, is aware + // of the version the cluster should be running in, but has not + // confirmed for itself that the PC is running with that version. + // "DECOMISSIONING" - The PC may have resources on the cluster, but + // the PCH wishes to remove the Membership. The Membership still exists. + // "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable + // to act to make it operational. Entering a CLUSTER_ERROR state happens + // automatically when the PCH determines that a PC installed on the + // cluster is non-operative or that the cluster does not meet + // requirements set for the PCH to administer the cluster but has + // nevertheless been given an instruction to do so (such as + // ‘install’). + // "HUB_ERROR" - In this state, the PC may still be operational, and + // only the PCH is unable to act. The hub should not issue instructions + // to change the PC state, or otherwise interfere with the on-cluster + // resources. Entering a HUB_ERROR state happens automatically when the + // PCH determines the hub is in an unhealthy state and it wishes to + // ‘take hands off’ to avoid corrupting the PC or other data. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Details") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Details") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PolicyControllerOnClusterState) MarshalJSON() ([]byte, error) { + type NoMethod PolicyControllerOnClusterState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // PolicyControllerTemplateLibraryConfig: The config specifying which // default library templates to install. type PolicyControllerTemplateLibraryConfig struct { diff --git a/gkehub/v1beta1/gkehub-api.json b/gkehub/v1beta1/gkehub-api.json index 83864b4344a..e80eb4f55a9 100644 --- a/gkehub/v1beta1/gkehub-api.json +++ b/gkehub/v1beta1/gkehub-api.json @@ -706,7 +706,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "ApplianceCluster": { @@ -803,7 +803,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/gkehub/v1beta1/gkehub-gen.go b/gkehub/v1beta1/gkehub-gen.go index c3f73e70307..3a506df8759 100644 --- a/gkehub/v1beta1/gkehub-gen.go +++ b/gkehub/v1beta1/gkehub-gen.go @@ -389,16 +389,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/ids/v1/ids-api.json b/ids/v1/ids-api.json index 5b4e306ec71..b562ecb2f80 100644 --- a/ids/v1/ids-api.json +++ b/ids/v1/ids-api.json @@ -535,7 +535,7 @@ } } }, - "revision": "20220511", + "revision": "20220810", "rootUrl": "https://ids.googleapis.com/", "schemas": { "AuditConfig": { @@ -595,7 +595,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/ids/v1/ids-gen.go b/ids/v1/ids-gen.go index 456a5bd8862..a0a809ee133 100644 --- a/ids/v1/ids-gen.go +++ b/ids/v1/ids-gen.go @@ -299,16 +299,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/mybusinessplaceactions/v1/mybusinessplaceactions-api.json b/mybusinessplaceactions/v1/mybusinessplaceactions-api.json index 3564d49d0b0..79a6e61b306 100644 --- a/mybusinessplaceactions/v1/mybusinessplaceactions-api.json +++ b/mybusinessplaceactions/v1/mybusinessplaceactions-api.json @@ -281,15 +281,119 @@ } } }, - "revision": "20220322", + "revision": "20220813", "rootUrl": "https://mybusinessplaceactions.googleapis.com/", "schemas": { + "AvailableDay": { + "description": "Day level availability.", + "id": "AvailableDay", + "properties": { + "fulfillmentDate": { + "$ref": "Date", + "description": "An available date for a fulfillment method. Assumed to be in merchant's timezone." + }, + "lastOrderingTime": { + "description": "Unix timestamp. The last time till when, a user could place an order to be received by `fulfillment_date`. In other words, after last_ordering_time, fulfillment_date will no longer be shown as available.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, + "FeeDetails": { + "description": "Fee details for the fulfillment method associated with the action.", + "id": "FeeDetails", + "properties": { + "baseFee": { + "$ref": "MinimumFee", + "description": "The base fee associated with the fulfillment method." + }, + "fixedFee": { + "$ref": "FixedFee", + "description": "The fixed fee associated with the fulfillment method." + }, + "noFee": { + "$ref": "NoFee", + "description": "No fee for the fulfillment method." + } + }, + "type": "object" + }, + "FixedFee": { + "description": "The fixed fee required for the fulfillment method.", + "id": "FixedFee", + "properties": { + "amount": { + "$ref": "Money", + "description": "The amount of the fixed fee for the fulfillment method." + } + }, + "type": "object" + }, + "FulfillmentOption": { + "description": "The fulfillment option for an order online action.", + "id": "FulfillmentOption", + "properties": { + "availableDay": { + "description": "A list of days on which there is availability for this fulfillment method (preferably at least 2).", + "items": { + "$ref": "AvailableDay" + }, + "type": "array" + }, + "feeDetails": { + "$ref": "FeeDetails", + "description": "Fee details for the fulfillment method." + }, + "fulfillmentType": { + "description": "Fulfillment type", + "enum": [ + "FULFILLMENT_TYPE_UNSPECIFIED", + "FULFILLMENT_TYPE_DELIVERY", + "FULFILLMENT_TYPE_PICKUP" + ], + "enumDescriptions": [ + "The fulfillment type is unspecified.", + "The fulfillment type is delivery.", + "The fulfillment type is pickup." + ], + "type": "string" + }, + "minimumOrder": { + "$ref": "Money", + "description": "Minimum order for the fulfillment method associated with the action." + } + }, + "type": "object" + }, "ListPlaceActionLinksResponse": { "description": "Response message for PlaceActions.ListPlaceActionLinks.", "id": "ListPlaceActionLinksResponse", @@ -326,6 +430,58 @@ }, "type": "object" }, + "MinimumFee": { + "description": "The minimum fee required for the fulfillment method.", + "id": "MinimumFee", + "properties": { + "baseFeeAmount": { + "$ref": "Money", + "description": "The base fee amount for the fulfillment method." + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "Money", + "properties": { + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NoFee": { + "description": "No fee required for the fulfillment method associated with the action.", + "id": "NoFee", + "properties": {}, + "type": "object" + }, + "OrderOnlineMetadata": { + "description": "Client version of the metadata for an order online action.", + "id": "OrderOnlineMetadata", + "properties": { + "fulfillmentOption": { + "description": "Available fulfillment options for an order online action.", + "items": { + "$ref": "FulfillmentOption" + }, + "type": "array" + } + }, + "type": "object" + }, "PlaceActionLink": { "description": "Represents a place action link and its attributes.", "id": "PlaceActionLink", @@ -349,6 +505,10 @@ "description": "Optional. The resource name, in the format `locations/{location_id}/placeActionLinks/{place_action_link_id}`. The name field will only be considered in UpdatePlaceActionLink and DeletePlaceActionLink requests for updating and deleting links respectively. However, it will be ignored in CreatePlaceActionLink request, where `place_action_link_id` will be assigned by the server on successful creation of a new link and returned as part of the response.", "type": "string" }, + "orderOnlineMetadata": { + "$ref": "OrderOnlineMetadata", + "description": "Optional. Metadata for the order online link. Supports action with PlaceActionType of SHOP_ONLINE." + }, "placeActionType": { "description": "Required. The type of place action that can be performed using this link.", "enum": [ @@ -358,7 +518,8 @@ "DINING_RESERVATION", "FOOD_ORDERING", "FOOD_DELIVERY", - "FOOD_TAKEOUT" + "FOOD_TAKEOUT", + "SHOP_ONLINE" ], "enumDescriptions": [ "Not specified.", @@ -367,7 +528,8 @@ "The action type is making a dining reservation.", "The action type is ordering food for delivery and/or takeout.", "The action type is ordering food for delivery.", - "The action type is ordering food for takeout." + "The action type is ordering food for takeout.", + "The action type is shopping, that can be delivery and/or pickup." ], "type": "string" }, @@ -416,7 +578,8 @@ "DINING_RESERVATION", "FOOD_ORDERING", "FOOD_DELIVERY", - "FOOD_TAKEOUT" + "FOOD_TAKEOUT", + "SHOP_ONLINE" ], "enumDescriptions": [ "Not specified.", @@ -425,7 +588,8 @@ "The action type is making a dining reservation.", "The action type is ordering food for delivery and/or takeout.", "The action type is ordering food for delivery.", - "The action type is ordering food for takeout." + "The action type is ordering food for takeout.", + "The action type is shopping, that can be delivery and/or pickup." ], "type": "string" } diff --git a/mybusinessplaceactions/v1/mybusinessplaceactions-gen.go b/mybusinessplaceactions/v1/mybusinessplaceactions-gen.go index b88752ceb0b..4fdccf1a32b 100644 --- a/mybusinessplaceactions/v1/mybusinessplaceactions-gen.go +++ b/mybusinessplaceactions/v1/mybusinessplaceactions-gen.go @@ -158,6 +158,89 @@ type PlaceActionTypeMetadataService struct { s *Service } +// AvailableDay: Day level availability. +type AvailableDay struct { + // FulfillmentDate: An available date for a fulfillment method. Assumed + // to be in merchant's timezone. + FulfillmentDate *Date `json:"fulfillmentDate,omitempty"` + + // LastOrderingTime: Unix timestamp. The last time till when, a user + // could place an order to be received by `fulfillment_date`. In other + // words, after last_ordering_time, fulfillment_date will no longer be + // shown as available. + LastOrderingTime string `json:"lastOrderingTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FulfillmentDate") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FulfillmentDate") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AvailableDay) MarshalJSON() ([]byte, error) { + type NoMethod AvailableDay + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Date: Represents a whole or partial calendar date, such as a +// birthday. The time of day and time zone are either specified +// elsewhere or are insignificant. The date is relative to the Gregorian +// Calendar. This can represent one of the following: * A full date, +// with non-zero year, month, and day values. * A month and day, with a +// zero year (for example, an anniversary). * A year on its own, with a +// zero month and a zero day. * A year and month, with a zero day (for +// example, a credit card expiration date). Related types: * +// google.type.TimeOfDay * google.type.DateTime * +// google.protobuf.Timestamp +type Date struct { + // Day: Day of a month. Must be from 1 to 31 and valid for the year and + // month, or 0 to specify a year by itself or a year and month where the + // day isn't significant. + Day int64 `json:"day,omitempty"` + + // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year + // without a month and day. + Month int64 `json:"month,omitempty"` + + // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a + // date without a year. + 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) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For @@ -169,6 +252,114 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// FeeDetails: Fee details for the fulfillment method associated with +// the action. +type FeeDetails struct { + // BaseFee: The base fee associated with the fulfillment method. + BaseFee *MinimumFee `json:"baseFee,omitempty"` + + // FixedFee: The fixed fee associated with the fulfillment method. + FixedFee *FixedFee `json:"fixedFee,omitempty"` + + // NoFee: No fee for the fulfillment method. + NoFee *NoFee `json:"noFee,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseFee") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseFee") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FeeDetails) MarshalJSON() ([]byte, error) { + type NoMethod FeeDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FixedFee: The fixed fee required for the fulfillment method. +type FixedFee struct { + // Amount: The amount of the fixed fee for the fulfillment method. + Amount *Money `json:"amount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Amount") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Amount") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FixedFee) MarshalJSON() ([]byte, error) { + type NoMethod FixedFee + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FulfillmentOption: The fulfillment option for an order online action. +type FulfillmentOption struct { + // AvailableDay: A list of days on which there is availability for this + // fulfillment method (preferably at least 2). + AvailableDay []*AvailableDay `json:"availableDay,omitempty"` + + // FeeDetails: Fee details for the fulfillment method. + FeeDetails *FeeDetails `json:"feeDetails,omitempty"` + + // FulfillmentType: Fulfillment type + // + // Possible values: + // "FULFILLMENT_TYPE_UNSPECIFIED" - The fulfillment type is + // unspecified. + // "FULFILLMENT_TYPE_DELIVERY" - The fulfillment type is delivery. + // "FULFILLMENT_TYPE_PICKUP" - The fulfillment type is pickup. + FulfillmentType string `json:"fulfillmentType,omitempty"` + + // MinimumOrder: Minimum order for the fulfillment method associated + // with the action. + MinimumOrder *Money `json:"minimumOrder,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AvailableDay") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AvailableDay") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FulfillmentOption) MarshalJSON() ([]byte, error) { + type NoMethod FulfillmentOption + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListPlaceActionLinksResponse: Response message for // PlaceActions.ListPlaceActionLinks. type ListPlaceActionLinksResponse struct { @@ -248,6 +439,110 @@ func (s *ListPlaceActionTypeMetadataResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MinimumFee: The minimum fee required for the fulfillment method. +type MinimumFee struct { + // BaseFeeAmount: The base fee amount for the fulfillment method. + BaseFeeAmount *Money `json:"baseFeeAmount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseFeeAmount") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseFeeAmount") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MinimumFee) MarshalJSON() ([]byte, error) { + type NoMethod MinimumFee + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Money: Represents an amount of money with its currency type. +type Money struct { + // CurrencyCode: The three-letter currency code defined in ISO 4217. + CurrencyCode string `json:"currencyCode,omitempty"` + + // Nanos: Number of nano (10^-9) units of the amount. The value must be + // between -999,999,999 and +999,999,999 inclusive. If `units` is + // positive, `nanos` must be positive or zero. If `units` is zero, + // `nanos` can be positive, zero, or negative. If `units` is negative, + // `nanos` must be negative or zero. For example $-1.75 is represented + // as `units`=-1 and `nanos`=-750,000,000. + Nanos int64 `json:"nanos,omitempty"` + + // Units: The whole units of the amount. For example if `currencyCode` + // is "USD", then 1 unit is one US dollar. + Units int64 `json:"units,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "CurrencyCode") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CurrencyCode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Money) MarshalJSON() ([]byte, error) { + type NoMethod Money + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NoFee: No fee required for the fulfillment method associated with the +// action. +type NoFee struct { +} + +// OrderOnlineMetadata: Client version of the metadata for an order +// online action. +type OrderOnlineMetadata struct { + // FulfillmentOption: Available fulfillment options for an order online + // action. + FulfillmentOption []*FulfillmentOption `json:"fulfillmentOption,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FulfillmentOption") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FulfillmentOption") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *OrderOnlineMetadata) MarshalJSON() ([]byte, error) { + type NoMethod OrderOnlineMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // PlaceActionLink: Represents a place action link and its attributes. type PlaceActionLink struct { // CreateTime: Output only. The time when the place action link was @@ -275,6 +570,10 @@ type PlaceActionLink struct { // response. Name string `json:"name,omitempty"` + // OrderOnlineMetadata: Optional. Metadata for the order online link. + // Supports action with PlaceActionType of SHOP_ONLINE. + OrderOnlineMetadata *OrderOnlineMetadata `json:"orderOnlineMetadata,omitempty"` + // PlaceActionType: Required. The type of place action that can be // performed using this link. // @@ -289,6 +588,8 @@ type PlaceActionLink struct { // and/or takeout. // "FOOD_DELIVERY" - The action type is ordering food for delivery. // "FOOD_TAKEOUT" - The action type is ordering food for takeout. + // "SHOP_ONLINE" - The action type is shopping, that can be delivery + // and/or pickup. PlaceActionType string `json:"placeActionType,omitempty"` // ProviderType: Output only. Specifies the provider type. @@ -357,6 +658,8 @@ type PlaceActionTypeMetadata struct { // and/or takeout. // "FOOD_DELIVERY" - The action type is ordering food for delivery. // "FOOD_TAKEOUT" - The action type is ordering food for takeout. + // "SHOP_ONLINE" - The action type is shopping, that can be delivery + // and/or pickup. PlaceActionType string `json:"placeActionType,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to diff --git a/networkconnectivity/v1/networkconnectivity-api.json b/networkconnectivity/v1/networkconnectivity-api.json index 274e24d2fc3..7b9150b4d9e 100644 --- a/networkconnectivity/v1/networkconnectivity-api.json +++ b/networkconnectivity/v1/networkconnectivity-api.json @@ -938,7 +938,7 @@ } } }, - "revision": "20220715", + "revision": "20220809", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { @@ -998,7 +998,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/networkconnectivity/v1/networkconnectivity-gen.go b/networkconnectivity/v1/networkconnectivity-gen.go index 1f33785642f..119dda589cc 100644 --- a/networkconnectivity/v1/networkconnectivity-gen.go +++ b/networkconnectivity/v1/networkconnectivity-gen.go @@ -335,16 +335,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/networkconnectivity/v1alpha1/networkconnectivity-api.json b/networkconnectivity/v1alpha1/networkconnectivity-api.json index abf7481d6b5..3d95d8d6763 100644 --- a/networkconnectivity/v1alpha1/networkconnectivity-api.json +++ b/networkconnectivity/v1alpha1/networkconnectivity-api.json @@ -1211,7 +1211,7 @@ } } }, - "revision": "20220715", + "revision": "20220809", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { @@ -1271,7 +1271,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/networkconnectivity/v1alpha1/networkconnectivity-gen.go b/networkconnectivity/v1alpha1/networkconnectivity-gen.go index 43ffaf82dc7..a9ab60f87b9 100644 --- a/networkconnectivity/v1alpha1/networkconnectivity-gen.go +++ b/networkconnectivity/v1alpha1/networkconnectivity-gen.go @@ -371,16 +371,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/networksecurity/v1/networksecurity-api.json b/networksecurity/v1/networksecurity-api.json index b2b3c83b48a..7b3f191ac12 100644 --- a/networksecurity/v1/networksecurity-api.json +++ b/networksecurity/v1/networksecurity-api.json @@ -1037,7 +1037,7 @@ } } }, - "revision": "20220707", + "revision": "20220808", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AuthorizationPolicy": { @@ -1306,7 +1306,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1648,7 +1648,7 @@ "type": "object" }, "ServerTlsPolicy": { - "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target https proxy or endpoint config selector resource.", + "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource.", "id": "ServerTlsPolicy", "properties": { "allowOpen": { diff --git a/networksecurity/v1/networksecurity-gen.go b/networksecurity/v1/networksecurity-gen.go index 6621e9d3705..93876c98910 100644 --- a/networksecurity/v1/networksecurity-gen.go +++ b/networksecurity/v1/networksecurity-gen.go @@ -684,16 +684,20 @@ type GoogleIamV1Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -1418,7 +1422,7 @@ func (s *Rule) MarshalJSON() ([]byte, error) { // ServerTlsPolicy: ServerTlsPolicy is a resource that specifies how a // server should authenticate incoming requests. This resource itself -// does not affect configuration unless it is attached to a target https +// does not affect configuration unless it is attached to a target HTTPS // proxy or endpoint config selector resource. type ServerTlsPolicy struct { // AllowOpen: Determines if server allows plaintext connections. If set diff --git a/networksecurity/v1beta1/networksecurity-api.json b/networksecurity/v1beta1/networksecurity-api.json index 4de80784553..61d5b68e75b 100644 --- a/networksecurity/v1beta1/networksecurity-api.json +++ b/networksecurity/v1beta1/networksecurity-api.json @@ -1037,7 +1037,7 @@ } } }, - "revision": "20220707", + "revision": "20220808", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AuthorizationPolicy": { @@ -1306,7 +1306,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1648,7 +1648,7 @@ "type": "object" }, "ServerTlsPolicy": { - "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target https proxy or endpoint config selector resource.", + "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource.", "id": "ServerTlsPolicy", "properties": { "allowOpen": { diff --git a/networksecurity/v1beta1/networksecurity-gen.go b/networksecurity/v1beta1/networksecurity-gen.go index 18b0bf04ed2..4306cfe865e 100644 --- a/networksecurity/v1beta1/networksecurity-gen.go +++ b/networksecurity/v1beta1/networksecurity-gen.go @@ -684,16 +684,20 @@ type GoogleIamV1Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, @@ -1418,7 +1422,7 @@ func (s *Rule) MarshalJSON() ([]byte, error) { // ServerTlsPolicy: ServerTlsPolicy is a resource that specifies how a // server should authenticate incoming requests. This resource itself -// does not affect configuration unless it is attached to a target https +// does not affect configuration unless it is attached to a target HTTPS // proxy or endpoint config selector resource. type ServerTlsPolicy struct { // AllowOpen: Determines if server allows plaintext connections. If set diff --git a/pubsub/v1/pubsub-api.json b/pubsub/v1/pubsub-api.json index e875809a70e..06b1b9fa204 100644 --- a/pubsub/v1/pubsub-api.json +++ b/pubsub/v1/pubsub-api.json @@ -1424,7 +1424,7 @@ } } }, - "revision": "20220729", + "revision": "20220808", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1492,7 +1492,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go index 8bb9a5edc85..d96b9ea08c8 100644 --- a/pubsub/v1/pubsub-gen.go +++ b/pubsub/v1/pubsub-gen.go @@ -341,16 +341,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/pubsub/v1beta2/pubsub-api.json b/pubsub/v1beta2/pubsub-api.json index d0d48179205..8e8877fa74c 100644 --- a/pubsub/v1beta2/pubsub-api.json +++ b/pubsub/v1beta2/pubsub-api.json @@ -724,7 +724,7 @@ } } }, - "revision": "20220502", + "revision": "20220808", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -750,7 +750,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/pubsub/v1beta2/pubsub-gen.go b/pubsub/v1beta2/pubsub-gen.go index 8b27475d8fb..b4fd4c08828 100644 --- a/pubsub/v1beta2/pubsub-gen.go +++ b/pubsub/v1beta2/pubsub-gen.go @@ -242,16 +242,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index f7dacc0450d..bfc3b484a08 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -505,7 +505,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -533,7 +533,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -758,7 +758,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -786,7 +786,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -814,7 +814,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -1111,7 +1111,7 @@ ] }, "import": { - "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.import", @@ -2005,11 +2005,11 @@ "type": "object" }, "GoogleCloudRetailV2GcsSource": { - "description": "Google Cloud Storage location for input content. format.", + "description": "Google Cloud Storage location for input content.", "id": "GoogleCloudRetailV2GcsSource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line. Supported values for catalog attribute imports: * 'catalog_attribute' (default): One CSV CatalogAttribute per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * `control` (default): One JSON Control per line. Supported values for catalog attribute imports: * `catalog_attribute` (default): One CSV CatalogAttribute per line.", "type": "string" }, "inputUris": { @@ -2072,7 +2072,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" } }, @@ -2097,14 +2097,14 @@ "id": "GoogleCloudRetailV2ImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2ImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2ImportMetadata", "properties": { "createTime": { @@ -2118,7 +2118,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -2151,7 +2151,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -2173,7 +2173,7 @@ "type": "string" }, "updateMask": { - "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", + "description": "Indicates which fields in the provided imported `products` to update. If not set, all fields are updated.", "format": "google-fieldmask", "type": "string" } @@ -3826,14 +3826,14 @@ "id": "GoogleCloudRetailV2alphaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2alphaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2alphaImportMetadata", "properties": { "createTime": { @@ -3847,7 +3847,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -3912,7 +3912,7 @@ "type": "object" }, "GoogleCloudRetailV2alphaModel": { - "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api.", + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", "id": "GoogleCloudRetailV2alphaModel", "properties": { "createTime": { @@ -3922,14 +3922,14 @@ "type": "string" }, "dataState": { - "description": "Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", "enum": [ "DATA_STATE_UNSPECIFIED", "DATA_OK", "DATA_ERROR" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", + "Unspecified default value, should never be explicitly set.", "The model has sufficient training data.", "The model does not have sufficient training data. Error messages can be queried via Stackdriver." ], @@ -3937,11 +3937,11 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { - "description": "Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model.", + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", "enum": [ "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", "RECOMMENDATIONS_FILTERING_DISABLED", @@ -3961,7 +3961,7 @@ "type": "string" }, "name": { - "description": "Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", "type": "string" }, "optimizationObjective": { @@ -3973,7 +3973,7 @@ "description": "Optional. The page optimization config." }, "periodicTuningState": { - "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED.", + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", "enum": [ "PERIODIC_TUNING_STATE_UNSPECIFIED", "PERIODIC_TUNING_DISABLED", @@ -3981,10 +3981,10 @@ "PERIODIC_TUNING_ENABLED" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", - "The model has periodic tuning disabled. Tuning can be reenabled by calling the EnableModelPeriodicTuning method or by calling the TuneModel method.", - "The model cannot be tuned with periodic tuning OR the TuneModel method. Hide the options in customer UI and reject any requests through the backend self serve API.", - "The model has periodic tuning enabled. Tuning can be disabled by calling the DisableModelPeriodicTuning method." + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." ], "type": "string" }, @@ -3997,7 +3997,7 @@ "type": "array" }, "servingState": { - "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", "enum": [ "SERVING_STATE_UNSPECIFIED", "INACTIVE", @@ -4008,13 +4008,13 @@ "Unspecified serving state.", "The model is not serving.", "The model is serving and can be queried.", - "The model is trained on tuned hyperparameters, and can be queried." + "The model is trained on tuned hyperparameters and can be queried." ], "readOnly": true, "type": "string" }, "trainingState": { - "description": "Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before.", + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", "enum": [ "TRAINING_STATE_UNSPECIFIED", "PAUSED", @@ -4033,7 +4033,7 @@ "type": "string" }, "type": { - "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, 'similar-items', 'buy-it-again', `recently-viewed`(readonly value).", + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, and `recently-viewed`(readonly value).", "type": "string" }, "updateTime": { @@ -4072,9 +4072,9 @@ "enumDescriptions": [ "Unspecified value for restriction.", "Allow any ServingConfig to be show on any number of panels. Example: `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity `Panel2 candidates`: home_page_ctr_no_diversity, home_page_ctr_diversity, pdp_cvr_no_diversity `Restriction` = NO_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: []", - "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" + "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" ], "type": "string" } @@ -4086,7 +4086,7 @@ "id": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", "properties": { "servingConfigId": { - "description": "This has to be a valid ServingConfig identifier. e.g. for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config` this would be 'my_candidate_config'", + "description": "This has to be a valid ServingConfig identifier. For example, for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`, this would be `my_candidate_config`.", "type": "string" } }, @@ -4105,7 +4105,7 @@ }, "defaultCandidate": { "$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", - "description": "Required. The default candidate (in case the model fails at serving time, we can fall back to the default)." + "description": "Required. The default candidate. If the model fails at serving time, we fall back to the default." }, "displayName": { "description": "Optional. The name to display for the panel.", @@ -4115,11 +4115,11 @@ "type": "object" }, "GoogleCloudRetailV2alphaModelServingConfigList": { - "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", "id": "GoogleCloudRetailV2alphaModelServingConfigList", "properties": { "servingConfigIds": { - "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", "items": { "type": "string" }, @@ -4441,14 +4441,14 @@ "id": "GoogleCloudRetailV2betaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2betaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2betaImportMetadata", "properties": { "createTime": { @@ -4462,7 +4462,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index 3b5acadf44d..4694093ef57 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -1515,7 +1515,7 @@ func (s *GoogleCloudRetailV2FulfillmentInfo) MarshalJSON() ([]byte, error) { } // GoogleCloudRetailV2GcsSource: Google Cloud Storage location for input -// content. format. +// content. type GoogleCloudRetailV2GcsSource struct { // DataSchema: The schema to use when parsing the data from the source. // Supported values for product imports: * `product` (default): One JSON @@ -1526,9 +1526,9 @@ type GoogleCloudRetailV2GcsSource struct { // Supported values for user events imports: * `user_event` (default): // One JSON UserEvent per line. * `user_event_ga360`: Using // https://support.google.com/analytics/answer/3437719. Supported values - // for control imports: * 'control' (default): One JSON Control per + // for control imports: * `control` (default): One JSON Control per // line. Supported values for catalog attribute imports: * - // 'catalog_attribute' (default): One CSV CatalogAttribute per line. + // `catalog_attribute` (default): One CSV CatalogAttribute per line. DataSchema string `json:"dataSchema,omitempty"` // InputUris: Required. Google Cloud Storage URIs to input files. URI @@ -1655,9 +1655,9 @@ type GoogleCloudRetailV2ImportCompletionDataRequest struct { InputConfig *GoogleCloudRetailV2CompletionDataInputConfig `json:"inputConfig,omitempty"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -1721,7 +1721,7 @@ func (s *GoogleCloudRetailV2ImportCompletionDataResponse) MarshalJSON() ([]byte, // for Import related errors. type GoogleCloudRetailV2ImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -1750,7 +1750,7 @@ func (s *GoogleCloudRetailV2ImportErrorsConfig) MarshalJSON() ([]byte, error) { } // GoogleCloudRetailV2ImportMetadata: Metadata related to the progress -// of the Import operation. This will be returned by the +// of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2ImportMetadata struct { // CreateTime: Operation create time. @@ -1761,9 +1761,9 @@ type GoogleCloudRetailV2ImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -1812,9 +1812,9 @@ type GoogleCloudRetailV2ImportProductsRequest struct { // NotificationPubsubTopic: Full Pub/Sub topic name for receiving // notification. If this field is set, when the import is finished, a - // notification will be sent to specified Pub/Sub topic. The message - // data will be JSON string of a Operation. Format of the Pub/Sub topic - // is `projects/{project}/topics/{topic}`. It has to be within the same + // notification is sent to specified Pub/Sub topic. The message data is + // JSON string of a Operation. Format of the Pub/Sub topic is + // `projects/{project}/topics/{topic}`. It has to be within the same // project as ImportProductsRequest.parent. Make sure that // `service-@gcp-sa-retail.iam.gserviceaccount.com` has the // `pubsub.topics.publish` IAM permission on the topic. @@ -1836,7 +1836,7 @@ type GoogleCloudRetailV2ImportProductsRequest struct { RequestId string `json:"requestId,omitempty"` // UpdateMask: Indicates which fields in the provided imported - // 'products' to update. If not set, will by default update all fields. + // `products` to update. If not set, all fields are updated. UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "ErrorsConfig") to @@ -5196,7 +5196,7 @@ func (s *GoogleCloudRetailV2alphaImportCompletionDataResponse) MarshalJSON() ([] // destination for Import related errors. type GoogleCloudRetailV2alphaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -5225,7 +5225,7 @@ func (s *GoogleCloudRetailV2alphaImportErrorsConfig) MarshalJSON() ([]byte, erro } // GoogleCloudRetailV2alphaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2alphaImportMetadata struct { // CreateTime: Operation create time. @@ -5236,9 +5236,9 @@ type GoogleCloudRetailV2alphaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -5358,21 +5358,21 @@ func (s *GoogleCloudRetailV2alphaImportUserEventsResponse) MarshalJSON() ([]byte // GoogleCloudRetailV2alphaModel: Metadata that describes the training // and serving parameters of a Model. A Model can be associated with a -// ServingConfig and then queried through the Predict api. +// ServingConfig and then queried through the Predict API. type GoogleCloudRetailV2alphaModel struct { // CreateTime: Output only. Timestamp the Recommendation Model was // created at. CreateTime string `json:"createTime,omitempty"` // DataState: Output only. The state of data requirements for this - // model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained - // if the data is in DATA_ERROR state. Recommendation model can have - // DATA_ERROR state even if serving state is ACTIVE: models were trained - // successfully before, but cannot be refreshed because model no longer - // has sufficient data for training. + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. // // Possible values: - // "DATA_STATE_UNSPECIFIED" - Unspecified default value - should never + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never // be explicitly set. // "DATA_OK" - The model has sufficient training data. // "DATA_ERROR" - The model does not have sufficient training data. @@ -5381,10 +5381,11 @@ type GoogleCloudRetailV2alphaModel struct { // DisplayName: Required. The display name of the model. Should be human // readable, used to display Recommendation Models in the Retail Cloud - // Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. DisplayName string `json:"displayName,omitempty"` - // FilteringOption: Optional. If RECOMMENDATIONS_FILTERING_ENABLED, + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, // recommendation filtering by attributes is enabled for the model. // // Possible values: @@ -5403,8 +5404,8 @@ type GoogleCloudRetailV2alphaModel struct { // Name: Required. The fully qualified resource name of the model. // Format: - // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id - // }/models/{model_id} catalog_id has char limit of 50. + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. // recommendation_model_id has char limit of 40. Name string `json:"name,omitempty"` @@ -5421,19 +5422,20 @@ type GoogleCloudRetailV2alphaModel struct { // PeriodicTuningState: Optional. The state of periodic tuning. The // period we use is 3 months - to do a one-off tune earlier use the - // TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. // // Possible values: - // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value - + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, // should never be explicitly set. // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning // disabled. Tuning can be reenabled by calling the - // EnableModelPeriodicTuning method or by calling the TuneModel method. + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic - // tuning OR the TuneModel method. Hide the options in customer UI and + // tuning OR the `TuneModel` method. Hide the options in customer UI and // reject any requests through the backend self serve API. // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. - // Tuning can be disabled by calling the DisableModelPeriodicTuning + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` // method. PeriodicTuningState string `json:"periodicTuningState,omitempty"` @@ -5441,23 +5443,24 @@ type GoogleCloudRetailV2alphaModel struct { // associated with the PageOptimizationConfig. ServingConfigLists []*GoogleCloudRetailV2alphaModelServingConfigList `json:"servingConfigLists,omitempty"` - // ServingState: Output only. The serving state of the model: ACTIVE, - // NOT_ACTIVE. + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. // // Possible values: // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. // "INACTIVE" - The model is not serving. // "ACTIVE" - The model is serving and can be queried. - // "TUNED" - The model is trained on tuned hyperparameters, and can be + // "TUNED" - The model is trained on tuned hyperparameters and can be // queried. ServingState string `json:"servingState,omitempty"` // TrainingState: Optional. The training state that the model is in - // (e.g. TRAINING or PAUSED). Since part of the cost of running the + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the // service is frequency of training - this can be used to determine when // to train model in order to control cost. If not specified: the - // default value for CreateModel method is TRAINING. the default value - // for UpdateModel method is to keep the state the same as before. + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. // // Possible values: // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. @@ -5472,8 +5475,8 @@ type GoogleCloudRetailV2alphaModel struct { // Type: Required. The type of model e.g. `home-page`. Currently // supported values: `recommended-for-you`, `others-you-may-like`, - // `frequently-bought-together`, `page-optimization`, 'similar-items', - // 'buy-it-again', `recently-viewed`(readonly value). + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, and `recently-viewed`(readonly value). Type string `json:"type,omitempty"` // UpdateTime: Output only. Timestamp the Recommendation Model was last @@ -5550,21 +5553,21 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 // candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, - // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) - // * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * - // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, - // home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * - // (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * - // (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid - // combinations`: * * (home_page_ctr_no_diversity, - // home_page_ctr_no_diversity) * + // `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * + // (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, + // home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * + // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, + // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) + // * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, + // home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, + // pdp_cvr_no_diversity) * `Invalid combinations`: * * + // (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * // "UNIQUE_MODEL_RESTRICTION" - Do not allow multiple ServingConfigs // with same Model.name to be show on on different panels. Example: // `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * // `Panel2 candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, + // `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, @@ -5577,7 +5580,7 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, // home_page_ctr_no_diversity * `Panel2 candidates`: * // home_page_ctr_no_diversity, home_page_ctr_diversity_low, - // pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION + // pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` // `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * // (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) @@ -5617,10 +5620,10 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfig) MarshalJSON() ([]b // candidate to consider for a given panel. Currently only ServingConfig // are valid candidates. type GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate struct { - // ServingConfigId: This has to be a valid ServingConfig identifier. - // e.g. for a ServingConfig with full name: + // ServingConfigId: This has to be a valid ServingConfig identifier. For + // example, for a ServingConfig with full name: // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/m - // y_candidate_config` this would be 'my_candidate_config' + // y_candidate_config`, this would be `my_candidate_config`. ServingConfigId string `json:"servingConfigId,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigId") to @@ -5654,8 +5657,8 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel struct { // = 10. Candidates []*GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"candidates,omitempty"` - // DefaultCandidate: Required. The default candidate (in case the model - // fails at serving time, we can fall back to the default). + // DefaultCandidate: Required. The default candidate. If the model fails + // at serving time, we fall back to the default. DefaultCandidate *GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"defaultCandidate,omitempty"` // DisplayName: Optional. The name to display for the panel. @@ -5685,11 +5688,11 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel) MarshalJSON() } // GoogleCloudRetailV2alphaModelServingConfigList: Represents an ordered -// combination of valid serving configs, which / may be used for -// PAGE_OPTIMIZATION recommendations. +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. type GoogleCloudRetailV2alphaModelServingConfigList struct { // ServingConfigIds: Optional. A set of valid serving configs that may - // be used for PAGE_OPTIMIZATION. + // be used for `PAGE_OPTIMIZATION`. ServingConfigIds []string `json:"servingConfigIds,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigIds") to @@ -6292,7 +6295,7 @@ func (s *GoogleCloudRetailV2betaImportCompletionDataResponse) MarshalJSON() ([]b // destination for Import related errors. type GoogleCloudRetailV2betaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -6321,7 +6324,7 @@ func (s *GoogleCloudRetailV2betaImportErrorsConfig) MarshalJSON() ([]byte, error } // GoogleCloudRetailV2betaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2betaImportMetadata struct { // CreateTime: Operation create time. @@ -6332,9 +6335,9 @@ type GoogleCloudRetailV2betaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -8843,9 +8846,12 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // processed downstream. As a consequence, when a response is returned, // the added place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -8950,7 +8956,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -9001,9 +9007,13 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // ProductService.GetProduct or ProductService.ListProducts. Local // inventory information can only be modified using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -9108,7 +9118,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -10180,9 +10190,12 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // processed downstream. As a consequence, when a response is returned, // the removed place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10287,7 +10300,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -10336,9 +10349,13 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // queried by ProductService.GetProduct or ProductService.ListProducts. // Local inventory information can only be removed using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10443,7 +10460,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -10504,9 +10521,13 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // information will be preserved. Pre-existing inventory information can // only be updated with ProductService.SetInventory, // ProductService.AddFulfillmentPlaces, and -// ProductService.RemoveFulfillmentPlaces. This feature is only -// available for users who have Retail Search enabled. Please enable -// Retail Search on Cloud Console before using this feature. +// ProductService.RemoveFulfillmentPlaces. The returned Operations will +// be obsolete after 1 day, and GetOperation API will return NOT_FOUND +// afterwards. If conflicting updates are issued, the Operations +// associated with the stale updates will not be marked as done until +// being obsolete. This feature is only available for users who have +// Retail Search enabled. Please enable Retail Search on Cloud Console +// before using this feature. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10609,7 +10630,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -12011,10 +12032,10 @@ type ProjectsLocationsCatalogsUserEventsImportCall struct { // Import: Bulk import of User events. Request processing might be // synchronous. Events that already exist are skipped. Use this method -// for backfilling historical user events. Operation.response is of type -// ImportResponse. Note that it is possible for a subset of the items to -// be successfully inserted. Operation.metadata is of type -// ImportMetadata. +// for backfilling historical user events. `Operation.response` is of +// type `ImportResponse`. Note that it is possible for a subset of the +// items to be successfully inserted. `Operation.metadata` is of type +// `ImportMetadata`. // // - parent: `projects/1234/locations/global/catalogs/default_catalog`. func (r *ProjectsLocationsCatalogsUserEventsService) Import(parent string, googlecloudretailv2importusereventsrequest *GoogleCloudRetailV2ImportUserEventsRequest) *ProjectsLocationsCatalogsUserEventsImportCall { @@ -12115,7 +12136,7 @@ func (c *ProjectsLocationsCatalogsUserEventsImportCall) Do(opts ...googleapi.Cal } return ret, nil // { - // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.userEvents.import", diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index e62736a783d..9c90b683b2c 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -561,7 +561,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -589,7 +589,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -847,7 +847,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -875,7 +875,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -903,7 +903,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -1140,7 +1140,7 @@ ], "parameters": { "dryRun": { - "description": "Optional. Whether to run a dry_run to validate the request (without actually creating the model).", + "description": "Optional. Whether to run a dry run to validate the request (without actually creating the model).", "location": "query", "type": "boolean" }, @@ -1173,7 +1173,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the [Model] to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}", + "description": "Required. The resource name of the Model to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", "required": true, @@ -1225,7 +1225,7 @@ ] }, "patch": { - "description": "Update of model metadata. Only fields that currently can be updated are: filtering_option, periodic_tuning_state. If other values are provided, this API method will ignore them.", + "description": "Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", "httpMethod": "PATCH", "id": "retail.projects.locations.catalogs.models.patch", @@ -1234,14 +1234,14 @@ ], "parameters": { "name": { - "description": "Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, will by default update all fields.", + "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1787,7 +1787,7 @@ ] }, "import": { - "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.import", @@ -2243,14 +2243,14 @@ "id": "GoogleCloudRetailV2ImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2ImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2ImportMetadata", "properties": { "createTime": { @@ -2264,7 +2264,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -3171,11 +3171,11 @@ "type": "object" }, "GoogleCloudRetailV2alphaGcsSource": { - "description": "Google Cloud Storage location for input content. format.", + "description": "Google Cloud Storage location for input content.", "id": "GoogleCloudRetailV2alphaGcsSource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line. Supported values for catalog attribute imports: * 'catalog_attribute' (default): One CSV CatalogAttribute per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * `control` (default): One JSON Control per line. Supported values for catalog attribute imports: * `catalog_attribute` (default): One CSV CatalogAttribute per line.", "type": "string" }, "inputUris": { @@ -3238,7 +3238,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" } }, @@ -3263,14 +3263,14 @@ "id": "GoogleCloudRetailV2alphaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2alphaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2alphaImportMetadata", "properties": { "createTime": { @@ -3284,7 +3284,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -3321,7 +3321,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -3343,11 +3343,11 @@ "type": "string" }, "skipDefaultBranchProtection": { - "description": "If true, will perform the FULL import even if it would delete a large proportion of the products in the default branch, which could potentially cause outages if you have live predict/search traffic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "description": "If true, this performs the FULL import even if it would delete a large proportion of the products in the default branch, which could potentially cause outages if you have live predict/search traffic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", "type": "boolean" }, "updateMask": { - "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", + "description": "Indicates which fields in the provided imported `products` to update. If not set, all fields are updated.", "format": "google-fieldmask", "type": "string" } @@ -3606,7 +3606,7 @@ "type": "object" }, "GoogleCloudRetailV2alphaModel": { - "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api.", + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", "id": "GoogleCloudRetailV2alphaModel", "properties": { "createTime": { @@ -3616,14 +3616,14 @@ "type": "string" }, "dataState": { - "description": "Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", "enum": [ "DATA_STATE_UNSPECIFIED", "DATA_OK", "DATA_ERROR" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", + "Unspecified default value, should never be explicitly set.", "The model has sufficient training data.", "The model does not have sufficient training data. Error messages can be queried via Stackdriver." ], @@ -3631,11 +3631,11 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { - "description": "Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model.", + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", "enum": [ "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", "RECOMMENDATIONS_FILTERING_DISABLED", @@ -3655,7 +3655,7 @@ "type": "string" }, "name": { - "description": "Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", "type": "string" }, "optimizationObjective": { @@ -3667,7 +3667,7 @@ "description": "Optional. The page optimization config." }, "periodicTuningState": { - "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED.", + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", "enum": [ "PERIODIC_TUNING_STATE_UNSPECIFIED", "PERIODIC_TUNING_DISABLED", @@ -3675,10 +3675,10 @@ "PERIODIC_TUNING_ENABLED" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", - "The model has periodic tuning disabled. Tuning can be reenabled by calling the EnableModelPeriodicTuning method or by calling the TuneModel method.", - "The model cannot be tuned with periodic tuning OR the TuneModel method. Hide the options in customer UI and reject any requests through the backend self serve API.", - "The model has periodic tuning enabled. Tuning can be disabled by calling the DisableModelPeriodicTuning method." + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." ], "type": "string" }, @@ -3691,7 +3691,7 @@ "type": "array" }, "servingState": { - "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", "enum": [ "SERVING_STATE_UNSPECIFIED", "INACTIVE", @@ -3702,13 +3702,13 @@ "Unspecified serving state.", "The model is not serving.", "The model is serving and can be queried.", - "The model is trained on tuned hyperparameters, and can be queried." + "The model is trained on tuned hyperparameters and can be queried." ], "readOnly": true, "type": "string" }, "trainingState": { - "description": "Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before.", + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", "enum": [ "TRAINING_STATE_UNSPECIFIED", "PAUSED", @@ -3727,7 +3727,7 @@ "type": "string" }, "type": { - "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, 'similar-items', 'buy-it-again', `recently-viewed`(readonly value).", + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, and `recently-viewed`(readonly value).", "type": "string" }, "updateTime": { @@ -3766,9 +3766,9 @@ "enumDescriptions": [ "Unspecified value for restriction.", "Allow any ServingConfig to be show on any number of panels. Example: `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity `Panel2 candidates`: home_page_ctr_no_diversity, home_page_ctr_diversity, pdp_cvr_no_diversity `Restriction` = NO_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: []", - "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" + "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" ], "type": "string" } @@ -3780,7 +3780,7 @@ "id": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", "properties": { "servingConfigId": { - "description": "This has to be a valid ServingConfig identifier. e.g. for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config` this would be 'my_candidate_config'", + "description": "This has to be a valid ServingConfig identifier. For example, for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`, this would be `my_candidate_config`.", "type": "string" } }, @@ -3799,7 +3799,7 @@ }, "defaultCandidate": { "$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", - "description": "Required. The default candidate (in case the model fails at serving time, we can fall back to the default)." + "description": "Required. The default candidate. If the model fails at serving time, we fall back to the default." }, "displayName": { "description": "Optional. The name to display for the panel.", @@ -3809,11 +3809,11 @@ "type": "object" }, "GoogleCloudRetailV2alphaModelServingConfigList": { - "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", "id": "GoogleCloudRetailV2alphaModelServingConfigList", "properties": { "servingConfigIds": { - "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", "items": { "type": "string" }, @@ -5784,14 +5784,14 @@ "id": "GoogleCloudRetailV2betaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2betaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2betaImportMetadata", "properties": { "createTime": { @@ -5805,7 +5805,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index 6a790d1682a..7bf91d811a9 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -683,7 +683,7 @@ func (s *GoogleCloudRetailV2ImportCompletionDataResponse) MarshalJSON() ([]byte, // for Import related errors. type GoogleCloudRetailV2ImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -712,7 +712,7 @@ func (s *GoogleCloudRetailV2ImportErrorsConfig) MarshalJSON() ([]byte, error) { } // GoogleCloudRetailV2ImportMetadata: Metadata related to the progress -// of the Import operation. This will be returned by the +// of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2ImportMetadata struct { // CreateTime: Operation create time. @@ -723,9 +723,9 @@ type GoogleCloudRetailV2ImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -2448,7 +2448,7 @@ func (s *GoogleCloudRetailV2alphaFulfillmentInfo) MarshalJSON() ([]byte, error) } // GoogleCloudRetailV2alphaGcsSource: Google Cloud Storage location for -// input content. format. +// input content. type GoogleCloudRetailV2alphaGcsSource struct { // DataSchema: The schema to use when parsing the data from the source. // Supported values for product imports: * `product` (default): One JSON @@ -2459,9 +2459,9 @@ type GoogleCloudRetailV2alphaGcsSource struct { // Supported values for user events imports: * `user_event` (default): // One JSON UserEvent per line. * `user_event_ga360`: Using // https://support.google.com/analytics/answer/3437719. Supported values - // for control imports: * 'control' (default): One JSON Control per + // for control imports: * `control` (default): One JSON Control per // line. Supported values for catalog attribute imports: * - // 'catalog_attribute' (default): One CSV CatalogAttribute per line. + // `catalog_attribute` (default): One CSV CatalogAttribute per line. DataSchema string `json:"dataSchema,omitempty"` // InputUris: Required. Google Cloud Storage URIs to input files. URI @@ -2588,9 +2588,9 @@ type GoogleCloudRetailV2alphaImportCompletionDataRequest struct { InputConfig *GoogleCloudRetailV2alphaCompletionDataInputConfig `json:"inputConfig,omitempty"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -2654,7 +2654,7 @@ func (s *GoogleCloudRetailV2alphaImportCompletionDataResponse) MarshalJSON() ([] // destination for Import related errors. type GoogleCloudRetailV2alphaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -2683,7 +2683,7 @@ func (s *GoogleCloudRetailV2alphaImportErrorsConfig) MarshalJSON() ([]byte, erro } // GoogleCloudRetailV2alphaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2alphaImportMetadata struct { // CreateTime: Operation create time. @@ -2694,9 +2694,9 @@ type GoogleCloudRetailV2alphaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -2749,9 +2749,9 @@ type GoogleCloudRetailV2alphaImportProductsRequest struct { // NotificationPubsubTopic: Full Pub/Sub topic name for receiving // notification. If this field is set, when the import is finished, a - // notification will be sent to specified Pub/Sub topic. The message - // data will be JSON string of a Operation. Format of the Pub/Sub topic - // is `projects/{project}/topics/{topic}`. It has to be within the same + // notification is sent to specified Pub/Sub topic. The message data is + // JSON string of a Operation. Format of the Pub/Sub topic is + // `projects/{project}/topics/{topic}`. It has to be within the same // project as ImportProductsRequest.parent. Make sure that // `service-@gcp-sa-retail.iam.gserviceaccount.com` has the // `pubsub.topics.publish` IAM permission on the topic. @@ -2772,7 +2772,7 @@ type GoogleCloudRetailV2alphaImportProductsRequest struct { // RequestId: Deprecated. This field has no effect. RequestId string `json:"requestId,omitempty"` - // SkipDefaultBranchProtection: If true, will perform the FULL import + // SkipDefaultBranchProtection: If true, this performs the FULL import // even if it would delete a large proportion of the products in the // default branch, which could potentially cause outages if you have // live predict/search traffic. Only supported when @@ -2780,7 +2780,7 @@ type GoogleCloudRetailV2alphaImportProductsRequest struct { SkipDefaultBranchProtection bool `json:"skipDefaultBranchProtection,omitempty"` // UpdateMask: Indicates which fields in the provided imported - // 'products' to update. If not set, will by default update all fields. + // `products` to update. If not set, all fields are updated. UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "ErrorsConfig") to @@ -3325,21 +3325,21 @@ func (s *GoogleCloudRetailV2alphaMerchantCenterLinkingConfig) MarshalJSON() ([]b // GoogleCloudRetailV2alphaModel: Metadata that describes the training // and serving parameters of a Model. A Model can be associated with a -// ServingConfig and then queried through the Predict api. +// ServingConfig and then queried through the Predict API. type GoogleCloudRetailV2alphaModel struct { // CreateTime: Output only. Timestamp the Recommendation Model was // created at. CreateTime string `json:"createTime,omitempty"` // DataState: Output only. The state of data requirements for this - // model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained - // if the data is in DATA_ERROR state. Recommendation model can have - // DATA_ERROR state even if serving state is ACTIVE: models were trained - // successfully before, but cannot be refreshed because model no longer - // has sufficient data for training. + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. // // Possible values: - // "DATA_STATE_UNSPECIFIED" - Unspecified default value - should never + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never // be explicitly set. // "DATA_OK" - The model has sufficient training data. // "DATA_ERROR" - The model does not have sufficient training data. @@ -3348,10 +3348,11 @@ type GoogleCloudRetailV2alphaModel struct { // DisplayName: Required. The display name of the model. Should be human // readable, used to display Recommendation Models in the Retail Cloud - // Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. DisplayName string `json:"displayName,omitempty"` - // FilteringOption: Optional. If RECOMMENDATIONS_FILTERING_ENABLED, + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, // recommendation filtering by attributes is enabled for the model. // // Possible values: @@ -3370,8 +3371,8 @@ type GoogleCloudRetailV2alphaModel struct { // Name: Required. The fully qualified resource name of the model. // Format: - // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id - // }/models/{model_id} catalog_id has char limit of 50. + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. // recommendation_model_id has char limit of 40. Name string `json:"name,omitempty"` @@ -3388,19 +3389,20 @@ type GoogleCloudRetailV2alphaModel struct { // PeriodicTuningState: Optional. The state of periodic tuning. The // period we use is 3 months - to do a one-off tune earlier use the - // TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. // // Possible values: - // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value - + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, // should never be explicitly set. // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning // disabled. Tuning can be reenabled by calling the - // EnableModelPeriodicTuning method or by calling the TuneModel method. + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic - // tuning OR the TuneModel method. Hide the options in customer UI and + // tuning OR the `TuneModel` method. Hide the options in customer UI and // reject any requests through the backend self serve API. // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. - // Tuning can be disabled by calling the DisableModelPeriodicTuning + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` // method. PeriodicTuningState string `json:"periodicTuningState,omitempty"` @@ -3408,23 +3410,24 @@ type GoogleCloudRetailV2alphaModel struct { // associated with the PageOptimizationConfig. ServingConfigLists []*GoogleCloudRetailV2alphaModelServingConfigList `json:"servingConfigLists,omitempty"` - // ServingState: Output only. The serving state of the model: ACTIVE, - // NOT_ACTIVE. + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. // // Possible values: // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. // "INACTIVE" - The model is not serving. // "ACTIVE" - The model is serving and can be queried. - // "TUNED" - The model is trained on tuned hyperparameters, and can be + // "TUNED" - The model is trained on tuned hyperparameters and can be // queried. ServingState string `json:"servingState,omitempty"` // TrainingState: Optional. The training state that the model is in - // (e.g. TRAINING or PAUSED). Since part of the cost of running the + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the // service is frequency of training - this can be used to determine when // to train model in order to control cost. If not specified: the - // default value for CreateModel method is TRAINING. the default value - // for UpdateModel method is to keep the state the same as before. + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. // // Possible values: // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. @@ -3439,8 +3442,8 @@ type GoogleCloudRetailV2alphaModel struct { // Type: Required. The type of model e.g. `home-page`. Currently // supported values: `recommended-for-you`, `others-you-may-like`, - // `frequently-bought-together`, `page-optimization`, 'similar-items', - // 'buy-it-again', `recently-viewed`(readonly value). + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, and `recently-viewed`(readonly value). Type string `json:"type,omitempty"` // UpdateTime: Output only. Timestamp the Recommendation Model was last @@ -3521,21 +3524,21 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 // candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, - // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) - // * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * - // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, - // home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * - // (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * - // (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid - // combinations`: * * (home_page_ctr_no_diversity, - // home_page_ctr_no_diversity) * + // `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * + // (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, + // home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * + // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, + // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) + // * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, + // home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, + // pdp_cvr_no_diversity) * `Invalid combinations`: * * + // (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * // "UNIQUE_MODEL_RESTRICTION" - Do not allow multiple ServingConfigs // with same Model.name to be show on on different panels. Example: // `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * // `Panel2 candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, + // `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, @@ -3548,7 +3551,7 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, // home_page_ctr_no_diversity * `Panel2 candidates`: * // home_page_ctr_no_diversity, home_page_ctr_diversity_low, - // pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION + // pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` // `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * // (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) @@ -3588,10 +3591,10 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfig) MarshalJSON() ([]b // candidate to consider for a given panel. Currently only ServingConfig // are valid candidates. type GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate struct { - // ServingConfigId: This has to be a valid ServingConfig identifier. - // e.g. for a ServingConfig with full name: + // ServingConfigId: This has to be a valid ServingConfig identifier. For + // example, for a ServingConfig with full name: // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/m - // y_candidate_config` this would be 'my_candidate_config' + // y_candidate_config`, this would be `my_candidate_config`. ServingConfigId string `json:"servingConfigId,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigId") to @@ -3625,8 +3628,8 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel struct { // = 10. Candidates []*GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"candidates,omitempty"` - // DefaultCandidate: Required. The default candidate (in case the model - // fails at serving time, we can fall back to the default). + // DefaultCandidate: Required. The default candidate. If the model fails + // at serving time, we fall back to the default. DefaultCandidate *GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"defaultCandidate,omitempty"` // DisplayName: Optional. The name to display for the panel. @@ -3656,11 +3659,11 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel) MarshalJSON() } // GoogleCloudRetailV2alphaModelServingConfigList: Represents an ordered -// combination of valid serving configs, which / may be used for -// PAGE_OPTIMIZATION recommendations. +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. type GoogleCloudRetailV2alphaModelServingConfigList struct { // ServingConfigIds: Optional. A set of valid serving configs that may - // be used for PAGE_OPTIMIZATION. + // be used for `PAGE_OPTIMIZATION`. ServingConfigIds []string `json:"servingConfigIds,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigIds") to @@ -7556,7 +7559,7 @@ func (s *GoogleCloudRetailV2betaImportCompletionDataResponse) MarshalJSON() ([]b // destination for Import related errors. type GoogleCloudRetailV2betaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -7585,7 +7588,7 @@ func (s *GoogleCloudRetailV2betaImportErrorsConfig) MarshalJSON() ([]byte, error } // GoogleCloudRetailV2betaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2betaImportMetadata struct { // CreateTime: Operation create time. @@ -7596,9 +7599,9 @@ type GoogleCloudRetailV2betaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -10412,9 +10415,12 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // processed downstream. As a consequence, when a response is returned, // the added place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10519,7 +10525,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -10570,9 +10576,13 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // ProductService.GetProduct or ProductService.ListProducts. Local // inventory information can only be modified using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10677,7 +10687,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -11917,9 +11927,12 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // processed downstream. As a consequence, when a response is returned, // the removed place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12024,7 +12037,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -12073,9 +12086,13 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // queried by ProductService.GetProduct or ProductService.ListProducts. // Local inventory information can only be removed using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12180,7 +12197,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -12241,9 +12258,13 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // information will be preserved. Pre-existing inventory information can // only be updated with ProductService.SetInventory, // ProductService.AddFulfillmentPlaces, and -// ProductService.RemoveFulfillmentPlaces. This feature is only -// available for users who have Retail Search enabled. Please enable -// Retail Search on Cloud Console before using this feature. +// ProductService.RemoveFulfillmentPlaces. The returned Operations will +// be obsolete after 1 day, and GetOperation API will return NOT_FOUND +// afterwards. If conflicting updates are issued, the Operations +// associated with the stale updates will not be marked as done until +// being obsolete. This feature is only available for users who have +// Retail Search enabled. Please enable Retail Search on Cloud Console +// before using this feature. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12346,7 +12367,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -13363,7 +13384,7 @@ func (r *ProjectsLocationsCatalogsModelsService) Create(parent string, googleclo return c } -// DryRun sets the optional parameter "dryRun": Whether to run a dry_run +// DryRun sets the optional parameter "dryRun": Whether to run a dry run // to validate the request (without actually creating the model). func (c *ProjectsLocationsCatalogsModelsCreateCall) DryRun(dryRun bool) *ProjectsLocationsCatalogsModelsCreateCall { c.urlParams_.Set("dryRun", fmt.Sprint(dryRun)) @@ -13470,7 +13491,7 @@ func (c *ProjectsLocationsCatalogsModelsCreateCall) Do(opts ...googleapi.CallOpt // ], // "parameters": { // "dryRun": { - // "description": "Optional. Whether to run a dry_run to validate the request (without actually creating the model).", + // "description": "Optional. Whether to run a dry run to validate the request (without actually creating the model).", // "location": "query", // "type": "boolean" // }, @@ -13508,7 +13529,7 @@ type ProjectsLocationsCatalogsModelsDeleteCall struct { // Delete: Deletes an existing model. // -// - name: The resource name of the [Model] to delete. Format: +// - name: The resource name of the Model to delete. Format: // projects/{project_number}/locations/{location_id}/catalogs/{catalog_ // id}/models/{model_id}. func (r *ProjectsLocationsCatalogsModelsService) Delete(name string) *ProjectsLocationsCatalogsModelsDeleteCall { @@ -13612,7 +13633,7 @@ func (c *ProjectsLocationsCatalogsModelsDeleteCall) Do(opts ...googleapi.CallOpt // ], // "parameters": { // "name": { - // "description": "Required. The resource name of the [Model] to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}", + // "description": "Required. The resource name of the Model to delete. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", // "required": true, @@ -13840,12 +13861,12 @@ type ProjectsLocationsCatalogsModelsPatchCall struct { } // Patch: Update of model metadata. Only fields that currently can be -// updated are: filtering_option, periodic_tuning_state. If other values -// are provided, this API method will ignore them. +// updated are: `filtering_option` and `periodic_tuning_state`. If other +// values are provided, this API method ignores them. // // - name: The fully qualified resource name of the model. Format: -// projects/{project_number}/locations/{location_id}/catalogs/{catalog_ -// id}/models/{model_id} catalog_id has char limit of 50. +// `projects/{project_number}/locations/{location_id}/catalogs/{catalog +// _id}/models/{model_id}` catalog_id has char limit of 50. // recommendation_model_id has char limit of 40. func (r *ProjectsLocationsCatalogsModelsService) Patch(name string, googlecloudretailv2alphamodel *GoogleCloudRetailV2alphaModel) *ProjectsLocationsCatalogsModelsPatchCall { c := &ProjectsLocationsCatalogsModelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -13855,8 +13876,8 @@ func (r *ProjectsLocationsCatalogsModelsService) Patch(name string, googlecloudr } // UpdateMask sets the optional parameter "updateMask": Indicates which -// fields in the provided 'model' to update. If not set, will by default -// update all fields. +// fields in the provided 'model' to update. If not set, by default +// updates all fields. func (c *ProjectsLocationsCatalogsModelsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCatalogsModelsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c @@ -13953,7 +13974,7 @@ func (c *ProjectsLocationsCatalogsModelsPatchCall) Do(opts ...googleapi.CallOpti } return ret, nil // { - // "description": "Update of model metadata. Only fields that currently can be updated are: filtering_option, periodic_tuning_state. If other values are provided, this API method will ignore them.", + // "description": "Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/models/{modelsId}", // "httpMethod": "PATCH", // "id": "retail.projects.locations.catalogs.models.patch", @@ -13962,14 +13983,14 @@ func (c *ProjectsLocationsCatalogsModelsPatchCall) Do(opts ...googleapi.CallOpti // ], // "parameters": { // "name": { - // "description": "Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + // "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/models/[^/]+$", // "required": true, // "type": "string" // }, // "updateMask": { - // "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, will by default update all fields.", + // "description": "Optional. Indicates which fields in the provided 'model' to update. If not set, by default updates all fields.", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -16745,10 +16766,10 @@ type ProjectsLocationsCatalogsUserEventsImportCall struct { // Import: Bulk import of User events. Request processing might be // synchronous. Events that already exist are skipped. Use this method -// for backfilling historical user events. Operation.response is of type -// ImportResponse. Note that it is possible for a subset of the items to -// be successfully inserted. Operation.metadata is of type -// ImportMetadata. +// for backfilling historical user events. `Operation.response` is of +// type `ImportResponse`. Note that it is possible for a subset of the +// items to be successfully inserted. `Operation.metadata` is of type +// `ImportMetadata`. // // - parent: `projects/1234/locations/global/catalogs/default_catalog`. func (r *ProjectsLocationsCatalogsUserEventsService) Import(parent string, googlecloudretailv2alphaimportusereventsrequest *GoogleCloudRetailV2alphaImportUserEventsRequest) *ProjectsLocationsCatalogsUserEventsImportCall { @@ -16849,7 +16870,7 @@ func (c *ProjectsLocationsCatalogsUserEventsImportCall) Do(opts ...googleapi.Cal } return ret, nil // { - // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.userEvents.import", diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index 887dba5742e..94fd3424619 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -561,7 +561,7 @@ "products": { "methods": { "addFulfillmentPlaces": { - "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -589,7 +589,7 @@ ] }, "addLocalInventories": { - "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -814,7 +814,7 @@ ] }, "removeFulfillmentPlaces": { - "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -842,7 +842,7 @@ ] }, "removeLocalInventories": { - "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -870,7 +870,7 @@ ] }, "setInventory": { - "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -1538,7 +1538,7 @@ ] }, "import": { - "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.import", @@ -1994,14 +1994,14 @@ "id": "GoogleCloudRetailV2ImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2ImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2ImportMetadata", "properties": { "createTime": { @@ -2015,7 +2015,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -2305,14 +2305,14 @@ "id": "GoogleCloudRetailV2alphaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2alphaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2alphaImportMetadata", "properties": { "createTime": { @@ -2326,7 +2326,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -2391,7 +2391,7 @@ "type": "object" }, "GoogleCloudRetailV2alphaModel": { - "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api.", + "description": "Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.", "id": "GoogleCloudRetailV2alphaModel", "properties": { "createTime": { @@ -2401,14 +2401,14 @@ "type": "string" }, "dataState": { - "description": "Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", + "description": "Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.", "enum": [ "DATA_STATE_UNSPECIFIED", "DATA_OK", "DATA_ERROR" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", + "Unspecified default value, should never be explicitly set.", "The model has sufficient training data.", "The model does not have sufficient training data. Error messages can be queried via Stackdriver." ], @@ -2416,11 +2416,11 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { - "description": "Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model.", + "description": "Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model.", "enum": [ "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED", "RECOMMENDATIONS_FILTERING_DISABLED", @@ -2440,7 +2440,7 @@ "type": "string" }, "name": { - "description": "Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40.", "type": "string" }, "optimizationObjective": { @@ -2452,7 +2452,7 @@ "description": "Optional. The page optimization config." }, "periodicTuningState": { - "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED.", + "description": "Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`.", "enum": [ "PERIODIC_TUNING_STATE_UNSPECIFIED", "PERIODIC_TUNING_DISABLED", @@ -2460,10 +2460,10 @@ "PERIODIC_TUNING_ENABLED" ], "enumDescriptions": [ - "Unspecified default value - should never be explicitly set.", - "The model has periodic tuning disabled. Tuning can be reenabled by calling the EnableModelPeriodicTuning method or by calling the TuneModel method.", - "The model cannot be tuned with periodic tuning OR the TuneModel method. Hide the options in customer UI and reject any requests through the backend self serve API.", - "The model has periodic tuning enabled. Tuning can be disabled by calling the DisableModelPeriodicTuning method." + "Unspecified default value, should never be explicitly set.", + "The model has periodic tuning disabled. Tuning can be reenabled by calling the `EnableModelPeriodicTuning` method or by calling the `TuneModel` method.", + "The model cannot be tuned with periodic tuning OR the `TuneModel` method. Hide the options in customer UI and reject any requests through the backend self serve API.", + "The model has periodic tuning enabled. Tuning can be disabled by calling the `DisableModelPeriodicTuning` method." ], "type": "string" }, @@ -2476,7 +2476,7 @@ "type": "array" }, "servingState": { - "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", + "description": "Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.", "enum": [ "SERVING_STATE_UNSPECIFIED", "INACTIVE", @@ -2487,13 +2487,13 @@ "Unspecified serving state.", "The model is not serving.", "The model is serving and can be queried.", - "The model is trained on tuned hyperparameters, and can be queried." + "The model is trained on tuned hyperparameters and can be queried." ], "readOnly": true, "type": "string" }, "trainingState": { - "description": "Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before.", + "description": "Optional. The training state that the model is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for `CreateModel` method is `TRAINING`. The default value for `UpdateModel` method is to keep the state the same as before.", "enum": [ "TRAINING_STATE_UNSPECIFIED", "PAUSED", @@ -2512,7 +2512,7 @@ "type": "string" }, "type": { - "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, 'similar-items', 'buy-it-again', `recently-viewed`(readonly value).", + "description": "Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, and `recently-viewed`(readonly value).", "type": "string" }, "updateTime": { @@ -2551,9 +2551,9 @@ "enumDescriptions": [ "Unspecified value for restriction.", "Allow any ServingConfig to be show on any number of panels. Example: `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity `Panel2 candidates`: home_page_ctr_no_diversity, home_page_ctr_diversity, pdp_cvr_no_diversity `Restriction` = NO_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: []", - "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", - "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" + "Do not allow the same ServingConfig.name to be shown on multiple panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.name to be show on on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) *", + "Do not allow multiple ServingConfigs with same Model.type to be shown on different panels. Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 candidates`: * home_page_ctr_no_diversity, home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid combinations`: * * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * (home_page_ctr_no_diversity, home_page_ctr_diversity) *" ], "type": "string" } @@ -2565,7 +2565,7 @@ "id": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", "properties": { "servingConfigId": { - "description": "This has to be a valid ServingConfig identifier. e.g. for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config` this would be 'my_candidate_config'", + "description": "This has to be a valid ServingConfig identifier. For example, for a ServingConfig with full name: `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`, this would be `my_candidate_config`.", "type": "string" } }, @@ -2584,7 +2584,7 @@ }, "defaultCandidate": { "$ref": "GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate", - "description": "Required. The default candidate (in case the model fails at serving time, we can fall back to the default)." + "description": "Required. The default candidate. If the model fails at serving time, we fall back to the default." }, "displayName": { "description": "Optional. The name to display for the panel.", @@ -2594,11 +2594,11 @@ "type": "object" }, "GoogleCloudRetailV2alphaModelServingConfigList": { - "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "description": "Represents an ordered combination of valid serving configs, which can be used for `PAGE_OPTIMIZATION` recommendations.", "id": "GoogleCloudRetailV2alphaModelServingConfigList", "properties": { "servingConfigIds": { - "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "description": "Optional. A set of valid serving configs that may be used for `PAGE_OPTIMIZATION`.", "items": { "type": "string" }, @@ -3537,11 +3537,11 @@ "type": "object" }, "GoogleCloudRetailV2betaGcsSource": { - "description": "Google Cloud Storage location for input content. format.", + "description": "Google Cloud Storage location for input content.", "id": "GoogleCloudRetailV2betaGcsSource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * 'control' (default): One JSON Control per line. Supported values for catalog attribute imports: * 'catalog_attribute' (default): One CSV CatalogAttribute per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: Using https://support.google.com/analytics/answer/3437719. Supported values for control imports: * `control` (default): One JSON Control per line. Supported values for catalog attribute imports: * `catalog_attribute` (default): One CSV CatalogAttribute per line.", "type": "string" }, "inputUris": { @@ -3604,7 +3604,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" } }, @@ -3629,14 +3629,14 @@ "id": "GoogleCloudRetailV2betaImportErrorsConfig", "properties": { "gcsPrefix": { - "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, "type": "object" }, "GoogleCloudRetailV2betaImportMetadata": { - "description": "Metadata related to the progress of the Import operation. This will be returned by the google.longrunning.Operation.metadata field.", + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2betaImportMetadata", "properties": { "createTime": { @@ -3650,7 +3650,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", "type": "string" }, "requestId": { @@ -3683,7 +3683,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification is sent to specified Pub/Sub topic. The message data is JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -3705,7 +3705,7 @@ "type": "string" }, "updateMask": { - "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", + "description": "Indicates which fields in the provided imported `products` to update. If not set, all fields are updated.", "format": "google-fieldmask", "type": "string" } diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index b6aa09deb17..9169317a0a6 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -671,7 +671,7 @@ func (s *GoogleCloudRetailV2ImportCompletionDataResponse) MarshalJSON() ([]byte, // for Import related errors. type GoogleCloudRetailV2ImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -700,7 +700,7 @@ func (s *GoogleCloudRetailV2ImportErrorsConfig) MarshalJSON() ([]byte, error) { } // GoogleCloudRetailV2ImportMetadata: Metadata related to the progress -// of the Import operation. This will be returned by the +// of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2ImportMetadata struct { // CreateTime: Operation create time. @@ -711,9 +711,9 @@ type GoogleCloudRetailV2ImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -1255,7 +1255,7 @@ func (s *GoogleCloudRetailV2alphaImportCompletionDataResponse) MarshalJSON() ([] // destination for Import related errors. type GoogleCloudRetailV2alphaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -1284,7 +1284,7 @@ func (s *GoogleCloudRetailV2alphaImportErrorsConfig) MarshalJSON() ([]byte, erro } // GoogleCloudRetailV2alphaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2alphaImportMetadata struct { // CreateTime: Operation create time. @@ -1295,9 +1295,9 @@ type GoogleCloudRetailV2alphaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -1417,21 +1417,21 @@ func (s *GoogleCloudRetailV2alphaImportUserEventsResponse) MarshalJSON() ([]byte // GoogleCloudRetailV2alphaModel: Metadata that describes the training // and serving parameters of a Model. A Model can be associated with a -// ServingConfig and then queried through the Predict api. +// ServingConfig and then queried through the Predict API. type GoogleCloudRetailV2alphaModel struct { // CreateTime: Output only. Timestamp the Recommendation Model was // created at. CreateTime string `json:"createTime,omitempty"` // DataState: Output only. The state of data requirements for this - // model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained - // if the data is in DATA_ERROR state. Recommendation model can have - // DATA_ERROR state even if serving state is ACTIVE: models were trained - // successfully before, but cannot be refreshed because model no longer - // has sufficient data for training. + // model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be + // trained if the data is in `DATA_ERROR` state. Recommendation model + // can have `DATA_ERROR` state even if serving state is `ACTIVE`: models + // were trained successfully before, but cannot be refreshed because + // model no longer has sufficient data for training. // // Possible values: - // "DATA_STATE_UNSPECIFIED" - Unspecified default value - should never + // "DATA_STATE_UNSPECIFIED" - Unspecified default value, should never // be explicitly set. // "DATA_OK" - The model has sufficient training data. // "DATA_ERROR" - The model does not have sufficient training data. @@ -1440,10 +1440,11 @@ type GoogleCloudRetailV2alphaModel struct { // DisplayName: Required. The display name of the model. Should be human // readable, used to display Recommendation Models in the Retail Cloud - // Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. + // Console Dashboard. UTF-8 encoded string with limit of 1024 + // characters. DisplayName string `json:"displayName,omitempty"` - // FilteringOption: Optional. If RECOMMENDATIONS_FILTERING_ENABLED, + // FilteringOption: Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, // recommendation filtering by attributes is enabled for the model. // // Possible values: @@ -1462,8 +1463,8 @@ type GoogleCloudRetailV2alphaModel struct { // Name: Required. The fully qualified resource name of the model. // Format: - // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id - // }/models/{model_id} catalog_id has char limit of 50. + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_i + // d}/models/{model_id}` catalog_id has char limit of 50. // recommendation_model_id has char limit of 40. Name string `json:"name,omitempty"` @@ -1480,19 +1481,20 @@ type GoogleCloudRetailV2alphaModel struct { // PeriodicTuningState: Optional. The state of periodic tuning. The // period we use is 3 months - to do a one-off tune earlier use the - // TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + // `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. // // Possible values: - // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value - + // "PERIODIC_TUNING_STATE_UNSPECIFIED" - Unspecified default value, // should never be explicitly set. // "PERIODIC_TUNING_DISABLED" - The model has periodic tuning // disabled. Tuning can be reenabled by calling the - // EnableModelPeriodicTuning method or by calling the TuneModel method. + // `EnableModelPeriodicTuning` method or by calling the `TuneModel` + // method. // "ALL_TUNING_DISABLED" - The model cannot be tuned with periodic - // tuning OR the TuneModel method. Hide the options in customer UI and + // tuning OR the `TuneModel` method. Hide the options in customer UI and // reject any requests through the backend self serve API. // "PERIODIC_TUNING_ENABLED" - The model has periodic tuning enabled. - // Tuning can be disabled by calling the DisableModelPeriodicTuning + // Tuning can be disabled by calling the `DisableModelPeriodicTuning` // method. PeriodicTuningState string `json:"periodicTuningState,omitempty"` @@ -1500,23 +1502,24 @@ type GoogleCloudRetailV2alphaModel struct { // associated with the PageOptimizationConfig. ServingConfigLists []*GoogleCloudRetailV2alphaModelServingConfigList `json:"servingConfigLists,omitempty"` - // ServingState: Output only. The serving state of the model: ACTIVE, - // NOT_ACTIVE. + // ServingState: Output only. The serving state of the model: `ACTIVE`, + // `NOT_ACTIVE`. // // Possible values: // "SERVING_STATE_UNSPECIFIED" - Unspecified serving state. // "INACTIVE" - The model is not serving. // "ACTIVE" - The model is serving and can be queried. - // "TUNED" - The model is trained on tuned hyperparameters, and can be + // "TUNED" - The model is trained on tuned hyperparameters and can be // queried. ServingState string `json:"servingState,omitempty"` // TrainingState: Optional. The training state that the model is in - // (e.g. TRAINING or PAUSED). Since part of the cost of running the + // (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the // service is frequency of training - this can be used to determine when // to train model in order to control cost. If not specified: the - // default value for CreateModel method is TRAINING. the default value - // for UpdateModel method is to keep the state the same as before. + // default value for `CreateModel` method is `TRAINING`. The default + // value for `UpdateModel` method is to keep the state the same as + // before. // // Possible values: // "TRAINING_STATE_UNSPECIFIED" - Unspecified training state. @@ -1531,8 +1534,8 @@ type GoogleCloudRetailV2alphaModel struct { // Type: Required. The type of model e.g. `home-page`. Currently // supported values: `recommended-for-you`, `others-you-may-like`, - // `frequently-bought-together`, `page-optimization`, 'similar-items', - // 'buy-it-again', `recently-viewed`(readonly value). + // `frequently-bought-together`, `page-optimization`, `similar-items`, + // `buy-it-again`, and `recently-viewed`(readonly value). Type string `json:"type,omitempty"` // UpdateTime: Output only. Timestamp the Recommendation Model was last @@ -1609,21 +1612,21 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * `Panel2 // candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_SERVING_CONFIG_RESTRICTION `Valid combinations`: * * (pdp_ctr, - // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity_low) - // * (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * - // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, - // home_page_ctr_diversity_low) * (pdp_cvr, pdp_cvr_no_diversity) * - // (home_page_ctr_no_diversity, home_page_ctr_diversity_low) * - // (home_page_ctr_no_diversity, pdp_cvr_no_diversity) * `Invalid - // combinations`: * * (home_page_ctr_no_diversity, - // home_page_ctr_no_diversity) * + // `UNIQUE_SERVING_CONFIG_RESTRICTION` `Valid combinations`: * * + // (pdp_ctr, home_page_ctr_no_diversity) * (pdp_ctr, + // home_page_ctr_diversity_low) * (pdp_ctr, pdp_cvr_no_diversity) * + // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_cvr, + // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) + // * (pdp_cvr, pdp_cvr_no_diversity) * (home_page_ctr_no_diversity, + // home_page_ctr_diversity_low) * (home_page_ctr_no_diversity, + // pdp_cvr_no_diversity) * `Invalid combinations`: * * + // (home_page_ctr_no_diversity, home_page_ctr_no_diversity) * // "UNIQUE_MODEL_RESTRICTION" - Do not allow multiple ServingConfigs // with same Model.name to be show on on different panels. Example: // `Panel1 candidates`: * pdp_ctr, pdp_cvr, home_page_ctr_no_diversity * // `Panel2 candidates`: * home_page_ctr_no_diversity, // home_page_ctr_diversity_low, pdp_cvr_no_diversity * `Restriction` = - // UNIQUE_MODEL_RESTRICTION `Valid combinations`: * * (pdp_ctr, + // `UNIQUE_MODEL_RESTRICTION` `Valid combinations`: * * (pdp_ctr, // home_page_ctr_no_diversity) * (pdp_ctr, home_page_ctr_diversity) * // (pdp_ctr, pdp_cvr_no_diversity) * (pdp_ctr, pdp_cvr_no_diversity) * // (pdp_cvr, home_page_ctr_no_diversity) * (pdp_cvr, @@ -1636,7 +1639,7 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfig struct { // Example: `Panel1 candidates`: * pdp_ctr, pdp_cvr, // home_page_ctr_no_diversity * `Panel2 candidates`: * // home_page_ctr_no_diversity, home_page_ctr_diversity_low, - // pdp_cvr_no_diversity * `Restriction` = UNIQUE_MODEL_RESTRICTION + // pdp_cvr_no_diversity * `Restriction` = `UNIQUE_MODEL_RESTRICTION` // `Valid combinations`: * * (pdp_ctr, home_page_ctr_no_diversity) * // (pdp_ctr, home_page_ctr_diversity) * (pdp_cvr, // home_page_ctr_no_diversity) * (pdp_cvr, home_page_ctr_diversity_low) @@ -1676,10 +1679,10 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfig) MarshalJSON() ([]b // candidate to consider for a given panel. Currently only ServingConfig // are valid candidates. type GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate struct { - // ServingConfigId: This has to be a valid ServingConfig identifier. - // e.g. for a ServingConfig with full name: + // ServingConfigId: This has to be a valid ServingConfig identifier. For + // example, for a ServingConfig with full name: // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/m - // y_candidate_config` this would be 'my_candidate_config' + // y_candidate_config`, this would be `my_candidate_config`. ServingConfigId string `json:"servingConfigId,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigId") to @@ -1713,8 +1716,8 @@ type GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel struct { // = 10. Candidates []*GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"candidates,omitempty"` - // DefaultCandidate: Required. The default candidate (in case the model - // fails at serving time, we can fall back to the default). + // DefaultCandidate: Required. The default candidate. If the model fails + // at serving time, we fall back to the default. DefaultCandidate *GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate `json:"defaultCandidate,omitempty"` // DisplayName: Optional. The name to display for the panel. @@ -1744,11 +1747,11 @@ func (s *GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel) MarshalJSON() } // GoogleCloudRetailV2alphaModelServingConfigList: Represents an ordered -// combination of valid serving configs, which / may be used for -// PAGE_OPTIMIZATION recommendations. +// combination of valid serving configs, which can be used for +// `PAGE_OPTIMIZATION` recommendations. type GoogleCloudRetailV2alphaModelServingConfigList struct { // ServingConfigIds: Optional. A set of valid serving configs that may - // be used for PAGE_OPTIMIZATION. + // be used for `PAGE_OPTIMIZATION`. ServingConfigIds []string `json:"servingConfigIds,omitempty"` // ForceSendFields is a list of field names (e.g. "ServingConfigIds") to @@ -3531,7 +3534,7 @@ func (s *GoogleCloudRetailV2betaFulfillmentInfo) MarshalJSON() ([]byte, error) { } // GoogleCloudRetailV2betaGcsSource: Google Cloud Storage location for -// input content. format. +// input content. type GoogleCloudRetailV2betaGcsSource struct { // DataSchema: The schema to use when parsing the data from the source. // Supported values for product imports: * `product` (default): One JSON @@ -3542,9 +3545,9 @@ type GoogleCloudRetailV2betaGcsSource struct { // Supported values for user events imports: * `user_event` (default): // One JSON UserEvent per line. * `user_event_ga360`: Using // https://support.google.com/analytics/answer/3437719. Supported values - // for control imports: * 'control' (default): One JSON Control per + // for control imports: * `control` (default): One JSON Control per // line. Supported values for catalog attribute imports: * - // 'catalog_attribute' (default): One CSV CatalogAttribute per line. + // `catalog_attribute` (default): One CSV CatalogAttribute per line. DataSchema string `json:"dataSchema,omitempty"` // InputUris: Required. Google Cloud Storage URIs to input files. URI @@ -3671,9 +3674,9 @@ type GoogleCloudRetailV2betaImportCompletionDataRequest struct { InputConfig *GoogleCloudRetailV2betaCompletionDataInputConfig `json:"inputConfig,omitempty"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -3737,7 +3740,7 @@ func (s *GoogleCloudRetailV2betaImportCompletionDataResponse) MarshalJSON() ([]b // destination for Import related errors. type GoogleCloudRetailV2betaImportErrorsConfig struct { // GcsPrefix: Google Cloud Storage prefix for import errors. This must - // be an empty, existing Cloud Storage directory. Import errors will be + // be an empty, existing Cloud Storage directory. Import errors are // written to sharded files in this directory, one per line, as a // JSON-encoded `google.rpc.Status` message. GcsPrefix string `json:"gcsPrefix,omitempty"` @@ -3766,7 +3769,7 @@ func (s *GoogleCloudRetailV2betaImportErrorsConfig) MarshalJSON() ([]byte, error } // GoogleCloudRetailV2betaImportMetadata: Metadata related to the -// progress of the Import operation. This will be returned by the +// progress of the Import operation. This is returned by the // google.longrunning.Operation.metadata field. type GoogleCloudRetailV2betaImportMetadata struct { // CreateTime: Operation create time. @@ -3777,9 +3780,9 @@ type GoogleCloudRetailV2betaImportMetadata struct { FailureCount int64 `json:"failureCount,omitempty,string"` // NotificationPubsubTopic: Pub/Sub topic for receiving notification. If - // this field is set, when the import is finished, a notification will - // be sent to specified Pub/Sub topic. The message data will be JSON - // string of a Operation. Format of the Pub/Sub topic is + // this field is set, when the import is finished, a notification is + // sent to specified Pub/Sub topic. The message data is JSON string of a + // Operation. Format of the Pub/Sub topic is // `projects/{project}/topics/{topic}`. NotificationPubsubTopic string `json:"notificationPubsubTopic,omitempty"` @@ -3828,9 +3831,9 @@ type GoogleCloudRetailV2betaImportProductsRequest struct { // NotificationPubsubTopic: Full Pub/Sub topic name for receiving // notification. If this field is set, when the import is finished, a - // notification will be sent to specified Pub/Sub topic. The message - // data will be JSON string of a Operation. Format of the Pub/Sub topic - // is `projects/{project}/topics/{topic}`. It has to be within the same + // notification is sent to specified Pub/Sub topic. The message data is + // JSON string of a Operation. Format of the Pub/Sub topic is + // `projects/{project}/topics/{topic}`. It has to be within the same // project as ImportProductsRequest.parent. Make sure that // `service-@gcp-sa-retail.iam.gserviceaccount.com` has the // `pubsub.topics.publish` IAM permission on the topic. @@ -3852,7 +3855,7 @@ type GoogleCloudRetailV2betaImportProductsRequest struct { RequestId string `json:"requestId,omitempty"` // UpdateMask: Indicates which fields in the provided imported - // 'products' to update. If not set, will by default update all fields. + // `products` to update. If not set, all fields are updated. UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "ErrorsConfig") to @@ -10256,9 +10259,12 @@ type ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall struct { // processed downstream. As a consequence, when a response is returned, // the added place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10363,7 +10369,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddFulfillmentPlacesCall) Do(o } return ret, nil // { - // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addFulfillmentPlaces", @@ -10414,9 +10420,13 @@ type ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall struct { // ProductService.GetProduct or ProductService.ListProducts. Local // inventory information can only be modified using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -10521,7 +10531,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsAddLocalInventoriesCall) Do(op } return ret, nil // { - // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:addLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.addLocalInventories", @@ -11594,9 +11604,12 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall struct // processed downstream. As a consequence, when a response is returned, // the removed place IDs are not immediately manifested in the Product // queried by ProductService.GetProduct or ProductService.ListProducts. -// This feature is only available for users who have Retail Search -// enabled. Please enable Retail Search on Cloud Console before using -// this feature. +// The returned Operations will be obsolete after 1 day, and +// GetOperation API will return NOT_FOUND afterwards. If conflicting +// updates are issued, the Operations associated with the stale updates +// will not be marked as done until being obsolete. This feature is only +// available for users who have Retail Search enabled. Please enable +// Retail Search on Cloud Console before using this feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11701,7 +11714,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveFulfillmentPlacesCall) D } return ret, nil // { - // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeFulfillmentPlaces", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeFulfillmentPlaces", @@ -11750,9 +11763,13 @@ type ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall struct // queried by ProductService.GetProduct or ProductService.ListProducts. // Local inventory information can only be removed using this method. // ProductService.CreateProduct and ProductService.UpdateProduct has no -// effect on local inventories. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. +// effect on local inventories. The returned Operations will be obsolete +// after 1 day, and GetOperation API will return NOT_FOUND afterwards. +// If conflicting updates are issued, the Operations associated with the +// stale updates will not be marked as done until being obsolete. This +// feature is only available for users who have Retail Search enabled. +// Please enable Retail Search on Cloud Console before using this +// feature. // // - product: Full resource name of Product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -11857,7 +11874,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsRemoveLocalInventoriesCall) Do } return ret, nil // { - // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:removeLocalInventories", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.removeLocalInventories", @@ -11918,9 +11935,13 @@ type ProjectsLocationsCatalogsBranchesProductsSetInventoryCall struct { // information will be preserved. Pre-existing inventory information can // only be updated with ProductService.SetInventory, // ProductService.AddFulfillmentPlaces, and -// ProductService.RemoveFulfillmentPlaces. This feature is only -// available for users who have Retail Search enabled. Please enable -// Retail Search on Cloud Console before using this feature. +// ProductService.RemoveFulfillmentPlaces. The returned Operations will +// be obsolete after 1 day, and GetOperation API will return NOT_FOUND +// afterwards. If conflicting updates are issued, the Operations +// associated with the stale updates will not be marked as done until +// being obsolete. This feature is only available for users who have +// Retail Search enabled. Please enable Retail Search on Cloud Console +// before using this feature. // // - name: Immutable. Full resource name of the product, such as // `projects/*/locations/global/catalogs/default_catalog/branches/defau @@ -12023,7 +12044,7 @@ func (c *ProjectsLocationsCatalogsBranchesProductsSetInventoryCall) Do(opts ...g } return ret, nil // { - // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", + // "description": "Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}:setInventory", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.branches.products.setInventory", @@ -15340,10 +15361,10 @@ type ProjectsLocationsCatalogsUserEventsImportCall struct { // Import: Bulk import of User events. Request processing might be // synchronous. Events that already exist are skipped. Use this method -// for backfilling historical user events. Operation.response is of type -// ImportResponse. Note that it is possible for a subset of the items to -// be successfully inserted. Operation.metadata is of type -// ImportMetadata. +// for backfilling historical user events. `Operation.response` is of +// type `ImportResponse`. Note that it is possible for a subset of the +// items to be successfully inserted. `Operation.metadata` is of type +// `ImportMetadata`. // // - parent: `projects/1234/locations/global/catalogs/default_catalog`. func (r *ProjectsLocationsCatalogsUserEventsService) Import(parent string, googlecloudretailv2betaimportusereventsrequest *GoogleCloudRetailV2betaImportUserEventsRequest) *ProjectsLocationsCatalogsUserEventsImportCall { @@ -15444,7 +15465,7 @@ func (c *ProjectsLocationsCatalogsUserEventsImportCall) Do(opts ...googleapi.Cal } return ret, nil // { - // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + // "description": "Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. `Operation.response` is of type `ImportResponse`. Note that it is possible for a subset of the items to be successfully inserted. `Operation.metadata` is of type `ImportMetadata`.", // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:import", // "httpMethod": "POST", // "id": "retail.projects.locations.catalogs.userEvents.import", diff --git a/servicedirectory/v1/servicedirectory-api.json b/servicedirectory/v1/servicedirectory-api.json index 991f19c7cb7..9d2cad006f6 100644 --- a/servicedirectory/v1/servicedirectory-api.json +++ b/servicedirectory/v1/servicedirectory-api.json @@ -883,7 +883,7 @@ } } }, - "revision": "20220518", + "revision": "20220804", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { @@ -895,7 +895,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/servicedirectory/v1/servicedirectory-gen.go b/servicedirectory/v1/servicedirectory-gen.go index 78b75f23883..d877a0908df 100644 --- a/servicedirectory/v1/servicedirectory-gen.go +++ b/servicedirectory/v1/servicedirectory-gen.go @@ -214,16 +214,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/servicedirectory/v1beta1/servicedirectory-api.json b/servicedirectory/v1beta1/servicedirectory-api.json index 49967ad67d7..26ab8ed3f42 100644 --- a/servicedirectory/v1beta1/servicedirectory-api.json +++ b/servicedirectory/v1beta1/servicedirectory-api.json @@ -1059,7 +1059,7 @@ } } }, - "revision": "20220720", + "revision": "20220804", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { @@ -1071,7 +1071,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/servicedirectory/v1beta1/servicedirectory-gen.go b/servicedirectory/v1beta1/servicedirectory-gen.go index af5a0836a92..a46adeed503 100644 --- a/servicedirectory/v1beta1/servicedirectory-gen.go +++ b/servicedirectory/v1beta1/servicedirectory-gen.go @@ -238,16 +238,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/spanner/v1/spanner-api.json b/spanner/v1/spanner-api.json index b23b6eeae14..4705d0c2a7f 100644 --- a/spanner/v1/spanner-api.json +++ b/spanner/v1/spanner-api.json @@ -2262,7 +2262,7 @@ } } }, - "revision": "20220726", + "revision": "20220811", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "Backup": { @@ -2438,7 +2438,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/spanner/v1/spanner-gen.go b/spanner/v1/spanner-gen.go index cfffc683809..63c9ffd38e5 100644 --- a/spanner/v1/spanner-gen.go +++ b/spanner/v1/spanner-gen.go @@ -592,16 +592,20 @@ type Binding struct { // who is authenticated with a Google account or a service account. * // `user:{emailid}`: An email address that represents a specific Google // account. For example, `alice@example.com` . * - // `serviceAccount:{emailid}`: An email address that represents a + // `serviceAccount:{emailid}`: An email address that represents a Google // service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An - // email address that represents a Google group. For example, - // `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An - // email address (plus unique identifier) representing a user that has - // been recently deleted. For example, - // `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered - // user retains the role in the binding. * + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: + // An identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. * + // `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently + // deleted. For example, `alice@example.com?uid=123456789012345678901`. + // If the user is recovered, this value reverts to `user:{emailid}` and + // the recovered user retains the role in the binding. * // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address // (plus unique identifier) representing a service account that has been // recently deleted. For example, diff --git a/sqladmin/v1/sqladmin-api.json b/sqladmin/v1/sqladmin-api.json index 0397e3bf13a..aa93d53009f 100644 --- a/sqladmin/v1/sqladmin-api.json +++ b/sqladmin/v1/sqladmin-api.json @@ -1916,7 +1916,7 @@ } } }, - "revision": "20220724", + "revision": "20220804", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -4068,6 +4068,20 @@ "description": "The name of server Instance collation.", "type": "string" }, + "connectorEnforcement": { + "description": "Specifies if connections must use Cloud SQL connectors. Option values include the following: * `NOT_REQUIRED`: Cloud SQL instances can be connected without Cloud SQL Connectors. * `REQUIRED`: Only allow connections that use Cloud SQL Connectors. Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.", + "enum": [ + "CONNECTOR_ENFORCEMENT_UNSPECIFIED", + "NOT_REQUIRED", + "REQUIRED" + ], + "enumDescriptions": [ + "The requirement for Cloud SQL connectors is unknown.", + "Do not require Cloud SQL connectors.", + "Require all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks." + ], + "type": "string" + }, "crashSafeReplicationEnabled": { "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", "type": "boolean" diff --git a/sqladmin/v1/sqladmin-gen.go b/sqladmin/v1/sqladmin-gen.go index 76a6d73758e..33d1024c942 100644 --- a/sqladmin/v1/sqladmin-gen.go +++ b/sqladmin/v1/sqladmin-gen.go @@ -3456,6 +3456,24 @@ type Settings struct { // Collation: The name of server Instance collation. Collation string `json:"collation,omitempty"` + // ConnectorEnforcement: Specifies if connections must use Cloud SQL + // connectors. Option values include the following: * `NOT_REQUIRED`: + // Cloud SQL instances can be connected without Cloud SQL Connectors. * + // `REQUIRED`: Only allow connections that use Cloud SQL Connectors. + // Note that using REQUIRED disables all existing authorized networks. + // If this field is not specified when creating a new instance, + // NOT_REQUIRED is used. If this field is not specified when patching or + // updating an existing instance, it is left unchanged in the instance. + // + // Possible values: + // "CONNECTOR_ENFORCEMENT_UNSPECIFIED" - The requirement for Cloud SQL + // connectors is unknown. + // "NOT_REQUIRED" - Do not require Cloud SQL connectors. + // "REQUIRED" - Require all connections to use Cloud SQL connectors, + // including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go + // connectors. Note: This disables all existing authorized networks. + ConnectorEnforcement string `json:"connectorEnforcement,omitempty"` + // CrashSafeReplicationEnabled: Configuration specific to read replica // instances. Indicates whether database flags for crash-safe // replication are enabled. This property was only applicable to First diff --git a/sqladmin/v1beta4/sqladmin-api.json b/sqladmin/v1beta4/sqladmin-api.json index 29841ff81a2..358e1757f6a 100644 --- a/sqladmin/v1beta4/sqladmin-api.json +++ b/sqladmin/v1beta4/sqladmin-api.json @@ -1916,7 +1916,7 @@ } } }, - "revision": "20220724", + "revision": "20220804", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -4068,6 +4068,20 @@ "description": "The name of server Instance collation.", "type": "string" }, + "connectorEnforcement": { + "description": "Specifies if connections must use Cloud SQL connectors. Option values include the following: * `NOT_REQUIRED`: Cloud SQL instances can be connected without Cloud SQL Connectors. * `REQUIRED`: Only allow connections that use Cloud SQL Connectors. Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.", + "enum": [ + "CONNECTOR_ENFORCEMENT_UNSPECIFIED", + "NOT_REQUIRED", + "REQUIRED" + ], + "enumDescriptions": [ + "The requirement for Cloud SQL connectors is unknown.", + "Do not require Cloud SQL connectors.", + "Require all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks." + ], + "type": "string" + }, "crashSafeReplicationEnabled": { "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", "type": "boolean" diff --git a/sqladmin/v1beta4/sqladmin-gen.go b/sqladmin/v1beta4/sqladmin-gen.go index 46d9f49d12b..a5918011cb5 100644 --- a/sqladmin/v1beta4/sqladmin-gen.go +++ b/sqladmin/v1beta4/sqladmin-gen.go @@ -3456,6 +3456,24 @@ type Settings struct { // Collation: The name of server Instance collation. Collation string `json:"collation,omitempty"` + // ConnectorEnforcement: Specifies if connections must use Cloud SQL + // connectors. Option values include the following: * `NOT_REQUIRED`: + // Cloud SQL instances can be connected without Cloud SQL Connectors. * + // `REQUIRED`: Only allow connections that use Cloud SQL Connectors. + // Note that using REQUIRED disables all existing authorized networks. + // If this field is not specified when creating a new instance, + // NOT_REQUIRED is used. If this field is not specified when patching or + // updating an existing instance, it is left unchanged in the instance. + // + // Possible values: + // "CONNECTOR_ENFORCEMENT_UNSPECIFIED" - The requirement for Cloud SQL + // connectors is unknown. + // "NOT_REQUIRED" - Do not require Cloud SQL connectors. + // "REQUIRED" - Require all connections to use Cloud SQL connectors, + // including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go + // connectors. Note: This disables all existing authorized networks. + ConnectorEnforcement string `json:"connectorEnforcement,omitempty"` + // CrashSafeReplicationEnabled: Configuration specific to read replica // instances. Indicates whether database flags for crash-safe // replication are enabled. This property was only applicable to First diff --git a/versionhistory/v1/versionhistory-api.json b/versionhistory/v1/versionhistory-api.json index f4801066141..472748126b1 100644 --- a/versionhistory/v1/versionhistory-api.json +++ b/versionhistory/v1/versionhistory-api.json @@ -271,7 +271,7 @@ } } }, - "revision": "20220314", + "revision": "20220814", "rootUrl": "https://versionhistory.googleapis.com/", "schemas": { "Channel": { @@ -421,7 +421,8 @@ "MAC_ARM64", "LACROS", "LACROS_ARM32", - "CHROMEOS" + "CHROMEOS", + "LACROS_ARM64" ], "enumDescriptions": [ "", @@ -436,6 +437,7 @@ "", "", "", + "", "" ], "type": "string" diff --git a/versionhistory/v1/versionhistory-gen.go b/versionhistory/v1/versionhistory-gen.go index b54b420b98e..d7bad7585d1 100644 --- a/versionhistory/v1/versionhistory-gen.go +++ b/versionhistory/v1/versionhistory-gen.go @@ -425,6 +425,7 @@ type Platform struct { // "LACROS" // "LACROS_ARM32" // "CHROMEOS" + // "LACROS_ARM64" PlatformType string `json:"platformType,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to