diff --git a/androidenterprise/v1/androidenterprise-api.json b/androidenterprise/v1/androidenterprise-api.json index 813ce9dd5dd..078548af62a 100644 --- a/androidenterprise/v1/androidenterprise-api.json +++ b/androidenterprise/v1/androidenterprise-api.json @@ -2654,7 +2654,7 @@ } } }, - "revision": "20240703", + "revision": "20240820", "rootUrl": "https://androidenterprise.googleapis.com/", "schemas": { "Administrator": { @@ -3374,7 +3374,7 @@ "type": "object" }, "Entitlement": { - "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. The presence of an Entitlements resource indicates that a user has the right to use a particular app. Entitlements are user specific, not device specific. This allows a user with an entitlement to an app to install the app on all their devices. It's also possible for a user to hold an entitlement to an app without installing the app on any device. The API can be used to create an entitlement. As an option, you can also use the API to trigger the installation of an app on all a user's managed devices at the same time the entitlement is created. If the app is free, creating the entitlement also creates a group license for that app. For paid apps, creating the entitlement consumes one license, and that license remains consumed until the entitlement is removed. If the enterprise hasn't purchased enough licenses, then no entitlement is created and the installation fails. An entitlement is also not created for an app if the app requires permissions that the enterprise hasn't accepted. If an entitlement is deleted, the app may be uninstalled from a user's device. As a best practice, uninstall the app by calling Installs.delete() before deleting the entitlement. Entitlements for apps that a user pays for on an unmanaged profile have \"userPurchase\" as the entitlement reason. These entitlements cannot be removed via the API.", + "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. ", "id": "Entitlement", "properties": { "productId": { @@ -3447,7 +3447,7 @@ "type": "object" }, "GroupLicense": { - "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. Group license objects allow you to keep track of licenses (called entitlements) for both free and paid apps. For a free app, a group license is created when an enterprise admin first approves the product in Google Play or when the first entitlement for the product is created for a user via the API. For a paid app, a group license object is only created when an enterprise admin purchases the product in Google Play for the first time. Use the API to query group licenses. A Grouplicenses resource includes the total number of licenses purchased (paid apps only) and the total number of licenses currently in use. In other words, the total number of Entitlements that exist for the product. Only one group license object is created per product and group license objects are never deleted. If a product is unapproved, its group license remains. This allows enterprise admins to keep track of any remaining entitlements for the product.", + "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", "id": "GroupLicense", "properties": { "acquisitionKind": { @@ -3678,7 +3678,7 @@ "type": "object" }, "ManagedConfiguration": { - "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. A managed configuration resource contains the set of managed properties defined by the app developer in the app's managed configurations schema, as well as any configuration variables defined for the user.", + "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", "id": "ManagedConfiguration", "properties": { "configurationVariables": { @@ -4582,7 +4582,7 @@ "type": "object" }, "ServiceAccountKey": { - "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations. Credentials that can be used to authenticate as a service account.", + "description": " *Deprecated:* New integrations cannot use this method and can refer to our new recommendations ", "id": "ServiceAccountKey", "properties": { "data": { diff --git a/androidenterprise/v1/androidenterprise-gen.go b/androidenterprise/v1/androidenterprise-gen.go index f48e4951fc3..e8d1effa39a 100644 --- a/androidenterprise/v1/androidenterprise-gen.go +++ b/androidenterprise/v1/androidenterprise-gen.go @@ -1337,25 +1337,7 @@ func (s EnterprisesSendTestPushNotificationResponse) MarshalJSON() ([]byte, erro } // Entitlement: *Deprecated:* New integrations cannot use this method and can -// refer to our new recommendations. The presence of an Entitlements resource -// indicates that a user has the right to use a particular app. Entitlements -// are user specific, not device specific. This allows a user with an -// entitlement to an app to install the app on all their devices. It's also -// possible for a user to hold an entitlement to an app without installing the -// app on any device. The API can be used to create an entitlement. As an -// option, you can also use the API to trigger the installation of an app on -// all a user's managed devices at the same time the entitlement is created. If -// the app is free, creating the entitlement also creates a group license for -// that app. For paid apps, creating the entitlement consumes one license, and -// that license remains consumed until the entitlement is removed. If the -// enterprise hasn't purchased enough licenses, then no entitlement is created -// and the installation fails. An entitlement is also not created for an app if -// the app requires permissions that the enterprise hasn't accepted. If an -// entitlement is deleted, the app may be uninstalled from a user's device. As -// a best practice, uninstall the app by calling Installs.delete() before -// deleting the entitlement. Entitlements for apps that a user pays for on an -// unmanaged profile have "userPurchase" as the entitlement reason. These -// entitlements cannot be removed via the API. +// refer to our new recommendations. type Entitlement struct { // ProductId: The ID of the product that the entitlement is for. For example, // "app:com.google.android.gm". @@ -1452,20 +1434,7 @@ func (s GoogleAuthenticationSettings) MarshalJSON() ([]byte, error) { } // GroupLicense: *Deprecated:* New integrations cannot use this method and can -// refer to our new recommendations. Group license objects allow you to keep -// track of licenses (called entitlements) for both free and paid apps. For a -// free app, a group license is created when an enterprise admin first approves -// the product in Google Play or when the first entitlement for the product is -// created for a user via the API. For a paid app, a group license object is -// only created when an enterprise admin purchases the product in Google Play -// for the first time. Use the API to query group licenses. A Grouplicenses -// resource includes the total number of licenses purchased (paid apps only) -// and the total number of licenses currently in use. In other words, the total -// number of Entitlements that exist for the product. Only one group license -// object is created per product and group license objects are never deleted. -// If a product is unapproved, its group license remains. This allows -// enterprise admins to keep track of any remaining entitlements for the -// product. +// refer to our new recommendations type GroupLicense struct { // AcquisitionKind: How this group license was acquired. "bulkPurchase" means // that this Grouplicenses resource was created because the enterprise @@ -1801,10 +1770,7 @@ func (s MaintenanceWindow) MarshalJSON() ([]byte, error) { } // ManagedConfiguration: *Deprecated:* New integrations cannot use this method -// and can refer to our new recommendations. A managed configuration resource -// contains the set of managed properties defined by the app developer in the -// app's managed configurations schema, as well as any configuration variables -// defined for the user. +// and can refer to our new recommendations type ManagedConfiguration struct { // ConfigurationVariables: Contains the ID of the managed configuration profile // and the set of configuration variables (if any) defined for the user. @@ -2872,8 +2838,7 @@ func (s ServiceAccount) MarshalJSON() ([]byte, error) { } // ServiceAccountKey: *Deprecated:* New integrations cannot use this method -// and can refer to our new recommendations. Credentials that can be used to -// authenticate as a service account. +// and can refer to our new recommendations type ServiceAccountKey struct { // Data: The body of the private key credentials file, in string format. This // is only populated when the ServiceAccountKey is created, and is not stored diff --git a/androidpublisher/v3/androidpublisher-api.json b/androidpublisher/v3/androidpublisher-api.json index 5aedd98ba62..0fd37bd48a6 100644 --- a/androidpublisher/v3/androidpublisher-api.json +++ b/androidpublisher/v3/androidpublisher-api.json @@ -4731,7 +4731,7 @@ } } }, - "revision": "20240814", + "revision": "20240820", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -6226,6 +6226,17 @@ }, "type": "object" }, + "ExternalOfferInitialAcquisitionDetails": { + "description": "Details about the first time a user/device completed a transaction using external offers.", + "id": "ExternalOfferInitialAcquisitionDetails", + "properties": { + "externalTransactionId": { + "description": "Required. The external transaction id of the first completed purchase made by the user.", + "type": "string" + } + }, + "type": "object" + }, "ExternalSubscription": { "description": "Details of an external subscription.", "id": "ExternalSubscription", @@ -6267,6 +6278,10 @@ "description": "Output only. The current tax amount. This represents the current tax amount including any refunds that may have been applied to this transaction.", "readOnly": true }, + "externalOfferInitialAcquisitionDetails": { + "$ref": "ExternalOfferInitialAcquisitionDetails", + "description": "Optional. Details about the first time a user/device completed a transaction using external offers. Not required for transactions made using user choice billing or alternative billing only." + }, "externalTransactionId": { "description": "Output only. The id of this transaction. All transaction ids under the same package name must be unique. Set when creating the external transaction.", "readOnly": true, diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go index 1cd7d46787f..9f9c53755d4 100644 --- a/androidpublisher/v3/androidpublisher-gen.go +++ b/androidpublisher/v3/androidpublisher-gen.go @@ -2652,6 +2652,30 @@ func (s ExternalAccountIdentifiers) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ExternalOfferInitialAcquisitionDetails: Details about the first time a +// user/device completed a transaction using external offers. +type ExternalOfferInitialAcquisitionDetails struct { + // ExternalTransactionId: Required. The external transaction id of the first + // completed purchase made by the user. + ExternalTransactionId string `json:"externalTransactionId,omitempty"` + // ForceSendFields is a list of field names (e.g. "ExternalTransactionId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ExternalTransactionId") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExternalOfferInitialAcquisitionDetails) MarshalJSON() ([]byte, error) { + type NoMethod ExternalOfferInitialAcquisitionDetails + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ExternalSubscription: Details of an external subscription. type ExternalSubscription struct { // SubscriptionType: Required. The type of the external subscription. @@ -2693,6 +2717,11 @@ type ExternalTransaction struct { // current tax amount including any refunds that may have been applied to this // transaction. CurrentTaxAmount *Price `json:"currentTaxAmount,omitempty"` + // ExternalOfferInitialAcquisitionDetails: Optional. Details about the first + // time a user/device completed a transaction using external offers. Not + // required for transactions made using user choice billing or alternative + // billing only. + ExternalOfferInitialAcquisitionDetails *ExternalOfferInitialAcquisitionDetails `json:"externalOfferInitialAcquisitionDetails,omitempty"` // ExternalTransactionId: Output only. The id of this transaction. All // transaction ids under the same package name must be unique. Set when // creating the external transaction. diff --git a/chat/v1/chat-api.json b/chat/v1/chat-api.json index 7262fc426f3..c1bf373c59e 100644 --- a/chat/v1/chat-api.json +++ b/chat/v1/chat-api.json @@ -318,6 +318,11 @@ "pattern": "^spaces/[^/]+$", "required": true, "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.delete` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -368,6 +373,11 @@ "pattern": "^spaces/[^/]+$", "required": true, "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` or `chat.admin.spaces.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -437,6 +447,11 @@ "format": "google-fieldmask", "location": "query", "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Some `FieldMask` values are not supported using admin access. For details, see the description of `update_mask`.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -452,6 +467,49 @@ "https://www.googleapis.com/auth/chat.spaces" ] }, + "search": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). Returns a list of spaces based on a user's search. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). The user must be an administrator for the Google Workspace organization. In the request, set `use_admin_access` to `true`.", + "flatPath": "v1/spaces:search", + "httpMethod": "GET", + "id": "chat.spaces.search", + "parameterOrder": [], + "parameters": { + "orderBy": { + "description": "Optional. How the list of spaces is ordered. Supported attributes to order by are: - `membership_count.joined_direct_human_user_count` — Denotes the count of human users that have directly joined a space. - `last_active_time` — Denotes the time when last eligible item is added to any topic of this space. - `create_time` — Denotes the time of the space creation. Valid ordering operation values are: - `ASC` for ascending. Default value. - `DESC` for descending. The supported syntax are: - `membership_count.joined_direct_human_user_count DESC` - `membership_count.joined_direct_human_user_count ASC` - `last_active_time DESC` - `last_active_time ASC` - `create_time DESC` - `create_time ASC`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of spaces to return. The service may return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", + "location": "query", + "type": "string" + }, + "query": { + "description": "Required. A search query. You can search by using the following parameters: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=`. `customer` is required and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = \"SPACE\" AND display_name:\"Hello\"` and an invalid example is `space_type = \"SPACE\" OR display_name:\"Hello\"`. Among the same field, `space_type` doesn't support `AND` or `OR` operators. `display_name`, 'space_history_state', and 'external_user_allowed' only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time \u003c \"2022-01-01T00:00:00+00:00\" AND last_active_time \u003e \"2023-01-01T00:00:00+00:00\"`. The following example queries are valid: ``` customer = \"customers/my_customer\" AND space_type = \"SPACE\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND display_name:\"Hello World\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (last_active_time \u003c \"2020-01-01T00:00:00+00:00\" OR last_active_time \u003e \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (display_name:\"Hello World\" OR display_name:\"Fun event\") AND (last_active_time \u003e \"2020-01-01T00:00:00+00:00\" AND last_active_time \u003c \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (create_time \u003e \"2019-01-01T00:00:00+00:00\" AND create_time \u003c \"2020-01-01T00:00:00+00:00\") AND (external_user_allowed = \"true\") AND (space_history_state = \"HISTORY_ON\" OR space_history_state = \"HISTORY_OFF\") ```", + "location": "query", + "type": "string" + }, + "useAdminAccess": { + "description": "When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). This method currently only supports admin access, thus only `true` is accepted for this field.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/spaces:search", + "response": { + "$ref": "SearchSpacesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chat.admin.spaces", + "https://www.googleapis.com/auth/chat.admin.spaces.readonly" + ] + }, "setup": { "description": "Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see [Set up a space with initial members](https://developers.google.com/workspace/chat/set-up-spaces). To specify the human members to add, add memberships with the appropriate `membership.member.name`. To add a human user, use `users/{user}`, where `{user}` can be the email address for the user. For users in the same Workspace organization `{user}` can also be the `id` for the person from the People API, or the `id` for the user in the Directory API. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can add the user to the space by setting the `membership.member.name` to `users/user@example.com` or `users/123456789`. To specify the Google groups to add, add memberships with the appropriate `membership.group_member.name`. To add or invite a Google group, use `groups/{group}`, where `{group}` is the `id` for the group from the Cloud Identity Groups API. For example, you can use [Cloud Identity Groups lookup API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) to retrieve the ID `123456789` for group email `group@example.com`, then you can add the group to the space by setting the `membership.group_member.name` to `groups/123456789`. Group email is not supported, and Google groups can only be added as members in named spaces. For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space. To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created. To create a DM between the calling user and the calling app, set `Space.singleUserBotDm` to `true` and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see [Invite or add a user or app to a space](https://developers.google.com/workspace/chat/create-members). If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned. Spaces with threaded replies aren't supported. If you receive the error message `ALREADY_EXISTS` when setting up a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces:setup", @@ -476,7 +534,7 @@ "members": { "methods": { "create": { - "description": "Creates a human membership or app membership for the calling app. Creating memberships for other apps isn't supported. For an example, see [Invite or add a user or a Google Chat app to a space](https://developers.google.com/workspace/chat/create-members). When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To specify the member to add, set the `membership.member.name` for the human or app member, or set the `membership.group_member.name` for the group member. - To add the calling app to a space or a direct message between two human users, use `users/app`. Unable to add other apps to the space. - To add a human user, use `users/{user}`, where `{user}` can be the email address for the user. For users in the same Workspace organization `{user}` can also be the `id` for the person from the People API, or the `id` for the user in the Directory API. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can add the user to the space by setting the `membership.member.name` to `users/user@example.com` or `users/123456789`. - To add or invite a Google group in a named space, use `groups/{group}`, where `{group}` is the `id` for the group from the Cloud Identity Groups API. For example, you can use [Cloud Identity Groups lookup API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) to retrieve the ID `123456789` for group email `group@example.com`, then you can add or invite the group to a named space by setting the `membership.group_member.name` to `groups/123456789`. Group email is not supported, and Google groups can only be added as members in named spaces.", + "description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "POST", "id": "chat.spaces.members.create", @@ -490,6 +548,11 @@ "pattern": "^spaces/[^/]+$", "required": true, "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/members", @@ -521,6 +584,11 @@ "pattern": "^spaces/[^/]+/members/[^/]+$", "required": true, "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Deleting app memberships in a space isn't supported using admin access.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -549,6 +617,11 @@ "pattern": "^spaces/[^/]+/members/[^/]+$", "required": true, "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` or `chat.admin.memberships.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Getting app memberships in a space isn't supported when using admin access.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -604,6 +677,11 @@ "description": "Optional. When `true`, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don't match the filter criteria aren't returned. Currently requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "location": "query", "type": "boolean" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.memberships.readonly` or `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Listing app memberships in a space isn't supported when using admin access.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/members", @@ -640,6 +718,11 @@ "format": "google-fieldmask", "location": "query", "type": "string" + }, + "useAdminAccess": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -781,7 +864,7 @@ ] }, "list": { - "description": "Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. For an example, see [List messages](/chat/api/guides/v1/messages/list). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", + "description": "Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, `{}`. For an example, see [List messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "flatPath": "v1/spaces/{spacesId}/messages", "httpMethod": "GET", "id": "chat.spaces.messages.list", @@ -1241,7 +1324,7 @@ } } }, - "revision": "20240813", + "revision": "20240818", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -2754,7 +2837,7 @@ }, "hostAppDataSource": { "$ref": "HostAppDataSourceMarkup", - "description": "A data source that's unique to a Google Workspace host application, such spaces in Google Chat." + "description": "A data source that's unique to a Google Workspace host application, such spaces in Google Chat. This field supports the Google API Client Libraries but isn't available in the Cloud Client Libraries. To learn more, see [Install the client libraries](https://developers.google.com/workspace/chat/libraries)." } }, "type": "object" @@ -3571,6 +3654,23 @@ }, "type": "object" }, + "MembershipCount": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview). Represents the count of memberships of a space, grouped into categories.", + "id": "MembershipCount", + "properties": { + "joinedDirectHumanUserCount": { + "description": "Count of human users that have directly joined the space, not counting users joined by having membership in a joined group.", + "format": "int32", + "type": "integer" + }, + "joinedGroupCount": { + "description": "Count of all groups that have directly joined the space.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "MembershipCreatedEventData": { "description": "Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`.", "id": "MembershipCreatedEventData", @@ -3969,6 +4069,29 @@ }, "type": "object" }, + "SearchSpacesResponse": { + "description": "Response with a list of spaces corresponding to the search spaces request.", + "id": "SearchSpacesResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be used to retrieve the next page. If this field is empty, there are no subsequent pages.", + "type": "string" + }, + "spaces": { + "description": "A page of the requested spaces.", + "items": { + "$ref": "Space" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of spaces that match the query, across all pages. If the result is over 10,000 spaces, this value is an estimate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Section": { "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's currently no need for layout properties (for example, float).", "id": "Section", @@ -4103,6 +4226,17 @@ "description": "Optional. Whether this space is created in `Import Mode` as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete.", "type": "boolean" }, + "lastActiveTime": { + "description": "Output only. Timestamp of the last message in the space. [Developer Preview](https://developers.google.com/workspace/preview).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "membershipCount": { + "$ref": "MembershipCount", + "description": "Output only. The count of joined memberships grouped by member type. Populated when the `space_type` is `SPACE`, `DIRECT_MESSAGE` or `GROUP_CHAT`. [Developer Preview](https://developers.google.com/workspace/preview).", + "readOnly": true + }, "name": { "description": "Resource name of the space. Format: `spaces/{space}`", "type": "string" diff --git a/chat/v1/chat-gen.go b/chat/v1/chat-gen.go index 48099c92680..3ce0d33696f 100644 --- a/chat/v1/chat-gen.go +++ b/chat/v1/chat-gen.go @@ -2656,7 +2656,10 @@ type GoogleAppsCardV1PlatformDataSource struct { // from their Google Workspace organization. CommonDataSource string `json:"commonDataSource,omitempty"` // HostAppDataSource: A data source that's unique to a Google Workspace host - // application, such spaces in Google Chat. + // application, such spaces in Google Chat. This field supports the Google API + // Client Libraries but isn't available in the Cloud Client Libraries. To learn + // more, see Install the client libraries + // (https://developers.google.com/workspace/chat/libraries). HostAppDataSource *HostAppDataSourceMarkup `json:"hostAppDataSource,omitempty"` // ForceSendFields is a list of field names (e.g. "CommonDataSource") to // unconditionally include in API requests. By default, fields with empty or @@ -3836,6 +3839,33 @@ func (s MembershipBatchUpdatedEventData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// MembershipCount: Developer Preview +// (https://developers.google.com/workspace/preview). Represents the count of +// memberships of a space, grouped into categories. +type MembershipCount struct { + // JoinedDirectHumanUserCount: Count of human users that have directly joined + // the space, not counting users joined by having membership in a joined group. + JoinedDirectHumanUserCount int64 `json:"joinedDirectHumanUserCount,omitempty"` + // JoinedGroupCount: Count of all groups that have directly joined the space. + JoinedGroupCount int64 `json:"joinedGroupCount,omitempty"` + // ForceSendFields is a list of field names (e.g. "JoinedDirectHumanUserCount") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "JoinedDirectHumanUserCount") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MembershipCount) MarshalJSON() ([]byte, error) { + type NoMethod MembershipCount + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // MembershipCreatedEventData: Event payload for a new membership. Event type: // `google.workspace.chat.membership.v1.created`. type MembershipCreatedEventData struct { @@ -4434,6 +4464,38 @@ func (s RichLinkMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// SearchSpacesResponse: Response with a list of spaces corresponding to the +// search spaces request. +type SearchSpacesResponse struct { + // NextPageToken: A token that can be used to retrieve the next page. If this + // field is empty, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + // Spaces: A page of the requested spaces. + Spaces []*Space `json:"spaces,omitempty"` + // TotalSize: The total number of spaces that match the query, across all + // pages. If the result is over 10,000 spaces, this value is an estimate. + TotalSize int64 `json:"totalSize,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SearchSpacesResponse) MarshalJSON() ([]byte, error) { + type NoMethod SearchSpacesResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Section: 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's currently no need for layout @@ -4646,6 +4708,14 @@ type Space struct { // of a data migration into Google Workspace. While spaces are being imported, // they aren't visible to users until the import is complete. ImportMode bool `json:"importMode,omitempty"` + // LastActiveTime: Output only. Timestamp of the last message in the space. + // Developer Preview (https://developers.google.com/workspace/preview). + LastActiveTime string `json:"lastActiveTime,omitempty"` + // MembershipCount: Output only. The count of joined memberships grouped by + // member type. Populated when the `space_type` is `SPACE`, `DIRECT_MESSAGE` or + // `GROUP_CHAT`. Developer Preview + // (https://developers.google.com/workspace/preview). + MembershipCount *MembershipCount `json:"membershipCount,omitempty"` // Name: Resource name of the space. Format: `spaces/{space}` Name string `json:"name,omitempty"` // SingleUserBotDm: Optional. Whether the space is a DM between a Chat app and @@ -5925,6 +5995,19 @@ func (r *SpacesService) Delete(name string) *SpacesDeleteCall { return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.delete` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +func (c *SpacesDeleteCall) UseAdminAccess(useAdminAccess bool) *SpacesDeleteCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -6159,6 +6242,19 @@ func (r *SpacesService) Get(name string) *SpacesGetCall { return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.spaces` or `chat.admin.spaces.readonly` OAuth 2.0 scopes +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +func (c *SpacesGetCall) UseAdminAccess(useAdminAccess bool) *SpacesGetCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -6487,6 +6583,21 @@ func (c *SpacesPatchCall) UpdateMask(updateMask string) *SpacesPatchCall { return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.spaces` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// Some `FieldMask` values are not supported using admin access. For details, +// see the description of `update_mask`. +func (c *SpacesPatchCall) UseAdminAccess(useAdminAccess bool) *SpacesPatchCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -6569,6 +6680,226 @@ func (c *SpacesPatchCall) Do(opts ...googleapi.CallOption) (*Space, error) { return ret, nil } +type SpacesSearchCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Search: Developer Preview (https://developers.google.com/workspace/preview). +// Returns a list of spaces based on a user's search. Requires user +// authentication +// (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). +// The user must be an administrator for the Google Workspace organization. In +// the request, set `use_admin_access` to `true`. +func (r *SpacesService) Search() *SpacesSearchCall { + c := &SpacesSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// OrderBy sets the optional parameter "orderBy": How the list of spaces is +// ordered. Supported attributes to order by are: - +// `membership_count.joined_direct_human_user_count` — Denotes the count of +// human users that have directly joined a space. - `last_active_time` — +// Denotes the time when last eligible item is added to any topic of this +// space. - `create_time` — Denotes the time of the space creation. Valid +// ordering operation values are: - `ASC` for ascending. Default value. - +// `DESC` for descending. The supported syntax are: - +// `membership_count.joined_direct_human_user_count DESC` - +// `membership_count.joined_direct_human_user_count ASC` - `last_active_time +// DESC` - `last_active_time ASC` - `create_time DESC` - `create_time ASC` +func (c *SpacesSearchCall) OrderBy(orderBy string) *SpacesSearchCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// spaces to return. The service may return fewer than this value. If +// unspecified, at most 100 spaces are returned. The maximum value is 1000. If +// you use a value more than 1000, it's automatically changed to 1000. +func (c *SpacesSearchCall) PageSize(pageSize int64) *SpacesSearchCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token, received from +// the previous search spaces call. Provide this parameter to retrieve the +// subsequent page. When paginating, all other parameters provided should match +// the call that provided the page token. Passing different values to the other +// parameters might lead to unexpected results. +func (c *SpacesSearchCall) PageToken(pageToken string) *SpacesSearchCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Query sets the optional parameter "query": Required. A search query. You can +// search by using the following parameters: - `create_time` - `customer` - +// `display_name` - `external_user_allowed` - `last_active_time` - +// `space_history_state` - `space_type` `create_time` and `last_active_time` +// accept a timestamp in RFC-3339 (https://www.rfc-editor.org/rfc/rfc3339) +// format and the supported comparison operators are: `=`, `<`, `>`, `<=`, +// `>=`. `customer` is required and is used to indicate which customer to fetch +// spaces from. `customers/my_customer` is the only supported value. +// `display_name` only accepts the `HAS` (`:`) operator. The text to match is +// first tokenized into tokens and each token is prefix-matched +// case-insensitively and independently as a substring anywhere in the space's +// `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening +// was fun`, but not `notFun event` or `even`. `external_user_allowed` accepts +// either `true` or `false`. `space_history_state` only accepts values from the +// [`historyState`] +// (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) +// field of a `space` resource. `space_type` is required and the only valid +// value is `SPACE`. Across different fields, only `AND` operators are +// supported. A valid example is `space_type = "SPACE" AND +// display_name:"Hello" and an invalid example is `space_type = "SPACE" OR +// display_name:"Hello". Among the same field, `space_type` doesn't support +// `AND` or `OR` operators. `display_name`, 'space_history_state', and +// 'external_user_allowed' only support `OR` operators. `last_active_time` and +// `create_time` support both `AND` and `OR` operators. `AND` can only be used +// to represent an interval, such as `last_active_time < +// "2022-01-01T00:00:00+00:00" AND last_active_time > +// "2023-01-01T00:00:00+00:00". The following example queries are valid: ``` +// customer = "customers/my_customer" AND space_type = "SPACE" customer = +// "customers/my_customer" AND space_type = "SPACE" AND display_name:"Hello +// World" customer = "customers/my_customer" AND space_type = "SPACE" AND +// (last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time > +// "2022-01-01T00:00:00+00:00") customer = "customers/my_customer" AND +// space_type = "SPACE" AND (display_name:"Hello World" OR display_name:"Fun +// event") AND (last_active_time > "2020-01-01T00:00:00+00:00" AND +// last_active_time < "2022-01-01T00:00:00+00:00") customer = +// "customers/my_customer" AND space_type = "SPACE" AND (create_time > +// "2019-01-01T00:00:00+00:00" AND create_time < "2020-01-01T00:00:00+00:00") +// AND (external_user_allowed = "true") AND (space_history_state = "HISTORY_ON" +// OR space_history_state = "HISTORY_OFF") ``` +func (c *SpacesSearchCall) Query(query string) *SpacesSearchCall { + c.urlParams_.Set("query", query) + return c +} + +// UseAdminAccess sets the optional parameter "useAdminAccess": When `true`, +// the method runs using the user's Google Workspace administrator privileges. +// The calling user must be a Google Workspace administrator with the manage +// chat and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires either the +// `chat.admin.spaces.readonly` or `chat.admin.spaces` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// This method currently only supports admin access, thus only `true` is +// accepted for this field. +func (c *SpacesSearchCall) UseAdminAccess(useAdminAccess bool) *SpacesSearchCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *SpacesSearchCall) Fields(s ...googleapi.Field) *SpacesSearchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *SpacesSearchCall) IfNoneMatch(entityTag string) *SpacesSearchCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *SpacesSearchCall) Context(ctx context.Context) *SpacesSearchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *SpacesSearchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpacesSearchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/spaces:search") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "chat.spaces.search" call. +// Any non-2xx status code is an error. Response headers are in either +// *SearchSpacesResponse.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 *SpacesSearchCall) Do(opts ...googleapi.CallOption) (*SearchSpacesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &SearchSpacesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *SpacesSearchCall) Pages(ctx context.Context, f func(*SearchSpacesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + type SpacesSetupCall struct { s *Service setupspacerequest *SetUpSpaceRequest @@ -6710,33 +7041,19 @@ type SpacesMembersCreateCall struct { header_ http.Header } -// Create: Creates a human membership or app membership for the calling app. -// Creating memberships for other apps isn't supported. For an example, see -// Invite or add a user or a Google Chat app to a space -// (https://developers.google.com/workspace/chat/create-members). When creating -// a membership, if the specified member has their auto-accept policy turned -// off, then they're invited, and must accept the space invitation before -// joining. Otherwise, creating a membership adds the member directly to the -// specified space. Requires user authentication +// Create: Creates a membership for the calling Chat app, a user, or a Google +// Group. Creating memberships for other Chat apps isn't supported. When +// creating a membership, if the specified member has their auto-accept policy +// turned off, then they're invited, and must accept the space invitation +// before joining. Otherwise, creating a membership adds the member directly to +// the specified space. Requires user authentication // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). -// To specify the member to add, set the `membership.member.name` for the human -// or app member, or set the `membership.group_member.name` for the group -// member. - To add the calling app to a space or a direct message between two -// human users, use `users/app`. Unable to add other apps to the space. - To -// add a human user, use `users/{user}`, where `{user}` can be the email -// address for the user. For users in the same Workspace organization `{user}` -// can also be the `id` for the person from the People API, or the `id` for the -// user in the Directory API. For example, if the People API Person profile ID -// for `user@example.com` is `123456789`, you can add the user to the space by -// setting the `membership.member.name` to `users/user@example.com` or -// `users/123456789`. - To add or invite a Google group in a named space, use -// `groups/{group}`, where `{group}` is the `id` for the group from the Cloud -// Identity Groups API. For example, you can use Cloud Identity Groups lookup -// API (https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) -// to retrieve the ID `123456789` for group email `group@example.com`, then you -// can add or invite the group to a named space by setting the -// `membership.group_member.name` to `groups/123456789`. Group email is not -// supported, and Google groups can only be added as members in named spaces. +// For example usage, see: - Invite or add a user to a space +// (https://developers.google.com/workspace/chat/create-members#create-user-membership). +// - Invite or add a Google Group to a space +// (https://developers.google.com/workspace/chat/create-members#create-group-membership). +// - Add the Chat app to a space +// (https://developers.google.com/workspace/chat/create-members#create-membership-calling-api). // // - parent: The resource name of the space for which to create the membership. // Format: spaces/{space}. @@ -6747,6 +7064,22 @@ func (r *SpacesMembersService) Create(parent string, membership *Membership) *Sp return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.memberships` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// Creating app memberships or creating memberships for users outside the +// administrator's Google Workspace organization isn't supported using admin +// access. +func (c *SpacesMembersCreateCall) UseAdminAccess(useAdminAccess bool) *SpacesMembersCreateCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -6859,6 +7192,20 @@ func (r *SpacesMembersService) Delete(name string) *SpacesMembersDeleteCall { return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.memberships` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// Deleting app memberships in a space isn't supported using admin access. +func (c *SpacesMembersDeleteCall) UseAdminAccess(useAdminAccess bool) *SpacesMembersDeleteCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -6972,6 +7319,21 @@ func (r *SpacesMembersService) Get(name string) *SpacesMembersGetCall { return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.memberships` or `chat.admin.memberships.readonly` OAuth 2.0 +// scopes +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// Getting app memberships in a space isn't supported when using admin access. +func (c *SpacesMembersGetCall) UseAdminAccess(useAdminAccess bool) *SpacesMembersGetCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -7157,6 +7519,21 @@ func (c *SpacesMembersListCall) ShowInvited(showInvited bool) *SpacesMembersList return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires either the +// `chat.admin.memberships.readonly` or `chat.admin.memberships` OAuth 2.0 +// scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +// Listing app memberships in a space isn't supported when using admin access. +func (c *SpacesMembersListCall) UseAdminAccess(useAdminAccess bool) *SpacesMembersListCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -7299,6 +7676,19 @@ func (c *SpacesMembersPatchCall) UpdateMask(updateMask string) *SpacesMembersPat return c } +// UseAdminAccess sets the optional parameter "useAdminAccess": Developer +// Preview (https://developers.google.com/workspace/preview). When `true`, the +// method runs using the user's Google Workspace administrator privileges. The +// calling user must be a Google Workspace administrator with the manage chat +// and spaces conversations privilege +// (https://support.google.com/a/answer/13369245). Requires the +// `chat.admin.memberships` OAuth 2.0 scope +// (https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). +func (c *SpacesMembersPatchCall) UseAdminAccess(useAdminAccess bool) *SpacesMembersPatchCall { + c.urlParams_.Set("useAdminAccess", fmt.Sprint(useAdminAccess)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -7798,8 +8188,12 @@ type SpacesMessagesListCall struct { } // List: Lists messages in a space that the caller is a member of, including -// messages from blocked members and spaces. For an example, see List messages -// (/chat/api/guides/v1/messages/list). Requires user authentication +// messages from blocked members and spaces. If you list messages from a space +// with no messages, the response is an empty object. When using a REST/HTTP +// interface, the response contains an empty JSON object, `{}`. For an example, +// see List messages +// (https://developers.google.com/workspace/chat/api/guides/v1/messages/list). +// Requires user authentication // (https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). // // - parent: The resource name of the space to list messages from. Format: diff --git a/cloudasset/v1/cloudasset-api.json b/cloudasset/v1/cloudasset-api.json index 48fefcfb342..1f05e38da24 100644 --- a/cloudasset/v1/cloudasset-api.json +++ b/cloudasset/v1/cloudasset-api.json @@ -358,6 +358,59 @@ }, "operations": { "methods": { + "cancel": { + "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/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudasset.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "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/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "cloudasset.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}", @@ -1095,7 +1148,7 @@ } } }, - "revision": "20240803", + "revision": "20240816", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -1371,6 +1424,17 @@ }, "type": "object" }, + "AssetEnrichment": { + "description": "The enhanced metadata information for a resource.", + "id": "AssetEnrichment", + "properties": { + "resourceOwners": { + "$ref": "ResourceOwners", + "description": "The resource owners for a resource. Note that this field only contains the members that have \"roles/owner\" role in the resource's IAM Policy." + } + }, + "type": "object" + }, "AttachedResource": { "description": "Attached resource representation, which is defined by the corresponding service provider. It represents an attached resource's payload.", "id": "AttachedResource", @@ -1514,6 +1578,12 @@ }, "type": "object" }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "ConditionContext": { "description": "The IAM conditions context.", "id": "ConditionContext", @@ -4075,6 +4145,20 @@ }, "type": "object" }, + "ResourceOwners": { + "description": "The resource owners information.", + "id": "ResourceOwners", + "properties": { + "resourceOwners": { + "description": "List of resource owners.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ResourceSearchResult": { "description": "A result of Resource Search, containing information of a cloud resource.", "id": "ResourceSearchResult", @@ -4118,6 +4202,13 @@ }, "type": "array" }, + "enrichments": { + "description": "Enrichments of the asset.", + "items": { + "$ref": "AssetEnrichment" + }, + "type": "array" + }, "folders": { "description": "The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the resource belongs to one or more folders. To search against `folders`: * Use a field query. Example: `folders:(123 OR 456)` * Use a free text query. Example: `123` * Specify the `scope` field as this folder in your search request.", "items": { diff --git a/cloudasset/v1/cloudasset-gen.go b/cloudasset/v1/cloudasset-gen.go index 2ed3f555ba6..280f27a2818 100644 --- a/cloudasset/v1/cloudasset-gen.go +++ b/cloudasset/v1/cloudasset-gen.go @@ -635,6 +635,30 @@ func (s Asset) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AssetEnrichment: The enhanced metadata information for a resource. +type AssetEnrichment struct { + // ResourceOwners: The resource owners for a resource. Note that this field + // only contains the members that have "roles/owner" role in the resource's IAM + // Policy. + ResourceOwners *ResourceOwners `json:"resourceOwners,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceOwners") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceOwners") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s AssetEnrichment) MarshalJSON() ([]byte, error) { + type NoMethod AssetEnrichment + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // AttachedResource: Attached resource representation, which is defined by the // corresponding service provider. It represents an attached resource's // payload. @@ -974,6 +998,10 @@ func (s Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// CancelOperationRequest: The request message for Operations.CancelOperation. +type CancelOperationRequest struct { +} + // ConditionContext: The IAM conditions context. type ConditionContext struct { // AccessTime: The hypothetical access timestamp to evaluate IAM conditions. @@ -4949,6 +4977,28 @@ func (s Resource) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ResourceOwners: The resource owners information. +type ResourceOwners struct { + // ResourceOwners: List of resource owners. + ResourceOwners []string `json:"resourceOwners,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceOwners") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceOwners") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ResourceOwners) MarshalJSON() ([]byte, error) { + type NoMethod ResourceOwners + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ResourceSearchResult: A result of Resource Search, containing information of // a cloud resource. type ResourceSearchResult struct { @@ -5009,6 +5059,8 @@ type ResourceSearchResult struct { // `effectiveTagValues="123456789/env/prod" - // `effectiveTagValueIds="tagValues/456" EffectiveTags []*EffectiveTagDetails `json:"effectiveTags,omitempty"` + // Enrichments: Enrichments of the asset. + Enrichments []*AssetEnrichment `json:"enrichments,omitempty"` // Folders: The folder(s) that this resource belongs to, in the form of // folders/{FOLDER_NUMBER}. This field is available when the resource belongs // to one or more folders. To search against `folders`: * Use a field query. @@ -6674,6 +6726,213 @@ func (c *FeedsPatchCall) Do(opts ...googleapi.CallOption) (*Feed, error) { return ret, nil } +type OperationsCancelCall struct { + s *Service + name string + canceloperationrequest *CancelOperationRequest + 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`. +// +// - name: The name of the operation resource to be cancelled. +func (r *OperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *OperationsCancelCall { + c := &OperationsCancelCall{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 +// details. +func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *OperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") + 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 "cloudasset.operations.cancel" call. +// 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 *OperationsCancelCall) 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, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &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 +} + +type OperationsDeleteCall struct { + s *Service + name string + 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`. +// +// - name: The name of the operation resource to be deleted. +func (r *OperationsService) Delete(name string) *OperationsDeleteCall { + c := &OperationsDeleteCall{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 +// details. +func (c *OperationsDeleteCall) Fields(s ...googleapi.Field) *OperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *OperationsDeleteCall) Context(ctx context.Context) *OperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *OperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "cloudasset.operations.delete" call. +// 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 *OperationsDeleteCall) 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, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &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 +} + type OperationsGetCall struct { s *Service name string diff --git a/cloudcontrolspartner/v1/cloudcontrolspartner-api.json b/cloudcontrolspartner/v1/cloudcontrolspartner-api.json index 650444a3e2e..0b3c7c3eecb 100644 --- a/cloudcontrolspartner/v1/cloudcontrolspartner-api.json +++ b/cloudcontrolspartner/v1/cloudcontrolspartner-api.json @@ -484,7 +484,7 @@ } } }, - "revision": "20240731", + "revision": "20240814", "rootUrl": "https://cloudcontrolspartner.googleapis.com/", "schemas": { "AccessApprovalRequest": { @@ -598,7 +598,7 @@ "readOnly": true }, "displayName": { - "description": "Optional. The customer organization's display name. E.g. \"Google\".", + "description": "The customer organization's display name. E.g. \"Google\".", "type": "string" }, "isOnboarded": { diff --git a/cloudcontrolspartner/v1/cloudcontrolspartner-gen.go b/cloudcontrolspartner/v1/cloudcontrolspartner-gen.go index 8bde6530964..bb697624ea9 100644 --- a/cloudcontrolspartner/v1/cloudcontrolspartner-gen.go +++ b/cloudcontrolspartner/v1/cloudcontrolspartner-gen.go @@ -360,8 +360,7 @@ type Customer struct { // CustomerOnboardingState: Output only. Container for customer onboarding // steps CustomerOnboardingState *CustomerOnboardingState `json:"customerOnboardingState,omitempty"` - // DisplayName: Optional. The customer organization's display name. E.g. - // "Google". + // DisplayName: The customer organization's display name. E.g. "Google". DisplayName string `json:"displayName,omitempty"` // IsOnboarded: Output only. Indicates whether a customer is fully onboarded IsOnboarded bool `json:"isOnboarded,omitempty"` diff --git a/cloudcontrolspartner/v1beta/cloudcontrolspartner-api.json b/cloudcontrolspartner/v1beta/cloudcontrolspartner-api.json index 8cb6223cdec..b4041f398f9 100644 --- a/cloudcontrolspartner/v1beta/cloudcontrolspartner-api.json +++ b/cloudcontrolspartner/v1beta/cloudcontrolspartner-api.json @@ -484,7 +484,7 @@ } } }, - "revision": "20240731", + "revision": "20240814", "rootUrl": "https://cloudcontrolspartner.googleapis.com/", "schemas": { "AccessApprovalRequest": { @@ -598,7 +598,7 @@ "readOnly": true }, "displayName": { - "description": "Optional. The customer organization's display name. E.g. \"Google\".", + "description": "The customer organization's display name. E.g. \"Google\".", "type": "string" }, "isOnboarded": { diff --git a/cloudcontrolspartner/v1beta/cloudcontrolspartner-gen.go b/cloudcontrolspartner/v1beta/cloudcontrolspartner-gen.go index 57a3e92e1ea..6bceb50671e 100644 --- a/cloudcontrolspartner/v1beta/cloudcontrolspartner-gen.go +++ b/cloudcontrolspartner/v1beta/cloudcontrolspartner-gen.go @@ -360,8 +360,7 @@ type Customer struct { // CustomerOnboardingState: Output only. Container for customer onboarding // steps CustomerOnboardingState *CustomerOnboardingState `json:"customerOnboardingState,omitempty"` - // DisplayName: Optional. The customer organization's display name. E.g. - // "Google". + // DisplayName: The customer organization's display name. E.g. "Google". DisplayName string `json:"displayName,omitempty"` // IsOnboarded: Output only. Indicates whether a customer is fully onboarded IsOnboarded bool `json:"isOnboarded,omitempty"` diff --git a/cloudtrace/v1/cloudtrace-api.json b/cloudtrace/v1/cloudtrace-api.json index 7c87ead472f..3c14bffdfbb 100644 --- a/cloudtrace/v1/cloudtrace-api.json +++ b/cloudtrace/v1/cloudtrace-api.json @@ -257,7 +257,7 @@ } } }, - "revision": "20240102", + "revision": "20240816", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { @@ -333,7 +333,7 @@ "additionalProperties": { "type": "string" }, - "description": "Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for `/stacktrace` values). Some predefined label keys exist, or you may create your own. When creating your own, we recommend the following formats: * `/category/product/key` for agents of well-known products (e.g. `/db/mongodb/read_size`). * `short_host/path/key` for domain-specific keys (e.g. `foo.com/myproduct/bar`) Predefined labels include: * `/agent` * `/component` * `/error/message` * `/error/name` * `/http/client_city` * `/http/client_country` * `/http/client_protocol` * `/http/client_region` * `/http/host` * `/http/method` * `/http/path` * `/http/redirected_url` * `/http/request/size` * `/http/response/size` * `/http/route` * `/http/status_code` * `/http/url` * `/http/user_agent` * `/pid` * `/stacktrace` * `/tid`", + "description": "Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 KiB. Some keys might have predefined meaning, and you can also create your own. For more information, see [Cloud Trace labels](https://cloud.google.com/trace/docs/trace-labels).", "type": "object" }, "name": { diff --git a/cloudtrace/v1/cloudtrace-gen.go b/cloudtrace/v1/cloudtrace-gen.go index 17eaa315f8e..83ef93afed1 100644 --- a/cloudtrace/v1/cloudtrace-gen.go +++ b/cloudtrace/v1/cloudtrace-gen.go @@ -281,18 +281,10 @@ type TraceSpan struct { // around an RPC or other remote request. Kind string `json:"kind,omitempty"` // Labels: Collection of labels associated with the span. Label keys must be - // less than 128 bytes. Label values must be less than 16 kilobytes (10MB for - // `/stacktrace` values). Some predefined label keys exist, or you may create - // your own. When creating your own, we recommend the following formats: * - // `/category/product/key` for agents of well-known products (e.g. - // `/db/mongodb/read_size`). * `short_host/path/key` for domain-specific keys - // (e.g. `foo.com/myproduct/bar`) Predefined labels include: * `/agent` * - // `/component` * `/error/message` * `/error/name` * `/http/client_city` * - // `/http/client_country` * `/http/client_protocol` * `/http/client_region` * - // `/http/host` * `/http/method` * `/http/path` * `/http/redirected_url` * - // `/http/request/size` * `/http/response/size` * `/http/route` * - // `/http/status_code` * `/http/url` * `/http/user_agent` * `/pid` * - // `/stacktrace` * `/tid` + // less than 128 bytes. Label values must be less than 16 KiB. Some keys might + // have predefined meaning, and you can also create your own. For more + // information, see Cloud Trace labels + // (https://cloud.google.com/trace/docs/trace-labels). Labels map[string]string `json:"labels,omitempty"` // Name: Name of the span. Must be less than 128 bytes. The span name is // sanitized and displayed in the Trace tool in the Google Cloud Platform diff --git a/containeranalysis/v1alpha1/containeranalysis-api.json b/containeranalysis/v1alpha1/containeranalysis-api.json index 974425258f2..3d778c1e716 100644 --- a/containeranalysis/v1alpha1/containeranalysis-api.json +++ b/containeranalysis/v1alpha1/containeranalysis-api.json @@ -16,10 +16,190 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://containeranalysis.me-central2.rep.googleapis.com/", "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -1240,7 +1420,7 @@ } } }, - "revision": "20240704", + "revision": "20240816", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AnalysisCompleted": { diff --git a/containeranalysis/v1beta1/containeranalysis-api.json b/containeranalysis/v1beta1/containeranalysis-api.json index 24fd8c7514f..5c242b0bc7a 100644 --- a/containeranalysis/v1beta1/containeranalysis-api.json +++ b/containeranalysis/v1beta1/containeranalysis-api.json @@ -16,10 +16,190 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://containeranalysis.me-central2.rep.googleapis.com/", "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://containeranalysis.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -1363,7 +1543,7 @@ } } }, - "revision": "20240726", + "revision": "20240816", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { diff --git a/datastream/v1/datastream-api.json b/datastream/v1/datastream-api.json index c53eb2a522b..d81a01da7b4 100644 --- a/datastream/v1/datastream-api.json +++ b/datastream/v1/datastream-api.json @@ -1065,7 +1065,7 @@ ] }, "run": { - "description": "Use this method to start, resume or recover a stream with a non default CDC strategy. NOTE: This feature is currently experimental.", + "description": "Use this method to start, resume or recover a stream with a non default CDC strategy.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}:run", "httpMethod": "POST", "id": "datastream.projects.locations.streams.run", @@ -1250,7 +1250,7 @@ } } }, - "revision": "20240529", + "revision": "20240814", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { diff --git a/datastream/v1/datastream-gen.go b/datastream/v1/datastream-gen.go index 3f9b5d1679b..d28421c84fc 100644 --- a/datastream/v1/datastream-gen.go +++ b/datastream/v1/datastream-gen.go @@ -6003,7 +6003,7 @@ type ProjectsLocationsStreamsRunCall struct { } // Run: Use this method to start, resume or recover a stream with a non default -// CDC strategy. NOTE: This feature is currently experimental. +// CDC strategy. // // - name: Name of the stream resource to start, in the format: // projects/{project_id}/locations/{location}/streams/{stream_name}. diff --git a/discoveryengine/v1/discoveryengine-api.json b/discoveryengine/v1/discoveryengine-api.json index 61f4f1da2a4..3bc00eb5359 100644 --- a/discoveryengine/v1/discoveryengine-api.json +++ b/discoveryengine/v1/discoveryengine-api.json @@ -496,6 +496,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -3790,6 +3796,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -5974,7 +5986,7 @@ } } }, - "revision": "20240813", + "revision": "20240817", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -7089,6 +7101,10 @@ "description": "The metadata of a Document.", "id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata", "properties": { + "dataIngestionSource": { + "description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", + "type": "string" + }, "lastRefreshedTime": { "description": "The timestamp of the last time the Document was last indexed.", "format": "google-datetime", @@ -7121,6 +7137,10 @@ "description": "The value of the matcher that was used to match the Document.", "id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { + "fhirResource": { + "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "type": "string" + }, "uri": { "description": "If match by URI, the URI of the Document.", "type": "string" @@ -8134,7 +8154,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -8143,7 +8164,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, @@ -10603,7 +10625,7 @@ "id": "GoogleCloudDiscoveryengineV1SearchResponse", "properties": { "attributionToken": { - "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance.", + "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", "type": "string" }, "correctedQuery": { @@ -12342,7 +12364,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -12351,7 +12374,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, @@ -15445,7 +15469,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -15454,7 +15479,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, diff --git a/discoveryengine/v1/discoveryengine-gen.go b/discoveryengine/v1/discoveryengine-gen.go index afa03477408..eb1ded85029 100644 --- a/discoveryengine/v1/discoveryengine-gen.go +++ b/discoveryengine/v1/discoveryengine-gen.go @@ -2431,6 +2431,10 @@ func (s GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponse) MarshalJS // GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata // : The metadata of a Document. type GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata struct { + // DataIngestionSource: The data ingestion source of the Document. Allowed + // values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * + // `streaming` Data ingested via Streaming API, e.g., FHIR streaming. + DataIngestionSource string `json:"dataIngestionSource,omitempty"` // LastRefreshedTime: The timestamp of the last time the Document was last // indexed. LastRefreshedTime string `json:"lastRefreshedTime,omitempty"` @@ -2445,15 +2449,15 @@ type GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetada // is not in the TargetSite. // "STATUS_NOT_IN_INDEX" - The Document is not indexed. Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "LastRefreshedTime") to + // ForceSendFields is a list of field names (e.g. "DataIngestionSource") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastRefreshedTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "DataIngestionSource") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -2466,17 +2470,21 @@ func (s GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMet // GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadata // MatcherValue: The value of the matcher that was used to match the Document. type GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue struct { + // FhirResource: Required. Format: + // projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s + // tore}/fhir/{resource_type}/{fhir_resource_id} + FhirResource string `json:"fhirResource,omitempty"` // Uri: If match by URI, the URI of the Document. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "FhirResource") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Uri") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "FhirResource") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -3908,6 +3916,8 @@ type GoogleCloudDiscoveryengineV1CustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -7618,7 +7628,8 @@ func (s GoogleCloudDiscoveryengineV1SearchRequestSpellCorrectionSpec) MarshalJSO type GoogleCloudDiscoveryengineV1SearchResponse struct { // AttributionToken: A unique search token. This should be included in the // UserEvent logs resulting from this search, which enables accurate - // attribution of search model performance. + // attribution of search model performance. This also helps to identify a + // request during the customer support scenarios. AttributionToken string `json:"attributionToken,omitempty"` // CorrectedQuery: Contains the spell corrected query, if found. If the spell // correction type is AUTOMATIC, then the search results are based on @@ -10001,6 +10012,8 @@ type GoogleCloudDiscoveryengineV1alphaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -14352,6 +14365,8 @@ type GoogleCloudDiscoveryengineV1betaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -18956,6 +18971,16 @@ func (r *ProjectsLocationsCollectionsDataStoresBranchesService) BatchGetDocument return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { @@ -31079,6 +31104,16 @@ func (r *ProjectsLocationsDataStoresBranchesService) BatchGetDocumentsMetadata(p return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { diff --git a/discoveryengine/v1alpha/discoveryengine-api.json b/discoveryengine/v1alpha/discoveryengine-api.json index 7bc496fc4e7..060b8e64baa 100644 --- a/discoveryengine/v1alpha/discoveryengine-api.json +++ b/discoveryengine/v1alpha/discoveryengine-api.json @@ -691,6 +691,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -4493,6 +4499,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -7505,7 +7517,7 @@ } } }, - "revision": "20240813", + "revision": "20240817", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -10281,6 +10293,10 @@ "description": "The metadata of a Document.", "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata", "properties": { + "dataIngestionSource": { + "description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", + "type": "string" + }, "lastRefreshedTime": { "description": "The timestamp of the last time the Document was last indexed.", "format": "google-datetime", @@ -10313,6 +10329,10 @@ "description": "The value of the matcher that was used to match the Document.", "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { + "fhirResource": { + "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "type": "string" + }, "uri": { "description": "If match by URI, the URI of the Document.", "type": "string" @@ -11439,7 +11459,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -11448,7 +11469,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, @@ -15442,7 +15464,7 @@ "type": "array" }, "attributionToken": { - "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance.", + "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", "type": "string" }, "correctedQuery": { @@ -15734,6 +15756,10 @@ "description": "Name of the numerical field as defined in the schema.", "type": "string" }, + "querySegment": { + "description": "Identifies the keywords within the search query that match a filter.", + "type": "string" + }, "value": { "description": "The value specified in the numerical constraint.", "format": "double", @@ -17205,7 +17231,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -17214,7 +17241,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, diff --git a/discoveryengine/v1alpha/discoveryengine-gen.go b/discoveryengine/v1alpha/discoveryengine-gen.go index 4f1ff4eafc5..4516d8a755a 100644 --- a/discoveryengine/v1alpha/discoveryengine-gen.go +++ b/discoveryengine/v1alpha/discoveryengine-gen.go @@ -4931,6 +4931,10 @@ func (s GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse) Mars // GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMet // adata: The metadata of a Document. type GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata struct { + // DataIngestionSource: The data ingestion source of the Document. Allowed + // values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * + // `streaming` Data ingested via Streaming API, e.g., FHIR streaming. + DataIngestionSource string `json:"dataIngestionSource,omitempty"` // LastRefreshedTime: The timestamp of the last time the Document was last // indexed. LastRefreshedTime string `json:"lastRefreshedTime,omitempty"` @@ -4945,15 +4949,15 @@ type GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentM // is not in the TargetSite. // "STATUS_NOT_IN_INDEX" - The Document is not indexed. Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "LastRefreshedTime") to + // ForceSendFields is a list of field names (e.g. "DataIngestionSource") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastRefreshedTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "DataIngestionSource") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -4967,17 +4971,21 @@ func (s GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocume // adataMatcherValue: The value of the matcher that was used to match the // Document. type GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue struct { + // FhirResource: Required. Format: + // projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s + // tore}/fhir/{resource_type}/{fhir_resource_id} + FhirResource string `json:"fhirResource,omitempty"` // Uri: If match by URI, the URI of the Document. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "FhirResource") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Uri") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "FhirResource") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -6562,6 +6570,8 @@ type GoogleCloudDiscoveryengineV1alphaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -12471,7 +12481,8 @@ type GoogleCloudDiscoveryengineV1alphaSearchResponse struct { AppliedControls []string `json:"appliedControls,omitempty"` // AttributionToken: A unique search token. This should be included in the // UserEvent logs resulting from this search, which enables accurate - // attribution of search model performance. + // attribution of search model performance. This also helps to identify a + // request during the customer support scenarios. AttributionToken string `json:"attributionToken,omitempty"` // CorrectedQuery: Contains the spell corrected query, if found. If the spell // correction type is AUTOMATIC, then the search results are based on @@ -12848,6 +12859,9 @@ type GoogleCloudDiscoveryengineV1alphaSearchResponseNaturalLanguageQueryUndersta Comparison string `json:"comparison,omitempty"` // FieldName: Name of the numerical field as defined in the schema. FieldName string `json:"fieldName,omitempty"` + // QuerySegment: Identifies the keywords within the search query that match a + // filter. + QuerySegment string `json:"querySegment,omitempty"` // Value: The value specified in the numerical constraint. Value float64 `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Comparison") to @@ -14935,6 +14949,8 @@ type GoogleCloudDiscoveryengineV1betaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -20395,6 +20411,16 @@ func (r *ProjectsLocationsCollectionsDataStoresBranchesService) BatchGetDocument return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { @@ -34433,6 +34459,16 @@ func (r *ProjectsLocationsDataStoresBranchesService) BatchGetDocumentsMetadata(p return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { diff --git a/discoveryengine/v1beta/discoveryengine-api.json b/discoveryengine/v1beta/discoveryengine-api.json index 89dd27f0197..29c0a7f570d 100644 --- a/discoveryengine/v1beta/discoveryengine-api.json +++ b/discoveryengine/v1beta/discoveryengine-api.json @@ -496,6 +496,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -4064,6 +4070,12 @@ "parent" ], "parameters": { + "matcher.fhirMatcher.fhirResources": { + "description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "location": "query", + "repeated": true, + "type": "string" + }, "matcher.urisMatcher.uris": { "description": "The exact URIs to match by.", "location": "query", @@ -6774,7 +6786,7 @@ } } }, - "revision": "20240813", + "revision": "20240817", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -9213,7 +9225,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -9222,7 +9235,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, @@ -12952,6 +12966,10 @@ "description": "The metadata of a Document.", "id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadata", "properties": { + "dataIngestionSource": { + "description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", + "type": "string" + }, "lastRefreshedTime": { "description": "The timestamp of the last time the Document was last indexed.", "format": "google-datetime", @@ -12984,6 +13002,10 @@ "description": "The value of the matcher that was used to match the Document.", "id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { + "fhirResource": { + "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "type": "string" + }, "uri": { "description": "If match by URI, the URI of the Document.", "type": "string" @@ -14010,7 +14032,8 @@ "TRAINING_COMPLETE", "READY_FOR_SERVING", "TRAINING_FAILED", - "NO_IMPROVEMENT" + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" ], "enumDescriptions": [ "Default value.", @@ -14019,7 +14042,8 @@ "The model has successfully completed training.", "The model is ready for serving.", "The model training failed.", - "The model training finished successfully but metrics did not improve." + "The model training finished successfully but metrics did not improve.", + "Input data validation failed. Model training didn't start." ], "type": "string" }, @@ -17147,7 +17171,7 @@ "type": "array" }, "attributionToken": { - "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance.", + "description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", "type": "string" }, "correctedQuery": { @@ -17439,6 +17463,10 @@ "description": "Name of the numerical field as defined in the schema.", "type": "string" }, + "querySegment": { + "description": "Identifies the keywords within the search query that match a filter.", + "type": "string" + }, "value": { "description": "The value specified in the numerical constraint.", "format": "double", diff --git a/discoveryengine/v1beta/discoveryengine-gen.go b/discoveryengine/v1beta/discoveryengine-gen.go index 3aab80cd75b..3e6f0c03b83 100644 --- a/discoveryengine/v1beta/discoveryengine-gen.go +++ b/discoveryengine/v1beta/discoveryengine-gen.go @@ -4193,6 +4193,8 @@ type GoogleCloudDiscoveryengineV1alphaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -9414,6 +9416,10 @@ func (s GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponse) Marsh // GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMeta // data: The metadata of a Document. type GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadata struct { + // DataIngestionSource: The data ingestion source of the Document. Allowed + // values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * + // `streaming` Data ingested via Streaming API, e.g., FHIR streaming. + DataIngestionSource string `json:"dataIngestionSource,omitempty"` // LastRefreshedTime: The timestamp of the last time the Document was last // indexed. LastRefreshedTime string `json:"lastRefreshedTime,omitempty"` @@ -9428,15 +9434,15 @@ type GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMe // is not in the TargetSite. // "STATUS_NOT_IN_INDEX" - The Document is not indexed. Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "LastRefreshedTime") to + // ForceSendFields is a list of field names (e.g. "DataIngestionSource") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastRefreshedTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "DataIngestionSource") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -9450,17 +9456,21 @@ func (s GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumen // dataMatcherValue: The value of the matcher that was used to match the // Document. type GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue struct { + // FhirResource: Required. Format: + // projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s + // tore}/fhir/{resource_type}/{fhir_resource_id} + FhirResource string `json:"fhirResource,omitempty"` // Uri: If match by URI, the URI of the Document. Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "FhirResource") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Uri") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "FhirResource") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -10900,6 +10910,8 @@ type GoogleCloudDiscoveryengineV1betaCustomTuningModel struct { // "TRAINING_FAILED" - The model training failed. // "NO_IMPROVEMENT" - The model training finished successfully but metrics // did not improve. + // "INPUT_VALIDATION_FAILED" - Input data validation failed. Model training + // didn't start. ModelState string `json:"modelState,omitempty"` // ModelVersion: The version of the model. ModelVersion int64 `json:"modelVersion,omitempty,string"` @@ -15604,7 +15616,8 @@ type GoogleCloudDiscoveryengineV1betaSearchResponse struct { AppliedControls []string `json:"appliedControls,omitempty"` // AttributionToken: A unique search token. This should be included in the // UserEvent logs resulting from this search, which enables accurate - // attribution of search model performance. + // attribution of search model performance. This also helps to identify a + // request during the customer support scenarios. AttributionToken string `json:"attributionToken,omitempty"` // CorrectedQuery: Contains the spell corrected query, if found. If the spell // correction type is AUTOMATIC, then the search results are based on @@ -15981,6 +15994,9 @@ type GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstan Comparison string `json:"comparison,omitempty"` // FieldName: Name of the numerical field as defined in the schema. FieldName string `json:"fieldName,omitempty"` + // QuerySegment: Identifies the keywords within the search query that match a + // filter. + QuerySegment string `json:"querySegment,omitempty"` // Value: The value specified in the numerical constraint. Value float64 `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Comparison") to @@ -19083,6 +19099,16 @@ func (r *ProjectsLocationsCollectionsDataStoresBranchesService) BatchGetDocument return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsCollectionsDataStoresBranchesBatchGetDocumentsMetadataCall { @@ -32265,6 +32291,16 @@ func (r *ProjectsLocationsDataStoresBranchesService) BatchGetDocumentsMetadata(p return c } +// MatcherFhirMatcherFhirResources sets the optional parameter +// "matcher.fhirMatcher.fhirResources": Required. The FHIR resources to match +// by. Format: +// projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_s +// tore}/fhir/{resource_type}/{fhir_resource_id} +func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherFhirMatcherFhirResources(matcherFhirMatcherFhirResources ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { + c.urlParams_.SetMulti("matcher.fhirMatcher.fhirResources", append([]string{}, matcherFhirMatcherFhirResources...)) + return c +} + // MatcherUrisMatcherUris sets the optional parameter // "matcher.urisMatcher.uris": The exact URIs to match by. func (c *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall) MatcherUrisMatcherUris(matcherUrisMatcherUris ...string) *ProjectsLocationsDataStoresBranchesBatchGetDocumentsMetadataCall { diff --git a/firebaseml/v2beta/firebaseml-api.json b/firebaseml/v2beta/firebaseml-api.json index ab61e736519..ea809698dee 100644 --- a/firebaseml/v2beta/firebaseml-api.json +++ b/firebaseml/v2beta/firebaseml-api.json @@ -206,7 +206,7 @@ } } }, - "revision": "20240813", + "revision": "20240819", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -548,7 +548,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. The function response in JSON object format.", + "description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", "type": "object" } }, @@ -665,6 +665,12 @@ "description": "Usage metadata about response(s).", "id": "GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata", "properties": { + "cachedContentTokenCount": { + "description": "Output only. Number of tokens in the cached part in the input (the cached content).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "candidatesTokenCount": { "description": "Number of tokens in the response(s).", "format": "int32", @@ -676,6 +682,7 @@ "type": "integer" }, "totalTokenCount": { + "description": "Total token count for prompt and response candidates.", "format": "int32", "type": "integer" } diff --git a/firebaseml/v2beta/firebaseml-gen.go b/firebaseml/v2beta/firebaseml-gen.go index bda7c304977..6df9d580346 100644 --- a/firebaseml/v2beta/firebaseml-gen.go +++ b/firebaseml/v2beta/firebaseml-gen.go @@ -639,7 +639,10 @@ type GoogleCloudAiplatformV1beta1FunctionResponse struct { // Name: Required. The name of the function to call. Matches // [FunctionDeclaration.name] and [FunctionCall.name]. Name string `json:"name,omitempty"` - // Response: Required. The function response in JSON object format. + // Response: Required. The function response in JSON object format. Use + // "output" key to specify function output and "error" key to specify error + // details (if any). If "output" and "error" keys are not specified, then whole + // "response" is treated as function output. Response googleapi.RawMessage `json:"response,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 @@ -778,22 +781,26 @@ func (s GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback) Marsh // GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata: Usage // metadata about response(s). type GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata struct { + // CachedContentTokenCount: Output only. Number of tokens in the cached part in + // the input (the cached content). + CachedContentTokenCount int64 `json:"cachedContentTokenCount,omitempty"` // CandidatesTokenCount: Number of tokens in the response(s). CandidatesTokenCount int64 `json:"candidatesTokenCount,omitempty"` // PromptTokenCount: Number of tokens in the request. When `cached_content` is // set, this is still the total effective prompt size meaning this includes the // number of tokens in the cached content. PromptTokenCount int64 `json:"promptTokenCount,omitempty"` - TotalTokenCount int64 `json:"totalTokenCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "CandidatesTokenCount") to + // TotalTokenCount: Total token count for prompt and response candidates. + TotalTokenCount int64 `json:"totalTokenCount,omitempty"` + // ForceSendFields is a list of field names (e.g. "CachedContentTokenCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CandidatesTokenCount") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "CachedContentTokenCount") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } diff --git a/gkehub/v1alpha/gkehub-api.json b/gkehub/v1alpha/gkehub-api.json index 0495bb3bb4a..bdaeb7199a3 100644 --- a/gkehub/v1alpha/gkehub-api.json +++ b/gkehub/v1alpha/gkehub-api.json @@ -2185,7 +2185,7 @@ } } }, - "revision": "20240809", + "revision": "20240815", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2720,7 +2720,7 @@ "type": "object" }, "CommonFeatureSpec": { - "description": "CommonFeatureSpec contains Hub-wide configuration information", + "description": "CommonFeatureSpec contains Fleet-wide configuration information", "id": "CommonFeatureSpec", "properties": { "anthosobservability": { @@ -2763,7 +2763,7 @@ "type": "object" }, "CommonFeatureState": { - "description": "CommonFeatureState contains Hub-wide Feature status information.", + "description": "CommonFeatureState contains Fleet-wide Feature status information.", "id": "CommonFeatureState", "properties": { "appdevexperience": { @@ -2788,7 +2788,7 @@ }, "state": { "$ref": "FeatureState", - "description": "Output only. The \"running state\" of the Feature in this Hub.", + "description": "Output only. The \"running state\" of the Feature in this Fleet.", "readOnly": true } }, @@ -3510,7 +3510,7 @@ }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "description": "Hierarchy Controller configuration for the cluster." + "description": "Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." }, "management": { "description": "Enables automatic Feature management.", @@ -3933,7 +3933,7 @@ "type": "object" }, "Feature": { - "description": "Feature represents the settings and status of any Hub Feature.", + "description": "Feature represents the settings and status of any Fleet Feature.", "id": "Feature", "properties": { "createTime": { @@ -4001,11 +4001,11 @@ }, "spec": { "$ref": "CommonFeatureSpec", - "description": "Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused." + "description": "Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, this field may be unused." }, "state": { "$ref": "CommonFeatureState", - "description": "Output only. The Hub-wide Feature state.", + "description": "Output only. The Fleet-wide Feature state.", "readOnly": true }, "unreachable": { @@ -4026,7 +4026,7 @@ "type": "object" }, "FeatureResourceState": { - "description": "FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the Feature in the Hub and across Memberships.", + "description": "FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the Feature in the Fleet and across Memberships.", "id": "FeatureResourceState", "properties": { "state": { @@ -4041,9 +4041,9 @@ ], "enumDescriptions": [ "State is unknown or not set.", - "The Feature is being enabled, and the Feature resource is being created. Once complete, the corresponding Feature will be enabled in this Hub.", - "The Feature is enabled in this Hub, and the Feature resource is fully available.", - "The Feature is being disabled in this Hub, and the Feature resource is being deleted.", + "The Feature is being enabled, and the Feature resource is being created. Once complete, the corresponding Feature will be enabled in this Fleet.", + "The Feature is enabled in this Fleet, and the Feature resource is fully available.", + "The Feature is being disabled in this Fleet, and the Feature resource is being deleted.", "The Feature resource is being updated.", "The Feature resource is being updated by the Hub Service." ], @@ -5345,7 +5345,7 @@ "type": "object" }, "MembershipFeatureSpec": { - "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "description": "MembershipFeatureSpec contains configuration information for a single Membership.", "id": "MembershipFeatureSpec", "properties": { "anthosobservability": { @@ -6598,6 +6598,7 @@ "enum": [ "CODE_UNSPECIFIED", "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", "CNI_CONFIG_UNSUPPORTED", "GKE_SANDBOX_UNSUPPORTED", "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", @@ -6627,6 +6628,7 @@ "enumDescriptions": [ "Default Unspecified code", "Mesh IAM permission denied error code", + "Permission denied error code for cross-project", "CNI config unsupported error code", "GKE sandbox unsupported error code", "Nodepool workload identity federation required error code", diff --git a/gkehub/v1alpha/gkehub-gen.go b/gkehub/v1alpha/gkehub-gen.go index 5a296bef10e..c51482746e1 100644 --- a/gkehub/v1alpha/gkehub-gen.go +++ b/gkehub/v1alpha/gkehub-gen.go @@ -1153,7 +1153,7 @@ func (s ClusterUpgradeUpgradeStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// CommonFeatureSpec: CommonFeatureSpec contains Hub-wide configuration +// CommonFeatureSpec: CommonFeatureSpec contains Fleet-wide configuration // information type CommonFeatureSpec struct { // Anthosobservability: Anthos Observability spec @@ -1192,7 +1192,7 @@ func (s CommonFeatureSpec) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// CommonFeatureState: CommonFeatureState contains Hub-wide Feature status +// CommonFeatureState: CommonFeatureState contains Fleet-wide Feature status // information. type CommonFeatureState struct { // Appdevexperience: Appdevexperience specific state. @@ -1205,7 +1205,7 @@ type CommonFeatureState struct { Namespaceactuation *NamespaceActuationFeatureState `json:"namespaceactuation,omitempty"` // Servicemesh: Service Mesh-specific state. Servicemesh *ServiceMeshFeatureState `json:"servicemesh,omitempty"` - // State: Output only. The "running state" of the Feature in this Hub. + // State: Output only. The "running state" of the Feature in this Fleet. State *FeatureState `json:"state,omitempty"` // ForceSendFields is a list of field names (e.g. "Appdevexperience") to // unconditionally include in API requests. By default, fields with empty or @@ -1955,6 +1955,9 @@ type ConfigManagementMembershipSpec struct { // ConfigSync: Config Sync configuration for the cluster. ConfigSync *ConfigManagementConfigSync `json:"configSync,omitempty"` // HierarchyController: Hierarchy Controller configuration for the cluster. + // Deprecated: Configuring Hierarchy Controller through the configmanagement + // feature is no longer recommended. Use + // https://github.com/kubernetes-sigs/hierarchical-namespaces instead. HierarchyController *ConfigManagementHierarchyControllerConfig `json:"hierarchyController,omitempty"` // Management: Enables automatic Feature management. // @@ -2491,7 +2494,7 @@ func (s Expr) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// Feature: Feature represents the settings and status of any Hub Feature. +// Feature: Feature represents the settings and status of any Fleet Feature. type Feature struct { // CreateTime: Output only. When the Feature resource was created. CreateTime string `json:"createTime,omitempty"` @@ -2545,10 +2548,10 @@ type Feature struct { // `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is // a valid Scope in this project. {p} WILL match the Feature's project. ScopeStates map[string]ScopeFeatureState `json:"scopeStates,omitempty"` - // Spec: Optional. Hub-wide Feature configuration. If this Feature does not - // support any Hub-wide configuration, this field may be unused. + // Spec: Optional. Fleet-wide Feature configuration. If this Feature does not + // support any Fleet-wide configuration, this field may be unused. Spec *CommonFeatureSpec `json:"spec,omitempty"` - // State: Output only. The Hub-wide Feature state. + // State: Output only. The Fleet-wide Feature state. State *CommonFeatureState `json:"state,omitempty"` // Unreachable: Output only. List of locations that could not be reached while // fetching this feature. @@ -2578,7 +2581,7 @@ func (s Feature) MarshalJSON() ([]byte, error) { // FeatureResourceState: FeatureResourceState describes the state of a Feature // *resource* in the GkeHub API. See `FeatureState` for the "running state" of -// the Feature in the Hub and across Memberships. +// the Feature in the Fleet and across Memberships. type FeatureResourceState struct { // State: The current state of the Feature resource in the Hub API. // @@ -2586,10 +2589,10 @@ type FeatureResourceState struct { // "STATE_UNSPECIFIED" - State is unknown or not set. // "ENABLING" - The Feature is being enabled, and the Feature resource is // being created. Once complete, the corresponding Feature will be enabled in - // this Hub. - // "ACTIVE" - The Feature is enabled in this Hub, and the Feature resource is - // fully available. - // "DISABLING" - The Feature is being disabled in this Hub, and the Feature + // this Fleet. + // "ACTIVE" - The Feature is enabled in this Fleet, and the Feature resource + // is fully available. + // "DISABLING" - The Feature is being disabled in this Fleet, and the Feature // resource is being deleted. // "UPDATING" - The Feature resource is being updated. // "SERVICE_UPDATING" - The Feature resource is being updated by the Hub @@ -4303,8 +4306,7 @@ func (s MembershipEndpoint) MarshalJSON() ([]byte, error) { } // MembershipFeatureSpec: MembershipFeatureSpec contains configuration -// information for a single Membership. NOTE: Please use snake case in your -// feature name. +// information for a single Membership. type MembershipFeatureSpec struct { // Anthosobservability: Anthos Observability-specific spec Anthosobservability *AnthosObservabilityMembershipSpec `json:"anthosobservability,omitempty"` @@ -5891,6 +5893,8 @@ type ServiceMeshCondition struct { // Possible values: // "CODE_UNSPECIFIED" - Default Unspecified code // "MESH_IAM_PERMISSION_DENIED" - Mesh IAM permission denied error code + // "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED" - Permission denied error code + // for cross-project // "CNI_CONFIG_UNSUPPORTED" - CNI config unsupported error code // "GKE_SANDBOX_UNSUPPORTED" - GKE sandbox unsupported error code // "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED" - Nodepool workload diff --git a/go.work.sum b/go.work.sum index 572660cd429..1d126f1e435 100644 --- a/go.work.sum +++ b/go.work.sum @@ -301,7 +301,6 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= @@ -354,6 +353,7 @@ golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= diff --git a/migrationcenter/v1alpha1/migrationcenter-api.json b/migrationcenter/v1alpha1/migrationcenter-api.json index 0877b3ca2d1..f4336eee15b 100644 --- a/migrationcenter/v1alpha1/migrationcenter-api.json +++ b/migrationcenter/v1alpha1/migrationcenter-api.json @@ -1862,6 +1862,81 @@ } } }, + "relations": { + "methods": { + "get": { + "description": "Gets the details of an relation.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/relations/{relationsId}", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.relations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/relations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Relation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the relations in a given project and location.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/relations", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.relations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for `ListRelationsRequest`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/relations", + "response": { + "$ref": "ListRelationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "reportConfigs": { "methods": { "create": { @@ -2473,7 +2548,7 @@ } } }, - "revision": "20240808", + "revision": "20240815", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -3048,6 +3123,13 @@ "description": "Optional. When this value is set to `true` the request is a no-op for non-existing assets. See https://google.aip.dev/135#delete-if-existing for additional details. Default value is `false`.", "type": "boolean" }, + "cascadingRules": { + "description": "Optional. Optional cascading rules for deleting related assets.", + "items": { + "$ref": "CascadingRule" + }, + "type": "array" + }, "names": { "description": "Required. The IDs of the assets to delete. A maximum of 1000 assets can be deleted in a batch. Format: projects/{project}/locations/{location}/assets/{name}.", "items": { @@ -3119,6 +3201,23 @@ "properties": {}, "type": "object" }, + "CascadeLogicalDBsRule": { + "description": "Cascading rule for related logical DBs.", + "id": "CascadeLogicalDBsRule", + "properties": {}, + "type": "object" + }, + "CascadingRule": { + "description": "Specifies cascading rules for traversing relations.", + "id": "CascadingRule", + "properties": { + "cascadeLogicalDbs": { + "$ref": "CascadeLogicalDBsRule", + "description": "Cascading rule for related logical DBs." + } + }, + "type": "object" + }, "CloudDatabaseMigrationTarget": { "description": "Cloud database migration target.", "id": "CloudDatabaseMigrationTarget", @@ -5659,6 +5758,24 @@ }, "type": "object" }, + "ListRelationsResponse": { + "description": "Response message for listing relations.", + "id": "ListRelationsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "relations": { + "description": "A list of relations.", + "items": { + "$ref": "Relation" + }, + "type": "array" + } + }, + "type": "object" + }, "ListReportConfigsResponse": { "description": "Response message for listing report configs.", "id": "ListReportConfigsResponse", @@ -6641,6 +6758,48 @@ }, "type": "object" }, + "Relation": { + "description": "Message representing a relation between 2 resource.", + "id": "Relation", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the relation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dstAsset": { + "description": "Output only. The destination asset name in the relation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The identifier of the relation.", + "readOnly": true, + "type": "string" + }, + "srcAsset": { + "description": "Output only. The source asset name in the relation.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Optional. The type of the relation.", + "enum": [ + "TYPE_UNSPECIFIED", + "LOGICAL_DATABASE", + "DATABASE_DEPLOYMENT_HOSTING_SERVER" + ], + "enumDescriptions": [ + "Default value.", + "DBDeployment -\u003e Database", + "A relation between a machine/VM and the database deployment it hosts." + ], + "type": "string" + } + }, + "type": "object" + }, "RemoveAssetsFromGroupRequest": { "description": "A request to remove assets from a group.", "id": "RemoveAssetsFromGroupRequest", diff --git a/migrationcenter/v1alpha1/migrationcenter-gen.go b/migrationcenter/v1alpha1/migrationcenter-gen.go index 47bcd324863..5bd304f0b35 100644 --- a/migrationcenter/v1alpha1/migrationcenter-gen.go +++ b/migrationcenter/v1alpha1/migrationcenter-gen.go @@ -175,6 +175,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.ImportJobs = NewProjectsLocationsImportJobsService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.PreferenceSets = NewProjectsLocationsPreferenceSetsService(s) + rs.Relations = NewProjectsLocationsRelationsService(s) rs.ReportConfigs = NewProjectsLocationsReportConfigsService(s) rs.Sources = NewProjectsLocationsSourcesService(s) return rs @@ -197,6 +198,8 @@ type ProjectsLocationsService struct { PreferenceSets *ProjectsLocationsPreferenceSetsService + Relations *ProjectsLocationsRelationsService + ReportConfigs *ProjectsLocationsReportConfigsService Sources *ProjectsLocationsSourcesService @@ -277,6 +280,15 @@ type ProjectsLocationsPreferenceSetsService struct { s *Service } +func NewProjectsLocationsRelationsService(s *Service) *ProjectsLocationsRelationsService { + rs := &ProjectsLocationsRelationsService{s: s} + return rs +} + +type ProjectsLocationsRelationsService struct { + s *Service +} + func NewProjectsLocationsReportConfigsService(s *Service) *ProjectsLocationsReportConfigsService { rs := &ProjectsLocationsReportConfigsService{s: s} rs.Reports = NewProjectsLocationsReportConfigsReportsService(s) @@ -1039,6 +1051,9 @@ type BatchDeleteAssetsRequest struct { // https://google.aip.dev/135#delete-if-existing for additional details. // Default value is `false`. AllowMissing bool `json:"allowMissing,omitempty"` + // CascadingRules: Optional. Optional cascading rules for deleting related + // assets. + CascadingRules []*CascadingRule `json:"cascadingRules,omitempty"` // Names: Required. The IDs of the assets to delete. A maximum of 1000 assets // can be deleted in a batch. Format: // projects/{project}/locations/{location}/assets/{name}. @@ -1144,6 +1159,32 @@ func (s BiosDetails) MarshalJSON() ([]byte, error) { type CancelOperationRequest struct { } +// CascadeLogicalDBsRule: Cascading rule for related logical DBs. +type CascadeLogicalDBsRule struct { +} + +// CascadingRule: Specifies cascading rules for traversing relations. +type CascadingRule struct { + // CascadeLogicalDbs: Cascading rule for related logical DBs. + CascadeLogicalDbs *CascadeLogicalDBsRule `json:"cascadeLogicalDbs,omitempty"` + // ForceSendFields is a list of field names (e.g. "CascadeLogicalDbs") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CascadeLogicalDbs") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CascadingRule) MarshalJSON() ([]byte, error) { + type NoMethod CascadingRule + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CloudDatabaseMigrationTarget: Cloud database migration target. type CloudDatabaseMigrationTarget struct { // CloudSqlForMysqlShape: Cloud SQL for MySQL database shape. @@ -3934,6 +3975,34 @@ func (s ListPreferenceSetsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ListRelationsResponse: Response message for listing relations. +type ListRelationsResponse struct { + // NextPageToken: A token identifying a page of results the server should + // return. + NextPageToken string `json:"nextPageToken,omitempty"` + // Relations: A list of relations. + Relations []*Relation `json:"relations,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListRelationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListRelationsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ListReportConfigsResponse: Response message for listing report configs. type ListReportConfigsResponse struct { // NextPageToken: A token identifying a page of results the server should @@ -5168,6 +5237,45 @@ func (s RegionPreferences) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// Relation: Message representing a relation between 2 resource. +type Relation struct { + // CreateTime: Output only. The timestamp when the relation was created. + CreateTime string `json:"createTime,omitempty"` + // DstAsset: Output only. The destination asset name in the relation. + DstAsset string `json:"dstAsset,omitempty"` + // Name: Output only. Identifier. The identifier of the relation. + Name string `json:"name,omitempty"` + // SrcAsset: Output only. The source asset name in the relation. + SrcAsset string `json:"srcAsset,omitempty"` + // Type: Optional. The type of the relation. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Default value. + // "LOGICAL_DATABASE" - DBDeployment -> Database + // "DATABASE_DEPLOYMENT_HOSTING_SERVER" - A relation between a machine/VM and + // the database deployment it hosts. + Type string `json:"type,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Relation) MarshalJSON() ([]byte, error) { + type NoMethod Relation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RemoveAssetsFromGroupRequest: A request to remove assets from a group. type RemoveAssetsFromGroupRequest struct { // AllowMissing: Optional. When this value is set to `false` and one of the @@ -13376,6 +13484,270 @@ func (c *ProjectsLocationsPreferenceSetsPatchCall) Do(opts ...googleapi.CallOpti return ret, nil } +type ProjectsLocationsRelationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the details of an relation. +// +// - name: Name of the resource. +func (r *ProjectsLocationsRelationsService) Get(name string) *ProjectsLocationsRelationsGetCall { + c := &ProjectsLocationsRelationsGetCall{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 +// details. +func (c *ProjectsLocationsRelationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRelationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRelationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRelationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRelationsGetCall) Context(ctx context.Context) *ProjectsLocationsRelationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRelationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRelationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+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 "migrationcenter.projects.locations.relations.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Relation.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 *ProjectsLocationsRelationsGetCall) Do(opts ...googleapi.CallOption) (*Relation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Relation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRelationsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the relations in a given project and location. +// +// - parent: Parent value for `ListRelationsRequest`. +func (r *ProjectsLocationsRelationsService) List(parent string) *ProjectsLocationsRelationsListCall { + c := &ProjectsLocationsRelationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Filtering results. +func (c *ProjectsLocationsRelationsListCall) Filter(filter string) *ProjectsLocationsRelationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Field to sort by. See +// https://google.aip.dev/132#ordering for more details. +func (c *ProjectsLocationsRelationsListCall) OrderBy(orderBy string) *ProjectsLocationsRelationsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. Server +// may return fewer items than requested. If unspecified, server will pick an +// appropriate default. +func (c *ProjectsLocationsRelationsListCall) PageSize(pageSize int64) *ProjectsLocationsRelationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token identifying a +// page of results the server should return. +func (c *ProjectsLocationsRelationsListCall) PageToken(pageToken string) *ProjectsLocationsRelationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRelationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRelationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRelationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRelationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRelationsListCall) Context(ctx context.Context) *ProjectsLocationsRelationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRelationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRelationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+parent}/relations") + 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 "migrationcenter.projects.locations.relations.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListRelationsResponse.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 *ProjectsLocationsRelationsListCall) Do(opts ...googleapi.CallOption) (*ListRelationsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListRelationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsRelationsListCall) Pages(ctx context.Context, f func(*ListRelationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + type ProjectsLocationsReportConfigsCreateCall struct { s *Service parent string diff --git a/monitoring/v3/monitoring-api.json b/monitoring/v3/monitoring-api.json index d4a34da304f..9516ccabac5 100644 --- a/monitoring/v3/monitoring-api.json +++ b/monitoring/v3/monitoring-api.json @@ -2113,6 +2113,7 @@ ] }, "query": { + "deprecated": true, "description": "Queries time series using Monitoring Query Language.", "flatPath": "v3/projects/{projectsId}/timeSeries:query", "httpMethod": "POST", @@ -2714,7 +2715,7 @@ } } }, - "revision": "20240804", + "revision": "20240818", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -5195,6 +5196,7 @@ "type": "object" }, "QueryTimeSeriesRequest": { + "deprecated": true, "description": "The QueryTimeSeries request.", "id": "QueryTimeSeriesRequest", "properties": { @@ -5215,6 +5217,7 @@ "type": "object" }, "QueryTimeSeriesResponse": { + "deprecated": true, "description": "The QueryTimeSeries response.", "id": "QueryTimeSeriesResponse", "properties": { diff --git a/servicenetworking/v1/servicenetworking-api.json b/servicenetworking/v1/servicenetworking-api.json index 5249f3a86ad..e0a93fd785e 100644 --- a/servicenetworking/v1/servicenetworking-api.json +++ b/servicenetworking/v1/servicenetworking-api.json @@ -1029,7 +1029,7 @@ } } }, - "revision": "20240716", + "revision": "20240820", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1211,6 +1211,10 @@ }, "type": "array" }, + "skipRequestedAddressValidation": { + "description": "Optional. Skips validating if the requested_address is in use by SN VPC’s peering group. Compute Engine will still perform this check and fail the request if the requested_address is in use. Note that Compute Engine does not check for the existence of dynamic routes when performing this check. Caller of this API should make sure that there are no dynamic routes overlapping with the requested_address/prefix_length IP address range otherwise the created subnet could cause misrouting.", + "type": "boolean" + }, "subnetwork": { "description": "Required. A name for the new subnet. For information about the naming requirements, see [subnetwork](/compute/docs/reference/rest/v1/subnetworks) in the Compute API documentation.", "type": "string" @@ -3219,7 +3223,7 @@ "type": "string" }, "role": { - "description": "Required. Role to apply. Only allowlisted roles can be used at the specified granularity. The role must be one of the following: - 'roles/container.hostServiceAgentUser' applied on the shared VPC host project - 'roles/compute.securityAdmin' applied on the shared VPC host project - 'roles/compute.networkAdmin' applied on the shared VPC host project - 'roles/compute.xpnAdmin' applied on the shared VPC host project - 'roles/dns.admin' applied on the shared VPC host project - 'roles/logging.admin' applied on the shared VPC host project", + "description": "Required. Role to apply. Only allowlisted roles can be used at the specified granularity. The role must be one of the following: - 'roles/container.hostServiceAgentUser' applied on the shared VPC host project - 'roles/compute.securityAdmin' applied on the shared VPC host project - 'roles/compute.networkAdmin' applied on the shared VPC host project - 'roles/tpu.xpnAgent' applied on the shared VPC host project - 'roles/dns.admin' applied on the shared VPC host project - 'roles/logging.admin' applied on the shared VPC host project - 'roles/monitoring.viewer' applied on the shared VPC host project", "type": "string" } }, diff --git a/servicenetworking/v1/servicenetworking-gen.go b/servicenetworking/v1/servicenetworking-gen.go index 282a20fb4d1..025b3eaf413 100644 --- a/servicenetworking/v1/servicenetworking-gen.go +++ b/servicenetworking/v1/servicenetworking-gen.go @@ -542,6 +542,15 @@ type AddSubnetworkRequest struct { // SecondaryIpRangeSpecs: Optional. A list of secondary IP ranges to be created // within the new subnetwork. SecondaryIpRangeSpecs []*SecondaryIpRangeSpec `json:"secondaryIpRangeSpecs,omitempty"` + // SkipRequestedAddressValidation: Optional. Skips validating if the + // requested_address is in use by SN VPC’s peering group. Compute Engine will + // still perform this check and fail the request if the requested_address is in + // use. Note that Compute Engine does not check for the existence of dynamic + // routes when performing this check. Caller of this API should make sure that + // there are no dynamic routes overlapping with the + // requested_address/prefix_length IP address range otherwise the created + // subnet could cause misrouting. + SkipRequestedAddressValidation bool `json:"skipRequestedAddressValidation,omitempty"` // Subnetwork: Required. A name for the new subnet. For information about the // naming requirements, see subnetwork // (/compute/docs/reference/rest/v1/subnetworks) in the Compute API @@ -3658,9 +3667,10 @@ type PolicyBinding struct { // 'roles/container.hostServiceAgentUser' applied on the shared VPC host // project - 'roles/compute.securityAdmin' applied on the shared VPC host // project - 'roles/compute.networkAdmin' applied on the shared VPC host - // project - 'roles/compute.xpnAdmin' applied on the shared VPC host project - + // project - 'roles/tpu.xpnAgent' applied on the shared VPC host project - // 'roles/dns.admin' applied on the shared VPC host project - - // 'roles/logging.admin' applied on the shared VPC host project + // 'roles/logging.admin' applied on the shared VPC host project - + // 'roles/monitoring.viewer' applied on the shared VPC host project Role string `json:"role,omitempty"` // ForceSendFields is a list of field names (e.g. "Member") to unconditionally // include in API requests. By default, fields with empty or default values are diff --git a/servicenetworking/v1beta/servicenetworking-api.json b/servicenetworking/v1beta/servicenetworking-api.json index 14b899f551c..662735d9f45 100644 --- a/servicenetworking/v1beta/servicenetworking-api.json +++ b/servicenetworking/v1beta/servicenetworking-api.json @@ -307,7 +307,7 @@ } } }, - "revision": "20240716", + "revision": "20240820", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -2243,7 +2243,7 @@ "type": "string" }, "role": { - "description": "Required. Role to apply. Only allowlisted roles can be used at the specified granularity. The role must be one of the following: - 'roles/container.hostServiceAgentUser' applied on the shared VPC host project - 'roles/compute.securityAdmin' applied on the shared VPC host project - 'roles/compute.networkAdmin' applied on the shared VPC host project - 'roles/compute.xpnAdmin' applied on the shared VPC host project - 'roles/dns.admin' applied on the shared VPC host project - 'roles/logging.admin' applied on the shared VPC host project", + "description": "Required. Role to apply. Only allowlisted roles can be used at the specified granularity. The role must be one of the following: - 'roles/container.hostServiceAgentUser' applied on the shared VPC host project - 'roles/compute.securityAdmin' applied on the shared VPC host project - 'roles/compute.networkAdmin' applied on the shared VPC host project - 'roles/tpu.xpnAgent' applied on the shared VPC host project - 'roles/dns.admin' applied on the shared VPC host project - 'roles/logging.admin' applied on the shared VPC host project - 'roles/monitoring.viewer' applied on the shared VPC host project", "type": "string" } }, diff --git a/servicenetworking/v1beta/servicenetworking-gen.go b/servicenetworking/v1beta/servicenetworking-gen.go index 47a1bff9827..511b037599a 100644 --- a/servicenetworking/v1beta/servicenetworking-gen.go +++ b/servicenetworking/v1beta/servicenetworking-gen.go @@ -3119,9 +3119,10 @@ type PolicyBinding struct { // 'roles/container.hostServiceAgentUser' applied on the shared VPC host // project - 'roles/compute.securityAdmin' applied on the shared VPC host // project - 'roles/compute.networkAdmin' applied on the shared VPC host - // project - 'roles/compute.xpnAdmin' applied on the shared VPC host project - + // project - 'roles/tpu.xpnAgent' applied on the shared VPC host project - // 'roles/dns.admin' applied on the shared VPC host project - - // 'roles/logging.admin' applied on the shared VPC host project + // 'roles/logging.admin' applied on the shared VPC host project - + // 'roles/monitoring.viewer' applied on the shared VPC host project Role string `json:"role,omitempty"` // ForceSendFields is a list of field names (e.g. "Member") to unconditionally // include in API requests. By default, fields with empty or default values are diff --git a/solar/v1/solar-api.json b/solar/v1/solar-api.json index 207a4c5827d..66406cf9b50 100644 --- a/solar/v1/solar-api.json +++ b/solar/v1/solar-api.json @@ -114,6 +114,20 @@ "id": "solar.buildingInsights.findClosest", "parameterOrder": [], "parameters": { + "experiments": { + "description": "Optional. Specifies the pre-GA features to enable.", + "enum": [ + "EXPERIMENT_UNSPECIFIED", + "EXPANDED_COVERAGE" + ], + "enumDescriptions": [ + "No experiments are specified.", + "Expands the geographic region available for querying solar data." + ], + "location": "query", + "repeated": true, + "type": "string" + }, "location.latitude": { "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", "format": "double", @@ -132,12 +146,14 @@ "IMAGERY_QUALITY_UNSPECIFIED", "HIGH", "MEDIUM", - "LOW" + "LOW", + "BASE" ], "enumDescriptions": [ "No quality is known.", "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "location": "query", @@ -168,6 +184,20 @@ "location": "query", "type": "boolean" }, + "experiments": { + "description": "Optional. Specifies the pre-GA experiments to enable.", + "enum": [ + "EXPERIMENT_UNSPECIFIED", + "EXPANDED_COVERAGE" + ], + "enumDescriptions": [ + "No experiments are specified.", + "Expands the geographic region available for querying solar data." + ], + "location": "query", + "repeated": true, + "type": "string" + }, "location.latitude": { "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", "format": "double", @@ -198,12 +228,14 @@ "IMAGERY_QUALITY_UNSPECIFIED", "HIGH", "MEDIUM", - "LOW" + "LOW", + "BASE" ], "enumDescriptions": [ "No quality is known.", "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "location": "query", @@ -267,7 +299,7 @@ } } }, - "revision": "20240630", + "revision": "20240820", "rootUrl": "https://solar.googleapis.com/", "schemas": { "BuildingInsights": { @@ -300,12 +332,14 @@ "IMAGERY_QUALITY_UNSPECIFIED", "HIGH", "MEDIUM", - "LOW" + "LOW", + "BASE" ], "enumDescriptions": [ "No quality is known.", "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "type": "string" @@ -394,12 +428,14 @@ "IMAGERY_QUALITY_UNSPECIFIED", "HIGH", "MEDIUM", - "LOW" + "LOW", + "BASE" ], "enumDescriptions": [ "No quality is known.", "Solar data is derived from aerial imagery captured at low-altitude and processed at 0.1 m/pixel.", "Solar data is derived from enhanced aerial imagery captured at high-altitude and processed at 0.25 m/pixel.", + "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel.", "Solar data is derived from enhanced satellite imagery processed at 0.25 m/pixel." ], "type": "string" diff --git a/solar/v1/solar-gen.go b/solar/v1/solar-gen.go index bcfdec3baab..de20ebe0340 100644 --- a/solar/v1/solar-gen.go +++ b/solar/v1/solar-gen.go @@ -215,6 +215,8 @@ type BuildingInsights struct { // high-altitude and processed at 0.25 m/pixel. // "LOW" - Solar data is derived from enhanced satellite imagery processed at // 0.25 m/pixel. + // "BASE" - Solar data is derived from enhanced satellite imagery processed + // at 0.25 m/pixel. ImageryQuality string `json:"imageryQuality,omitempty"` // Name: The resource name for the building, of the format `building/`. Name string `json:"name,omitempty"` @@ -359,6 +361,8 @@ type DataLayers struct { // high-altitude and processed at 0.25 m/pixel. // "LOW" - Solar data is derived from enhanced satellite imagery processed at // 0.25 m/pixel. + // "BASE" - Solar data is derived from enhanced satellite imagery processed + // at 0.25 m/pixel. ImageryQuality string `json:"imageryQuality,omitempty"` // MaskUrl: The URL for the building mask image: one bit per pixel saying // whether that pixel is considered to be part of a rooftop or not. @@ -1210,6 +1214,20 @@ func (r *BuildingInsightsService) FindClosest() *BuildingInsightsFindClosestCall return c } +// Experiments sets the optional parameter "experiments": Specifies the pre-GA +// features to enable. +// +// Possible values: +// +// "EXPERIMENT_UNSPECIFIED" - No experiments are specified. +// "EXPANDED_COVERAGE" - Expands the geographic region available for querying +// +// solar data. +func (c *BuildingInsightsFindClosestCall) Experiments(experiments ...string) *BuildingInsightsFindClosestCall { + c.urlParams_.SetMulti("experiments", append([]string{}, experiments...)) + return c +} + // LocationLatitude sets the optional parameter "location.latitude": The // latitude in degrees. It must be in the range [-90.0, +90.0]. func (c *BuildingInsightsFindClosestCall) LocationLatitude(locationLatitude float64) *BuildingInsightsFindClosestCall { @@ -1243,6 +1261,10 @@ func (c *BuildingInsightsFindClosestCall) LocationLongitude(locationLongitude fl // "LOW" - Solar data is derived from enhanced satellite imagery processed at // // 0.25 m/pixel. +// +// "BASE" - Solar data is derived from enhanced satellite imagery processed +// +// at 0.25 m/pixel. func (c *BuildingInsightsFindClosestCall) RequiredQuality(requiredQuality string) *BuildingInsightsFindClosestCall { c.urlParams_.Set("requiredQuality", requiredQuality) return c @@ -1362,6 +1384,20 @@ func (c *DataLayersGetCall) ExactQualityRequired(exactQualityRequired bool) *Dat return c } +// Experiments sets the optional parameter "experiments": Specifies the pre-GA +// experiments to enable. +// +// Possible values: +// +// "EXPERIMENT_UNSPECIFIED" - No experiments are specified. +// "EXPANDED_COVERAGE" - Expands the geographic region available for querying +// +// solar data. +func (c *DataLayersGetCall) Experiments(experiments ...string) *DataLayersGetCall { + c.urlParams_.SetMulti("experiments", append([]string{}, experiments...)) + return c +} + // LocationLatitude sets the optional parameter "location.latitude": The // latitude in degrees. It must be in the range [-90.0, +90.0]. func (c *DataLayersGetCall) LocationLatitude(locationLatitude float64) *DataLayersGetCall { @@ -1420,6 +1456,10 @@ func (c *DataLayersGetCall) RadiusMeters(radiusMeters float64) *DataLayersGetCal // "LOW" - Solar data is derived from enhanced satellite imagery processed at // // 0.25 m/pixel. +// +// "BASE" - Solar data is derived from enhanced satellite imagery processed +// +// at 0.25 m/pixel. func (c *DataLayersGetCall) RequiredQuality(requiredQuality string) *DataLayersGetCall { c.urlParams_.Set("requiredQuality", requiredQuality) return c diff --git a/texttospeech/v1/texttospeech-api.json b/texttospeech/v1/texttospeech-api.json index c660a0a1fbe..3cb22a33b26 100644 --- a/texttospeech/v1/texttospeech-api.json +++ b/texttospeech/v1/texttospeech-api.json @@ -318,7 +318,7 @@ } } }, - "revision": "20240419", + "revision": "20240815", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -578,7 +578,7 @@ }, "input": { "$ref": "SynthesisInput", - "description": "Required. The Synthesizer requires either plain text or SSML as input. While Long Audio is in preview, SSML is temporarily unsupported." + "description": "Required. The Synthesizer requires either plain text or SSML as input." }, "outputGcsUri": { "description": "Required. Specifies a Cloud Storage URI for the synthesis results. Must be specified in the format: `gs://bucket_name/object_name`, and the bucket must already exist.", diff --git a/texttospeech/v1/texttospeech-gen.go b/texttospeech/v1/texttospeech-gen.go index dcfae96ce8b..ce92a981701 100644 --- a/texttospeech/v1/texttospeech-gen.go +++ b/texttospeech/v1/texttospeech-gen.go @@ -614,7 +614,7 @@ type SynthesizeLongAudioRequest struct { // AudioConfig: Required. The configuration of the synthesized audio. AudioConfig *AudioConfig `json:"audioConfig,omitempty"` // Input: Required. The Synthesizer requires either plain text or SSML as - // input. While Long Audio is in preview, SSML is temporarily unsupported. + // input. Input *SynthesisInput `json:"input,omitempty"` // OutputGcsUri: Required. Specifies a Cloud Storage URI for the synthesis // results. Must be specified in the format: `gs://bucket_name/object_name`, diff --git a/texttospeech/v1beta1/texttospeech-api.json b/texttospeech/v1beta1/texttospeech-api.json index bc73be742d5..27e3af57b4a 100644 --- a/texttospeech/v1beta1/texttospeech-api.json +++ b/texttospeech/v1beta1/texttospeech-api.json @@ -261,7 +261,7 @@ } } }, - "revision": "20240419", + "revision": "20240815", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -511,7 +511,7 @@ }, "input": { "$ref": "SynthesisInput", - "description": "Required. The Synthesizer requires either plain text or SSML as input. While Long Audio is in preview, SSML is temporarily unsupported." + "description": "Required. The Synthesizer requires either plain text or SSML as input." }, "outputGcsUri": { "description": "Required. Specifies a Cloud Storage URI for the synthesis results. Must be specified in the format: `gs://bucket_name/object_name`, and the bucket must already exist.", diff --git a/texttospeech/v1beta1/texttospeech-gen.go b/texttospeech/v1beta1/texttospeech-gen.go index 1d6c0903ba5..bb7b44eaa8f 100644 --- a/texttospeech/v1beta1/texttospeech-gen.go +++ b/texttospeech/v1beta1/texttospeech-gen.go @@ -590,7 +590,7 @@ type SynthesizeLongAudioRequest struct { // AudioConfig: Required. The configuration of the synthesized audio. AudioConfig *AudioConfig `json:"audioConfig,omitempty"` // Input: Required. The Synthesizer requires either plain text or SSML as - // input. While Long Audio is in preview, SSML is temporarily unsupported. + // input. Input *SynthesisInput `json:"input,omitempty"` // OutputGcsUri: Required. Specifies a Cloud Storage URI for the synthesis // results. Must be specified in the format: `gs://bucket_name/object_name`, diff --git a/workflows/v1/workflows-api.json b/workflows/v1/workflows-api.json index 6b0fbe3846d..0c7cf710d47 100644 --- a/workflows/v1/workflows-api.json +++ b/workflows/v1/workflows-api.json @@ -485,7 +485,7 @@ } } }, - "revision": "20240710", + "revision": "20240814", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { @@ -776,6 +776,20 @@ "description": "Description of the workflow provided by the user. Must be at most 1000 Unicode characters long. This is a workflow-wide field and is not tied to a specific revision.", "type": "string" }, + "executionHistoryLevel": { + "description": "Optional. Describes the level of the execution history feature to apply to this workflow.", + "enum": [ + "EXECUTION_HISTORY_LEVEL_UNSPECIFIED", + "EXECUTION_HISTORY_BASIC", + "EXECUTION_HISTORY_DETAILED" + ], + "enumDescriptions": [ + "The default/unset value.", + "Enable execution history basic feature.", + "Enable execution history detailed feature." + ], + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" diff --git a/workflows/v1/workflows-gen.go b/workflows/v1/workflows-gen.go index 3e6d6fb42a5..a49eb3a4ff6 100644 --- a/workflows/v1/workflows-gen.go +++ b/workflows/v1/workflows-gen.go @@ -541,6 +541,14 @@ type Workflow struct { // most 1000 Unicode characters long. This is a workflow-wide field and is not // tied to a specific revision. Description string `json:"description,omitempty"` + // ExecutionHistoryLevel: Optional. Describes the level of the execution + // history feature to apply to this workflow. + // + // Possible values: + // "EXECUTION_HISTORY_LEVEL_UNSPECIFIED" - The default/unset value. + // "EXECUTION_HISTORY_BASIC" - Enable execution history basic feature. + // "EXECUTION_HISTORY_DETAILED" - Enable execution history detailed feature. + ExecutionHistoryLevel string `json:"executionHistoryLevel,omitempty"` // Labels: Labels associated with this workflow. Labels can contain at most 64 // entries. Keys and values can be no longer than 63 characters and can only // contain lowercase letters, numeric characters, underscores, and dashes.